Is this a defect!!!!

Monday, December 8, 2008

Hello Readers,

I found following stuff while logging in to my yahoo account.

Well, It might happen that the password that I have entered might get visible.

I have two question for the audience

1. Can this type of defect identified by Automation testing.

2. Can this type of defect is reproducible? Cause if this is a defect then a tester might need to give the "steps to reproduce" to the developers.

Please feel free to add your views and comments.

P.S. If the screen shot is not visible then please copy and paste it in our very own Microsoft Paint.


An approach to build a keyword driven framework

Wednesday, December 3, 2008

Keyword driven framework:

Any framework should consist of following mandatory information

  • It should be Flexible
  • Less changes in the scripts when the requirement changes that is maintainable
  • Should be more structured.
  • There should be centralized automation team dedicated to functional automation of the project
  • Creating right function on right time
  • Good coordination between functional testing team as well as automation testing team
  • Maintenance: Never ending part on the automation life cycle front.

Now a day’s all the organizations are moving to the web based application rather than client server or mainframe application. The World Wide Web is moving to become micro. So it makes the business sense to adopt keyword driven framework for web based application though it is a bit tough for the implementation as TTC (time to code) is more than the other framework.

A good keyword driven automation framework is one which can be used across the web based application. Whenever we need to build the automation framework we do not have to start from the scratch and we can do that by building the blocks on the existing keyword driven framework.

Framework structure:

1. Application scenarios:

Application scenarios are the ones which has the description of the object, operation to be performed and keyword description of the object. It is a file from where the QTP will recognize the object and will perform the action, It can act as a test scenario documentation which has the easily understandable language that is used for the keyword and we can save time, effort and cost for preparing the same.

Example: Let us say that there are three edit boxes named Login name, Password and date of birth (DOB) respectively. The keyword Login can be used as a keyword on any page to enter the login information. We need to create a function to access the log in the parameters to make the function call appropriate. Moreover we can make the keyword reusable by making function reusable.

The best practice is any function has to be reusable if not then write inside the script.

2. Database set ups and files

The test data can be stored in the MS Access or any other database. The best practice to design the database is to have one table for each screen along with the test case ID and the test case name, These fields are important as these are recognizing the test cases that are automated.

3. Driver Script

Driver script is important script in every framework; it is the next step after the initialization of the scripts and database setup and connectivity with the application. This will be having function calls for all the reusable function that has been written.

4. Function Library

Function library is the repository of all the reusable functions available for the project. The keyword driven approach is having all the logic of the automation in the VB script functions. No scripting is done outside the function library. Any Keyword driven framework will be having two function libraries

  1. Application specific function
  2. Application independent or reusable function

Function library might have a function which gives call to the other functions across function library folder but that is the only function might present outside the function library.

Reusable function examples:

  • Click on the drop down box
  • Click on the save button
  • Close dialog box

5. Initialization VB script files:

This file will be having all the data related to the execution environment as well as the test data. It will set the browser options if necessary and all the basic things that might be required at the time of execution of the scripts.

Initialization file example:

  • Set the connectivity to the database
  • Load environmental setting file
  • Set the path of the object repository

6. Object repository:

.mtr (If used shared object repository) or .tsr (if used local object repository) files will be stored in this folder.

7. Sequence files:

Sequence file is combination of the initialization as well as configuration; here the configuration is basically about the test scenario or the test case execution. The sequence file is stored as the excel file and from that one can recognize how the test scenario will be executed, there might be many instance where one does not want to execute certain test cases and want to omit it. For that purpose there is a flag set in the excel sheet and it will be interpreted accordingly. Location of the sequence file can be in the root directory or in the initialization folder.

Example of the sequence file:

Good Bye for now, Take care.

" Everything really interesting that happens in software projects eventually comes down to people."- James Bach


An approach to build a QTP framework

Saturday, November 15, 2008

Hello Friends,

You might have encountered question or terminology “what do you mean by QTP framework?” Let us target the word “Framework” first.

Framework is a simplified description of the structure or a process.
In QTP terms it is the baseline of a process that describes the rules to follow while automating an application.

Framework depends on the approach towards the test automation from the project perspective as it differes from project to project the framework will too differ from project to project.

For Quality deliverables, important things that should be followed are:

· Following common coding structure for all the scripts

· Consistent coding conventions

· Use of Reusability for making code efficient and minimal

· Efficient use of Object Repository

· Use of Error and Exception handling Functions

· Use of Data table object, Environment variables for using data

An organized approach is very much necessary for the automation project success.

Approach for Test Automation is used for building a strategy for automation starting from the requirement phase till the deployment phase. Approach for automation begins with finding out the conditions and business rules given by the client and grouping similar conditions, business rules together as Test cases or Test Scenarios.

Steps involved in Approach for Test Automation are as follows:

· Requirement gathering from the client

· Understanding and Analyzing the Requirement

· Grouping the requirement into Test cases

· Preparing the Design for Automation

· Building Scripts depending on the Design

· Review of Scripts at Offshore

· Delivery to the Client

There are following frameworks being followed in the industry.

1) Linear
2) Modular
3) Keyword
4) Hybrid

We are free to invent our own ;-)

The combination of two or more can also be used to build the framework.
For any automation project manual test case plays an important role, now following are some guidelines to identify the best candidate for automation.

Guidelines followed for identification of Test Cases for Automation

· Tests that need to run once and those that need frequent human intervention are usually not worth the investment to automate and have not been considered for automation.

· As Automated testing can be used to verify the performance of application paths that are used with a high degree of frequency when the software is running in full production e.g. creating customer records, Invoicing and other high volume activities where software failure would occur frequently have been considered.

· Mission critical processes like core activities like sales order processing are prime candidates for automated testing and have been considered for automation.

· Repetitive Testing.

· Applications with Long Life span – Longer the application in production greater the benefits from automation.

· Avoiding dynamic screens. Though possible to automate this increases the complexity of the script.

· Avoiding screens where objects are created dynamically.

· Avoiding business scenarios where complex hardware is involved.

· Selecting a row in a table results in an additional challenge from. Some automation tools provide the facility to read each row in a table and for focusing on a specific row. If the numbers of rows were very high the execution time of the script would be high. This leads to performance issues of the recorded script. Hence, it is better to prove the business scenario wherein tables with row selections figure by identifying a fixed row number. This scenario is faced very frequently in enterprise applications as in pricing tables and leads to the complexity of the script and subsequently the effort.

· Avoiding scenarios that require high degree of coding while automating so that script’s complexity is reduced and high maintainability of the script is ensured.

" Automation can not replace manual testing as automation is done by a chip and manual testing done by human brain- A chip can not replace human brain"


View on Software Testing

Monday, March 10, 2008


I am starting a new blog on automation as well as manual testing as testing .

" Life is too short to only use an approach for testing that relies solely on human's ability to execute a series of mouse clicks and keystrokes when the processing power that makes computers so useful can be leveraged to execute these tests, freeing testers from especially mundane or repititive testing so that their brains can be used for higher order
tests that computers can not do yet."