Test Design Module Objectives • Introduction to Test Design • Importance of Documentation • Testing Artifacts • Test Environment and Test Data 2 Test Design • The test objectives established in the test plan should be decomposed into individual test cases. Begin the process with high-level test objectives. These are decomposed into lower and lower objectives until functional and structural test objectives are defined individually The main steps involved in Test Design phase are listed below. 1. 2. 3. 4. 5. 6. 7. Identify test resources. Identify conditions to be tested. Rank test conditions. Select conditions for testing Determine correct results of processing Create test cases Document test conditions Testing Documentation Integral part of formalization of testing Important for conducting the test and reuse of the test program during maintenance Test documentation should start in the requirements phase and continue throughout the life cycle of the project Document test process that has been outlined in each phase of the life cycle. Structured documentation is easier to update and reuse Good Documentation makes Testing “tester” independent Every stage of Testing Lifecycle should be documented correctly. Testing Artifacts • The important artifacts in Software Testing are: Test Strategy Test Plan Test Design Specification Test Case Specification Test Log Test Defect Report Test Summary Report Test Strategy and Test Plan • Test Analyst/Manager will prepare the Test Strategy and Test Plan document. • Activities carried out at the Test Strategy level are as given below. These details will be documented in the Test Strategy document Define test objectives, scope of testing, testing phases and activities Review business requirement and system requirements to identify test items Define testing Approach. Identify components that carry higher risk and may require enhanced levels of testing. Test Environment and Test Data set up Define test dependencies, Test assumptions, test completion and user acceptance criteria Define test organization and role and responsibility of individual in the organization Establish configuration standards and defect management • The above details along with the schedule of the project will be documented in the test plan. Test Design Specification Contains the following sections • Test design specification identifier • Features to be tested • Approach Refinements • Test identification • Feature pass/fail criteria Objective and Importance of a Test Case The basic objective of writing test cases is to ensure complete test coverage of the application. The most extensive effort in preparing to test a software, is writing test cases. Gives better reliability in estimating the test effort Improves productivity during test execution by reducing the “understanding” time during execution Writing effective test cases is a skill and that can be achieved by experience and indepth study of the application on which test cases are being written. What is a Test Case? It is the smallest unit of Testing A test case is a detailed procedure that fully tests a feature or an aspect of a feature. Whereas the test plan describes what to test, a test case describes how to perform a particular test. A test case has components that describes an input, action or event and an expected response, to determine if a feature of an application is working correctly.” Test cases must be written by a team member who thoroughly understands the function being tested. Test Case Development: Use cases and Requirements from Client Understand the requirements Send Query log for clarifications Send Estimates and plan for Testing Define the approach and number of test cases Identify high level scenarios for each Test case Send the scenarios for review Prepare Traceability matrix Develop detail test procedures for scenarios Perform review on the completed test cases Update the review findings Deliver to client for signoff Test Environment and Test Data Test Environment A dedicated Test environment allows failures to be consistently and accurately recreated and ensures that the software under test will behave the same way in Production. To ensure successful software deployment, it is crucial to have a stable environment dedicated to testing. Test Data Test Data means the data that is required for testing an application . Entry data • Data that are entered into the system as input to execute a test case. Background data • Data that are setup in the Backend to execute a test case, like say in a test database Test Log Test Log contains the following sections • Test Log identifier • Description • Activity and event entries Execution description Procedure results Environmental information Unexpected events Test Defect Report • • • A Test Defect Report describes any event that occurs during testing that requires further investigation. A defect-tracking tool would be used for Test Defect Reporting. It follow a process of Acceptance, Investigation and Closure through Change Notes, the entire life cycle of which is controlled through the tool Test Summary Report Test Summary Report contains the following sections • Test summary report identifier • Summary of Product tested • Any deviations from the specified test procedures • Summary of results • Summary of activities • Sign Off documents Thank you