Course details

Home   /   Fundamental Test Process

Course Information

  • Price Free

Fundamental Test Process

Adeyinka Alayo Free Courses

Fundamental Test Process

The most visible part of testing is test execution. But to be effective and efficient, test plans should also include time to be spent on planning the tests, designing test cases, preparing for execution and evaluating results.
The fundamental test process consists of the following main activities:

  •  Test planning and control
  • Test analysis and design
  • Test implementation and execution
  • Evaluating exit criteria and reporting
  • Test closure activities

Although logically sequential, the activities in the process may overlap or take place concurrently. Tailoring these main activities within the context of the system and the project is usually required.

  •   Test Planning and Control 

Test planning is the activity of defining the objectives of testing and the specification of test activities in order to meet the objectives and mission.   Test control is the ongoing activity of comparing 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. In order to control testing, the testing activities should be monitored throughout the project. Test planning takes into account the feedback from monitoring and control activities.

At this stage a Test Plan/Strategy Document is Developed.

  •   Test Analysis and Design 

Test analysis and design is the activity during which general testing objectives are transformed into tangible test conditions and test cases (Case to Test). The test analysis and design activity has the following major tasks:
– Reviewing the test basis (such as requirements, software integrity level1 (risk level), risk analysis reports, architecture, design, interface specifications)
– Evaluating testability of the test basis and test objects
– Identifying and prioritizing test conditions based on analysis of test items, the specification, behavior and structure of the software
– Designing and prioritizing high level test cases
– Identifying necessary test data to support the test conditions and test cases
– Designing the test environment set-up and identifying any required infrastructure and tools

At this stage the Test Conditions(Conditions to test) and Test cases are developed.

  •   Test Implementation and Execution 

This stage is where the actual test execution occurs. Tests are executed against the test cases developed at the test design stage and results are captured.

Test implementation and execution has the following major tasks:
– Finalizing, implementing and prioritizing test cases (including the identification of test data)
– Developing and prioritizing test procedures, creating test data and, optionally, preparing test harnesses and writing automated test scripts
– Creating test suites from the test procedures for efficient test execution
– Verifying that the test environment has been set up correctly
– Verifying and updating bi-directional traceability between the test basis and test cases
–  Executing test procedures either manually or by using test execution tools, according to the planned sequence
– Logging the outcome of test execution and recording the identities and versions of the software under test, test tools and testware
– Comparing actual results with expected results
– Reporting discrepancies as incidents and analyzing them in order to establish their cause (e.g., a defect in the code, in specified test data, in the test document, or a mistake in the way the test was executed)
– Repeating test activities as a result of action taken for each discrepancy, for example, re-execution of a test that previously failed in order to confirm a fix (confirmation testing), execution of a corrected test and/or execution of tests in order to ensure that defects have not been introduced in unchanged areas of the software or that defect fixing did not uncover other defects (regression testing).

  •  Evaluating Exit Criteria and Reporting

Exit criteria in software testing are criterias/requirements that should be met on when testing can stop. Evaluating exit criteria is the activity where test execution is assessed against the defined objectives. This should be done for each test level.

Evaluating exit criteria has the following major tasks:
– Checking test logs against the exit criteria specified in test planning
– Assessing if more tests are needed or if the exit criteria specified should be changed
– Writing a test summary report for stakeholders

  •   Test Closure Activities

Test closure activities collect data from completed test activities to consolidate experience, testware, facts and numbers. Test closure activities occur at project milestones such as when a software system is released, a test project is completed (or cancelled), a milestone has been achieved, or a maintenance release has been completed.

Test closure activities include the following major tasks:
– Checking which planned deliverables have been delivered
– Closing incident reports or raising change records for any that remain open
– Documenting the acceptance of the system
– Finalizing and archiving testware, the test environment and the test infrastructure for later reuse
– Handing over the testware to the maintenance organization
– Analyzing lessons learned to determine changes needed for future