Wednesday, October 04, 2006

Testing Primer - An introduction to software testing


This is meant to be a barebones primer on the subject of testing. This does not claim to be an exhaustive compilation but it sure contains sufficient amount of information to do a comprehensive testing by way of general guidelines.

Please read through the documentation once, twice, thrice and so on until you get the grasp of the content.

The idea is to get all the information given in here into your mind and make it second nature so that a general look at the page would make your eyes register the deviation or the error. It sure would take time for you to master it, but at the end of it all you would be an above average tester.

All the best on your job!

How do I do it?

Test it yourself

The best person to test a program is the honest programmer him/herself. So, request your programmer to do the first round of testing and remove any preliminary bugs in the application.

+ Go through the checklist

Did you get a checklist from your test lead? Read through the list and memorize it. Keep it by your side for instant reference.

+ Provide some brief instructions

Did you get instructions from your test lead? Follow the instructions properly.

Do you have a doubt? Always ask. Do not make your own conclusions.

Remember the Golden Rule. "When in doubt, ASK!"

+ Leave please!

Politely ask your test lead to leave (if he/she hasn’t already left you alone). Take a few deep breaths. Take your time and test the program meticulously.

As a tester, it is your job not to assume things. It is also your duty to record every bit of your activity during the testing process.

Understand that if you miss out on recording what you may think is a trivial step, the result of the action might not be the same in another instance. The keyword here is “Don’t think. Just record.”

Here are a few suggestions on testing the web application.

Are the menus and display clear and easily navigable?

Are you at first glance, able to see and understand the most part of the menus and hyperlinks that you see on screen?

Does the page load fast?

How long did it take for the page to load? Seconds, minutes, hours or years?

Is there clarity of Communication?

Do you understand the language that is used by the application? Do you think that the application uses language that is difficult to comprehend?

Are the headings (in reports) in proper location and highly visible and provide clarity?


Is there an option to clearly communicate with the administrator, in case you encounter problems using the application?


Do all the pages that you have encountered follow the same look and feel? Do all the pages consistently look alike?

Are the style sheets consistently used?


Does the site use standard link colors? Are all the links visible at all times? Are the links have properly worded and easy to navigate to the proper destination?

Are short cuts provided to maneuver to frequently used pages?

Design & maintenance

Does your page have related links to navigate before after and to modify options without much difficulty?

Did you encounter any dead links? Did you see any broken scripts during the testing? Did you see any error message that is cryptic and not for the end user?

Buttons such as “Submit” should be allowed to click only once, especially in situations where large data is being processed.

Is graphics being used extensively? How long does the page take to load?

Do you get any “Page cannot be found” or “Page cannot be displayed” errors?

Is the page too long for comfort? Do reports exceed beyond the given frame?

Visual Appeal

Does the site use pleasing colors and in moderation?

Does it contain disturbing animations, jerky appearance etc?

Did you get proper responses to all your requests on that page? (eg., Did you get a blank page as a response instead of a “No data available” message)


Is the tab order of the page correctly set?

Does the program accept alphanumeric characters in the numeric text boxes?

Does the program accept numeric characters in the alphabets only text boxes? (eg., name should only contain letters and spaces)

Does your program detect and warn if mandatory fields are skipped?

Is the program intelligent enough to identify duplicate entries?

What happens if a user clicks on the browser’s back button and clicks submit again?

Functional Testing

Understand the flow of the program before you do the functional testing. The processes may be defined as “Step 1”, “Step 2” and so on. Your goal is to find out if you can go around the order in which the processes that are defined. Essentially, to find out an aberration in the process that if left unchecked might lead to data inconsistency and ultimately to the failure of the system.

Hence, the functional testing plays a major part and needs to be given much importance.


I hope you have gained a little knowledge about testing and the importance of testing in the success of an application.

The most important part in the entire process is to record each and every activity that you do during the entire duration. Every keystroke and every activity will and has to be recorded. This will help the programmer to isolate the errors and correct the situation faster.

This in turn will help completion of the product and get it ready for release faster.

Good luck!


  • Please take screen shots of every screen that you test, and save them in their appropriate directories.
  • Give them proper (and understandable) names.
  • If a form has multiple screens, take screen shots of each instance.
  • This will help in the documentation process of the application.
  • Always use proper test data during testing (do not use “Ajkserjk” as a name. Use a proper name such as “Alfred D'Souza”). It could also help when taking screenshots for documentation purposes, where "Alfred" looks better than an "Ajkserjk".
Post a Comment

Why should I not take revenge?

This is what we do and have been doing since we have known man. Revenge seems to be a natural response to injustice that seems to target us... Registered & Protected DWYE-NHTO-NBNH-7FFM