Tools used during the Software Test Process
In this article we look at some of the tools used during the Software Test Process.
Tools that help in various testing activities come under the umbrella of testing tools. The tools help streamline the testing process and automate some of the tasks. They make the testing process more effective or efficient.
Tools are classified based on the activity:
1. Test Management Tools:
Some of the features of a Test Management tool are:
— These provide support for creating, storing and editing test cases.
— They provide the ability to create or organize the test cases into various test suites eg. Regression.
— They can provide a link/traceability to the Requirements.
— They can provide a link to defects.
— They provide the ability to generate various reports – like how many test cases have been executed, how many requirements have been covered etc.
Quality Center (HP ALM QC), ClearQuest, QA Complete are some of the main Test Management tools in the market.
2. Defect Management Tools:
These tools are used to create defects and maintain the defect details as it progress through its life cycle. Most tools follow the IEEE 1044 standard and many of the fields are mandatory. The defect tool provides a standard form/names for various fields and streamlines the workflow process of the defect. The defect tools use databases to store and manage details of the defect. The tools allow searching of defects using SQL type queries or using an interface. Various reports can be scheduled to be generated automatically. The tool also manitains the history of changes made to the defects. The common fields are:
Defect Title, Description, Steps to reproduce, Test Environment details, Build version, Severity, Priority, Assignee(developer for debugging, tester for testing), Status (New, Open, Fixed, Closed, Re-opened), Reported by, Dates etc.
The tools may be integrated with the test management tools to give a direct link to the test cases.
HP ALM QC(Quality Center), ClearQuest, Bugzilla, PVCS are some of the main Defect Management tools in the market.
3. Automation Tools:
These tools allow test scripts to be run automatically. A script is used to navigate through the test application and to compare the actual result with the expected result automatically. The test results are logged into a test log.
Record and playback tools: The tools can record the various actions of the user and can compare the actual results with the expected.
The scripts can be edited to read inputs from a spreadsheet, thus enabling the script to test the application for various inputs.
The test scripts can further be edited for keywords- like create, modify, delete. These are included as extra columns in the data-table. The script reads the keyword and takes the appropriate path in the test script.
These test scripts can also be used for sanity testing the environment & regression testing. They can also be used for creating test data.
HP UFT (QTP) & Selenium are the commonly used tools to automate test cases.
Test scripts can be created using PERL, Java, Unix Shell Scripts.
4. Performance, Load, Stress testing:
These tests are quite difficult to do without tools.
Performance testing tools:
These tools can be used to simulate multiple users or high volumes of data. Test scripts are created using the tool(usually record and playback) and during execution of the script, the tool logs response time of selected transactions. The tool can provide reports based on test logs and graphs of load against response times.
A Load testing tool is a tool to support load testing whereby it can simulate increasing load, e.g., numbers of concurrent users and/or transactions within a specified time-period
Stress Testing tool are used to evaluate a system or component at or beyond the limits of its anticipated or specified workloads, or with reduced availability of resources such as access to memory or servers.
Usually a performance testing tool is used for load and stress testing as well.
Load Runner, Silk Performer, Rational Load are some of the common Performance test tools in the market.
QA Job Market Statistics:
The QA Job Market is as follows:
Manual Testing (System & UAT) – 85%
Automation Testing – 13%
Performance Testing – 2%