Module - 3 - Testing Process

You are on page 1of 3

EXN QA Internship

Testing process

Belgium Session name: Testing process


Matenstraat 214 (a)
2845 Niel
+32 32 130 383 (t) Main objective: interns learn the fundamental steps of testing process
+32 32 131 454 (f) Secondary objectives:
Romania - planning and control
Barbu Lautaru 11 (a)
700399 Iasi - analysis and design
+40 332 808 044 (t) - implementation and execution
+40 332 811 504 (f)
- evaluating exit criteria and reporting
[email protected]
- test closure activities
www.expertnetwork.eu

Pre-requisites:
Logistics requirements:
Information sources:

Training time:
Working time:
page 2 of 3

Testing process
Testing is a process rather than a single activity. Testing must be planned and it requires discipline to act upon it. The
quality and effectiveness of software testing are primarily determined by the quality of the test processes used.

The activities of testing can be divided into the following basic steps:
1. planning and control
2. analysis and design
3. implementation and execution
4. evaluating exit criteria and reporting
5. test closure activities

1. Planning and control


Planning, involves producing a document that describes an overall approach and test objectives. It involves reviewing the
test basis, identifying the test conditions based on analysis of test items, writing test cases and designing the test
environment. Completion or exit criteria must be specified so that we know when testing (at any stage) is complete.

Purpose:
- to determine the scope, the risks and to identify testing objectives
- to determine the required number of QA engineers or needed resources like test environments etc
- to schedule test analysis and design tasks, test implementation, execution and evaluation

Control, is the activity of comparing the actual progress against the plan, and reporting the status, including deviations
from the plan. It involves taking actions necessary to meet the mission and objectives of the project.

2. Analysis and design


Test analysis and test design have the following major tasks:
- to review the test basis (the test basis is the information on which test cases are based, such as requirements, design
specifications, product risk analysis, architecture and interfaces)
- to identify test conditions
- to design the tests
- to design the test environment set-up and identify the required infrastructure and tools

3. Implementation and execution


Test implementation has the following major tasks:
- to develop and prioritize test cases by using techniques and create test data for those tests
- to create test suites with the test cases in order to optimize the test execution (a test suites represents a collections of test
cases that are used to test a software program)
- to re-execute the tests that previously failed in order to confirm a fix
- to compare actual results with expected result
- to log the outcome of the test case execution (the status can be “Passed” or “Failed”)

Test execution involves actually running the specified test on a computer system either manually or by using an automated
test tool. It is a fundamental test process in which actual work is done.

4. Evaluating exit criteria and reporting


Evaluating exit criteria is the process of deciding if to stop testing or not. It depends on the code coverage, functionality or
risk. Also, it depends on the business risk, cost and time and vary from project to project. Exit criteria comes into picture,
when:
- maximum test cases are executed with certain pass percentage
- bug rate falls below certain level
- when we achieve the deadlines

Evaluating exit criteria has the following major tasks:


page 3 of 3

- to assess if more test are needed or if the exit criteria specified should be changed
- to write a test summary report for the stakeholders

5. Test closure activities


Test closure activities are done when software is ready to be delivered. Test closure activities have the following major
tasks:
- to check which planned deliverables are actually delivered and to ensure that all incident reports have been resolved
- to finalize and archive testware such as scripts, test environments, etc. for later use
- to handover the testware to the maintenance/support team
- to evaluate how the testing went and learn lessons for future releases and projects

In the same time, testing can be closed for other reasons like:
- when the project is cancelled
- when some target is achieved
- when a maintenance release or update is done

You might also like