Monday, October 21, 2013

Test Management


Test management most commonly refers to the activity of managing the computer software testing process. A test management tool is software used to manage tests (automated or manual) that have been previously specified by a test procedure. It is often associated with automation software. Test management tools often include requirement and/or specification management modules that allows automatic generation of the Requirement Test Matrix/ Requirement Traceability Matrix (RTM), which is one of the main metrics to indicate functional coverage of a System Under Test (SUT).

Creating Tests Definitions in a Database
Test definition includes: test plan, association with product requirements and specifications. Eventually, some relationship can be set between tests so that precedencies can be established. i.e. if test A is parent of test B and if test A is failing, then it may be useless to perform test B. Tests should also be associated with priorities. Every change on a test must be versioned so that the QA team has a comprehensive view of the history of the test


Preparing Test Campaigns
This includes building some bundles of test cases and execute them (or scheduling their execution). Execution can be either manual or automatic.

Manual Execution
The user will have to perform all the test steps manually and inform the system of the result. Some test management tools includes a framework to interface the user with the test plan to facilitate this task.

Automatic Execution
There are numerous ways of implementing automated tests. Automatic execution requires the test management tool to be compatible with the tests themselves. To do so, test management tools may propose proprietary automation frameworks or APIs to interface with third-party or proprietary automated tests.

Generating Reports and Metrics
The ultimate goal of test management tools is to deliver sensitive metrics that will help the QA manager in evaluating the quality of the system under test before releasing. Metrics are generally presented as graphics and tables indicating success rates, progression/regression and much other sensitive data.

Managing Bugs
Eventually, test management tools can integrate bug tracking features or at least interface with well-known dedicated bug tracking solutions (such as Bugzilla or Mantis) efficiently link a test failure with a bug.

Planning Test Activities
Test management tools may also integrate (or interface with third-party) project management functionalities to help the QA manager planning activities ahead of time.

 

Test Management Tools
There are several commercial and open source test management tools available in the market today which includes HP Quality Center and IBM Rational Quality Manager. Most test management tools are web-served applications that need to be installed in-house. Others can be accessed as Software as a service.

 

Test Management Process
All software applications are predominantly different, running in different software and hardware environments with all manner of in-house developed programs. Testing of software cannot be set into a rigid structure and should be built and developed as the project evolves.

The following stages of the testing process are taken from the Mercury Interactive Test Director documentation. These stages can be adjusted to suit your project and define anticipated time scales

1.       Specify Tests Requirements

• Define Testing
           
Examine application documentation in order to determine your testing scope – test goals, objectives, and strategies.

 • Create Requirements

Build a requirements tree to define your overall testing requirements.

 • Detail Requirements

For each requirement topic in the requirement tree, create a list of detailed testing requirements. Describe each requirement, assign it a priority level, and add attachments if necessary.

 • Analyze Requirements

Generate reports and graphs to assist in analyzing your testing requirements to ensure they meet the testing scope.

 

2.       Plan Tests

 • Define a Testing Strategy

Examine your application, system environment, and testing resources in order to determine your testing goals

 • Define Test Subjects

Divide your application into modules of functions to be tested. Build a test plan tree to hierarchically divide your application into testing units, or subjects. 

 • Define Tests

Determine the types of tests you need for each module. Add a basic definition of each test to the test plan tree.

 • Create Coverage

Link each test with a testing requirement.

 • Design Test Steps

Develop manual test by adding steps tot eh tests in your test plan tree. Test steps describe the test operations , the points to check, and the expected outcome of each test. Decide which tests to automate. 

 • Automate Tests

Select tests which can be automated and use testing tool ( Winrunner, QA test, Rational Robot or Visual API )
             
• Analyze Test Plan

Generate reports and graphs to assist in analyzing test planning data. Review your tests to determine their suitability to your testing goals.

 

3.       Execute Tests

• Create Test Sets

Define groups of tests to meet the various testing goals in your project. These might include, for example, testing a new software version or a specific function in an application. Determine which tests to include in each test set.

Schedule Runs

 • Schedule Test Execution and Assign Tasks to Software Tester.

Run Automated tests

 • Execute Automated Tests

Run manual Tests

 • Execute Manual Tests

Analyze test results

 View the results of your test runs in order to determine whether a defect has been detected in your application. Generate reports and graphs to help analyse these results.

 

4.       Track Defaults

• Add Defects

Report new defects in your application. Quality assurance testers, developers, project managers, and end users can add defects during any phase in the testing process

 • Review New Defects

Review new defects and determine which ones should be fixed.

 • Repair Open Defects

Correct the defects your decide to fix

 • Test New Build

Test new build of your application. Continue this process until defects are repaired.

 • Analyze Defect Data

Generate reports and graphs to assist in analyzing the process of defect repairs, and to help to determine when to release the software.

No comments:

Post a Comment