Saturday, May 12, 2012

Cost of Qulaity

Cost of Quality =Prevention Cost + Appraisal Cost + Failure Cost



Prevention Cost – Quality Planning,Invesment in quality related information systems (Arise from efforts to keep defect at all)


Apprisal Cost - Actual Testing , Inspection,Quality Audits,Field testing, Accepatace testing (Detecting Defects )

Failure Cost –

Internal Failure cost (defect caught internally ) Rework,Scarp

External Failure cost (defect reaches customers) Complains in warranty ,Product Service ,Product Liability

Checklist for Web applications


1.Web Application - Functional Testing Checklist

Links

1.Check that the link takes you to the page it said it would.
2.Check all referenced web sites or email addresses are hyper linked
3.Check all mail to links and whether it reaches properly
4.If we have removed some of the pages from our own site, set up a custom 404 page that redirects your visitors to your home page (or a search page) when the user try to access a page that no longer exists


Data Integration


1.Check the maximum field lengths to ensure that there are no truncated characters?
2.If a particular set of data is saved to the database check that each value gets saved fully to the database. (i.e.) Beware of truncation (of strings) and rounding of numeric values.

Date Field checks


1. Assure that leap years are validated correctly & do not cause errors/miscalculations.
2 .Assure that Feb. 28, 29, 30 are validated correctly & do not cause errors/ miscalculations

Numeric Fields


1.empty string, if possible
2.0
3.in range positive, small and large
4.in range negative, small and large
5.out of range positive
6.out of range negative
7.with leading zeros
8.syntactically invalid (e.g., includes letters)

Alpha Numeric


1.Use blank and non-blank data.
2.Include lowest and highest values.
3.Include invalid characters & symbols.
4.Include valid characters.
5.Include data items with first position blank.
6.Include data items with last position blank.

2.Web Application UI Checklist


Testing user interface for web application is slightly different from testing user interface of traditional applications. Irrespective of the web application there are certain things which should be tested for every web application. Following checklist will give some information on items that should be tested to ensure quality of the user interface of your web application.

Colors


1.check all the hyper link colors are standard
2.Does the site use (approximately) standard link colors?
3.Is the general screen background the correct color?
4.Are all the buttons are in standard format and size?

Content


1.All fonts to be the same
2.Does content remain if you need to go back to a previous page, or if you move forward to another new page?
3.Is all text properly aligned
4.Is the text in all fields specified in the correct screen font
5.Is all the heading are left aligned
6.Does the first letter of the second word appears in lowercase

Images


1.Are all graphics properly aligned
2.Are graphics being used the most efficient use of file size
3.Are graphics optimized for quick downloads
4.Banner style & size & display exact same as specified
5.Does text wrap properly around pictures/graphics
6.Is it visually consistent even without graphics

Instructions


1.Is all the error message text spelt correctly on this screen
2.Is all the micro-help text(i.e tool tip) spelt correctly on this screen
3.Microhelp text (i.e tool tip) for every enabled field & button

Navigation


1.Are all disabled fields avoided in the TAB sequence
2.Are all read-only fields avoided in the TAB sequence
3.Does a scrollbar appear if required
4.Does the Tab Order specified on the screen go in sequence from Top Left to bottom right? This is the default unless otherwise specified.
5.Is there a link to home on every single page?
6.On open of tab focus will be on first editable field
7.When an error message occurs does the focus return to the field in error when the user cancels it

Usability


1.Are all the field prompts spelt correctly
2.Are fonts too large or too small to read
3.Are names in command button & option box names are not abbreviations.
4.Can the typical user run the system without frustration
5.Do pages print legibly without cutting off text?
6.Does the site convey a clear sense of its intended audience?
7.Does the site have a consistent, clearly recognizable "look-&-feel"
8.Does the system provide or facilitate customer service? i.e. responsive, helpful, accurate
9.Is all terminology understandable for all of the site’s intended users

3.GUI Testing Checklist


Compliance for each window in the application


1.Window caption for every application should have application name and window name. Specially, error messages.
2.Title of the window and information should make sense to the user.
3.If screen has control menu, use the entire control menu like move, close, resize etc.
4Text present should be checked for spelling and grammar.
5.If tab navigation is present, TAB should move focus in forward direction and SHIFT+TAB in backward direction.
6.Tab order should be left to right and top to bottom within a group box.
7.If focus is present on any control, it should be presented by dotting lines around it.
8.User should not be able to select greyed or disabled control. Try this using tab as well as mouse.
9.Text should be left justified
10.In general, all the operations should have corresponding key board shortcut key for this.
11.All tab buttons should have distinct letter for it

Text boxes


1.Move mouse to text box and it should be changed to insert bar for editable text field and should remain unchanged for non-editable text field.
2.Test overflowing text box by inserting as many characters as you can in the text field. Also test width of the text field by entering all capital W.
3.Enter invalid characters, special characters and make sure that there is no abnormality.
4.User should be able to select text using Shift + arrow keys. Selection should be possible using mouse and double click should select entire text in the text box.

Radio Buttons


1.Only one should be selected from the given option.
2.User should be able to select any button using mouse or key board
3.Arrow key should set/unset the radio buttons

Check boxes


1.User should be able to select any combination of check boxes
2.Clicking mouse on the box should set/unset the check box.
3.Space bar should also do the same

Push Buttons


1.All buttons except OK/Cancel should have a letter access to them. This is indicated by a letter underlined in the button text. The button should be activated by pressing ALT
2.Clicking each button with mouse should activate it and trigger required action.
3.Similarly, after giving focus SPACE or RETURN button should also do the same.
4.If there is any Cancel button on the screen, pressing Esc should activate it.

Drop down list boxes/Combo/List box


1.Pressing the arrow should give list of options available to the user. List can be scrollable but user should not be able to type in.
2.Pressing Ctrl-F4 should open the list box.
3.Pressing a letter should bring the first item in the list starting with the same letter.
4.Items should be in alphabetical order in any list.
5.Selected item should be displayed on the list.
6.There should be only one blank space in the drop down list.

4.Checklist for Browser Compatibility

Browser
1.Is the HTML version being used compatible with appropriate browser versions?
2.Do images display correctly with browsers under test?
3.Verify the fonts are usable on any of the browsers
4.Is Java Code/Scripts usable by the browsers under test?
5.Have you tested Animated GIFs across browsers?

Video Settings


1.Screen resolution (check that text and graphic alignment still work, font are readable etc.) like 1024 by 768, 600x800, 640 x 480 pixels etc
2.Color depth (256, 16-bit, 32-bit)

Connection Speed
1.Does the site load quickly enough in the viewer's browser within 8 Seconds?

Printers


1.Text and image alignment
2.Colors of text, foreground and background
3.Scalability to fit paper size
4.Tables and borders
5.Do pages print legibly without cutting off text

5.Checklist for Security Testing


1.Does the site prompt for user name and password?
2.Are concurrent log-ons permitted?
3.Have you verified where encryption begins and ends?
4. Are there Digital Certificates, both at server and client?
5.Does the application include time-outs due to inactivity?
6.Is bookmarking disabled on secure pages?
7. Does the key/lock display on status bar for insecure/secure pages?
8.Is Right Click, View, Source disabled?
9.Are you prevented from doing direct searches by editing content in the URL?
10.Do your users know when they are entering or leaving secure portions of your site?
11.Does your server lock out an individual who has tried to access your site multiple times with invalid login/password information?
12.Test both valid and invalid login names and passwords. Are they case sensitive? Is there a limit to how many tries that are allowed? Can it be bypassed by typing the URL to a page inside directly in the browser?
13.What happens when time out is exceeded? Are users still able to navigate through the site?
14.Relevant information is written to the log files and that the information is traceable.
15.Scripting on the server is not possible to plan or edit scripts without authorization.
16.Have you tested the impact of Secure Proxy Server?
17.Test should be done to ensure that the Load Balancing Server is taking the session information of Server A and pooling it to Server B when A goes down.
18.Have you verified the use of 128-bit Encryption?

Differnece between Risk Mitigation and Risk Contigency plan

Differnece between Risk Mitigation and Risk Contigency plan


M. is your action to prevent risk before it happens when C. is your action to cure risk after it happens.

M. makes budget bigger as you include cost of risk that didn't happen and may not happen. C. makes budget smaller but may increse it after and if risk happens

Friday, July 31, 2009

Project Definition based on project engagement model

Fix Bid Pricing
The fixed price model offers customers a low risk option and can be employed when the scope and specification of the project reasonably clear. This model guarantees on time,on budget delivery project.
Deliverables,Costs and Time lines are clearly defined in the Time/fixed price model.
This model works best for customers with well defined requirements and project schedules.
Advantage
1.You don't have to deal with the day to day hassle of project management and are free focus on business strategy
2.A detailed analysis of requirements is carried out.
3.A detailed project/functional specification drawn up.


Time & Materials Pricing


This business model is based on resource utilization during project time span. When scope,specification plans of a project not easy to define at the outset,Time and materials become attractive option. At times once the scope of the project frozen Time and Material also converted in to fixed price model.
This is usually monitored through weekly time sheets or on a reporting frequency suggested by the client
Advantage
1.Flexibility to balance team size and project workloads.
2.No hidden fees
3.Customers are not billed separately for requirements gathering the project management hours


Retainer Pricing
In this model a monthly retainer fee is agreed upon at the beginning of the contract. The retainer fee is paid at the beginning of the month and entities the client to the min hours programming support. Any additional hours will be charged at the agreed hourly rate.
Advantage
1.The client would provided with weekly time sheets for the utilization of the resource.
2.Extension of the retainer engagement if required based on mutual consent. Customer are not billed separately for the requirements gathering the project management hours.

Tuesday, June 23, 2009

Unix - The 15 Essential UNIX commands

man - show manual for a command, example: man ls hit q to exit the man page.
cd - change directory, example: cd /etc/
ls - list directory, similar to dir on windows. example: ls /etc, use ls -l /etc to see more detail
cp - copy a file or directory, example: cp source dest if you want to copy a directory use the -R option for recursive: cp -R /source /dest

mv - move a file, example: mv source dest
rm - remove a file, example: rm somefile to remove a directory you may need the -R option, you can also use the -f option which tells it not to confirm each file: rm -Rf /dir

cat - concatenate, or output a file cat /var/log/messages

more - outputs one page of a file and pauses. example: more /var/log/messages press q to exit before getting to the bottom. You can also pipe to more more from other commands, for example ls -l /etc more

scp - secure copy, copies a file over SSH to another server. example:scp /local/file user@host.com:/path/to/save/file

tar - tape archiver, tar takes a bunch of files, and munges them into one .tar file, the files are often compressed with the gzip algorithm, and use the .tar.gz extension. to create a tar tar -cf archive.tar /directory, then to extract the archive to the current directory runtar -xf archive.tar to use gzip, just add a z to the options, to create a tar.gz: tar -czf archive.tar.gz /dir to extract it tar -xzf archive.tar.gz

grep - pattern matcher, grep takes a regular expression, or to match a simple string you can use fast grep, fgrep failure /var/log/messages, I'm usually just looking for a simple pattern so I tend to use fgrep more than regular grep.
find - lists files and directories recursively on a single line, I usually pipe grep into the mix when I use find, eg: find / fgrep log

tail - prints the last few lines of a file, this is handy for checking log files tail /var/log/messages if you need see more lines, use the -noption, tail -n 50 /var/log/messages you can also use the -f option, which will continuously show you the end of the file as things are added to it (very handy for watching logs) tail -f /var/log/messages

head - same as tail, but shows the first few lines the file

vi - text editor, there are several text editors such as emacs, and nano, but vi is usually installed on any server so its a good one to learn. To edit a file type vi file to edit a line press Esc i then to save changes and exit use Esc wq, or to quit without saving use Esc q!. There are a million other commands, but that will enable you to edit files at a basic level

Wednesday, June 17, 2009

Agile Methodology and Agile Testing

Agile Methodology:-
It is a methodology to satisfy the customer through early and continuous delivery of valuable software. This is useful when we don't have a clear idea of the client's requirements. The development activities can be carried out using the iterative actions

It is very effective where Client frequently changes his requirement. Since it has more iteration so you can assure a solution that meets clients requirement. More than one build deployment for a project. It involves more client interaction and testing effort.

People believe that there is less documentation in Agile. But agile also includes documentation and it can be used either a small or a large projects. In agile Development, testing is also integrated throughout the life cycle. But for the testers, they will not have a good business requirement. So they have to get the details from the client or through the developer. The testers will do more of Quality Assurance work than testing.

Agile methodology helps us to increase productivity and reduce risks.

Agile Methodology- Characteristics:-
Ø Frequent Delivery
Ø More Iterations
Ø Test frequently
Ø Less defects

There are two methods by which this methodology can be implemented:-
1- Scrum
2- Extreme Programming
Scrum: Each iteration would called a scrum which can be a 1-2 Months. In Scrum Client priorities his requirements what he want first. If developer did not meets all the requirement which was being fixed for a particular scrum than rest of the development part would be transferred to the next scrum (would be delivered in the next build), means developer can't increase time decided for a scrum. Its fixed.
Extreme Programming (XP): here iteration period would be less then in scrum , which is being 2-4 weeks.
Here developer priorities what to do first on the basis of client requirement. This duration which was being fixed for a iteration, can be increase if the some development part is still pending. The build would deployed with having all the client needs. Thus iteration period is not fixed here it can be increase but iteration should meets all the client's requirement in this build. More attention is required for testing in XP.

What is Agile Testing?

“Agile testing involves testing from the customer perspective as early as possible, testing early and often as code becomes available and stable enough from module/unit level testing

The Challenges in Agile Testing:-

Agile Testers face lot of challenges when they are working with Agile development team. A tester should be able to apply Root-Cause Analysis when finding severe bugs so that they unlikely to reoccur. While Agile has different flavors, Scrum is one process for implementing Agile.
Some of the challenging scrum rules to be followed by every individual are

Obtain Number of Hours Commitment Up Front
Gather Requirements / Estimates Up Front
Entering the actual hours and estimated hours daily.
Daily Builds
Keep the Daily Scrum meetings short
Code Inspections are Paramount

So, in order to meet the above challenges, an agile tester needs to be innovative

How Testers Can be More Innovative in the Age of Agile Testing?
Here are Important Keys to Innovation:
1. Creative
A good Agile Tester needs to be extremely creative when trying to cope up with speed of development/release. For a tester, being creative is more important than being critical.
2. Talented
He must be highly talented and strives for more learning and innovating new ideas. Talented Testers are never satisfied with what they have achieved and always strives to find unimaginable bugs of high value and priority.
3. Fearless
An Agile Tester should not be afraid to look at a developer’s code and if need be, hopefully in extreme cases, go in and correct it.
4. Visionary
He must have a comprehensive vision, which includes client’s expectations and delivery of the good product.
5. Empowered
He must be empowered to work in Pairs. He will be involving in Pair Programming to bring shorter scripts, better designs and finding more bugs.
6. Passionate
Passionate Testers always have something unique to contribute that may be in terms of their innovative ideas, the way they carry day-to-day work, their outputs and improve things around them tirelessly.
7. Multiple Disciplines
Agile Tester must have multiple skills like, Manual, Functional, Performance testing skills and soft skills like Leadership skills, Communication skills, EI, etc. so that agile testing will become a cake walk.

What is Verification and Validation

Verification:-

* Verification typically involves reviews and meetings to evaluate documents, plans, code, requirements, and specifications. This can be done with checklists, issues lists, walk throughs, and inspection meetings.
* To ensure that the s/w correctly implements the specific function.
* Are we building the product right or not?
*Verification is the process of doing reviews and walkthroughs and conducting interviews.This is doing before coding phase.
Verification is the static process. It performs each and every stage of SDLC.

What is the importance of the Verification Phase?
Verification process helps in detecting defects early, and preventing their leakage downstream. Thus, the higher cost of later detection and rework is eliminated.

What are the various types of reviews?
Types of reviews include Management Reviews, Technical Reviews, Requirement review, Design review, code review ,Inspections, Walkthroughs and Audits.

Walkthrough:-
A 'walkthrough' is an informal meeting for evaluation or informational purposes. Little or no preparation is usually required.
we can discuss/raise the issue at peer level. Also walkthrough does not have minutes of the meet. can happen at any time and conclude just like that, no schedule as such.

Objective of Walkthorugh:-
Detect errors early.
Ensure (re)established standards are followed
Increase the quality of the project, thereby improving morale of the team members.

Inspection:-
An inspection is more formalized than a 'walkthrough', typically with 3-8 people including a moderator, reader, and recorder to take notes. The subject of the inspection is typically a document such as a requirements spec or a test plan, and the purpose is to find problems and see what's missing, not to fix anything. Attendees should prepare for this type of meeting by reading thru the document; most problems will be found during this preparation. The result of the inspection meeting should be a written report. Thorough preparation for inspections is difficult, painstaking work, but is one of the most cost effective methods of ensuring quality
One will read through his work done / proposal for the upcoming task( code/testcase/design) what ever he has done in the time(depends on the frequency of Inspection company to company it may change)
writer will note down the issues discussed/ to be done.
Moderator(s) have to comment out his/her opinion.
That's how inspection happens.

Validation:-
*Validation typically involves actual testing and takes place after verifications are completed.
*To ensure that the s/w is satisfied the customer requirements.
*Validation is the process of doing actual testing in the source code. This is always starting after coding in SDLC.
*Are we building the right product
Validation is Dynamic process.