Test Process

The Test Process can be categorized as:

  • Planning and Control
  • Analysis and Design
  • Implementation and Execution
  • Evaluating Exit Criteria and Reporting
  • Test Closure

Planning and Control


Test Planning 


During test planning, we make sure we understand the goals and objectives of the customers, stakeholders, and the project, and the risks which testing is intended to address. Test policy gives rules for testing, Test strategy is the overall high-level approach.



Major tasks of planning would be:
  • Determine the scope and risks and identify the objectives of testing
  • Determine the test approach (techniques, test items, coverage, identifying and interfacing with the teams involved in testing, testware)
  • Implement the test policy and/or the test strategy
  • Determine the required test resources
  • Schedule test analysis and design tasks, test implementation, execution and evaluation
  • Determine the exit criteria

Test Control is an ongoing activity. We need to compare actual progress against the planned progress, and report to the project manager and customer on the current status of testing, including any changes or deviations from the plan. 


Major tasks of test control would be:
  • Measure and analyze the results of reviews and testing
  • Monitor and document progress, test coverage and exit criteria
  • Provide information on testing
  • Initiate corrective actions
  • Make decisions

Analysis and Design


Test analysis and design is the activity where general testing objectives are transformed into tangible test conditions and test designs. 

Major tasks of analysis and design would be:
  • Review the test basis (product risk analysis, requirements, architecture, design specifications and interfaces). It can be used to build the tests as well as to understand what the system is intended to do after its built.
  • Design the tests
  • Evaluate testability of the requirements and system
  • Design the test environment setup and identify any required infrastructure and tools 


Test implementation and Execution

During test implementation and execution, we take the test conditions and make them into test cases and testware and set up the test environment. We transform our test conditions into test cases and procedures, other testware such as scripts for automation. We also need to set up an environment where we will run the tests and build our test data.


Implementation

  • Develop and prioritize our test cases and create test data for the tests.
  • Create test suites from the test cases for efficient test execution.
  • Setup a test execution schedule.
  • Implement and verify the environment.

Execution

  • Execute the test suites and individual test cases, following our test procedures
  • Log the outcome of test execution and record the identities and versions of the software under test, test tools and testware
  • Compare actual results with expected results
  • Where there are differences between actual and expected results, report discrepancies as incidents
  • Repeat test activities as a result of action taken for each discrepancy

Evaluating exit criteria and reporting


Evaluating exit criteria is the activity where test execution is assessed against the defined objectives. This should be done for each test level, as for each we need to know whether we have done enough testing. Based on our risk assessment, we'll have set criteria against which we'll measure 'enough'.

  • Check test logs against the exit criteria specified in test planning
  • Assess if more tests are needed or if the exit criteria specified should be changed
  • Write a test summary report for stakeholders

Test closure activities



During test closure activities, we collect data from completed test activities to consolidate experience,including checking and filing testware, and analyzing facts and numbers.


  • Check which planned deliverable we actually delivered and ensure all incident reports have been resolved through defect repair or deferral 
  • Finalize and archive testware, such as scripts, the test environment, and any other test infrastructure, for later reuse
  • Hand over testware to the maintenance organization who will support the software and make any bug fixes or maintenance changes, for use in confirmation testing and regression testing
  • Evaluate how the testing went and analyze lessons learned for future releases and projects




Comments

Post a Comment

Popular posts from this blog

Types of Review

Roles and Resposibilities for a Formal Review

Phases of Formal Review