Planning Effective Software Testing

COURSE OUTLINE:

Description

A complete test plan has the same sort of information as any other good plan.It defines what will be done and what will not. It estimates resources that willbe required and lists a schedule of activities. It establishes a basis formanaging the testing activities, reporting status, and mitigating testing risks.

In this course, you will learn how to completely plan your test activities.You will walk through the test planning process, and you'll identify all of theinputs you will need and the things you should produce. You will receiveguidance on how to plan for test case creation, defect tracking, statusmonitoring, and progress reporting.

This course will equip you with all the tools you need to create a test planthat will serve all your needs. In-class exercises help you identify and examinefirsthand problems you may be experiencing. Through group effort, you and yourpeers will examine ways your department or company should be handling problemsup front and how you can improve on your current procedures.

Audience

  • Quality analysts, engineers, and managers
  • Testers and testing leads
  • Project managers
  • Software engineers

Learning Objectives

  • Produce better software products by truly understanding the entiretest planning process and its critical effect on product success or failure
  • Different types of tests required to produce a market-worthy"Goldrelease
  • Test cases and planning for their timely development and execution
  • Quickly obtain organizational commitment to your test plan
  • Use a thorough and powerful traceability matrix to guarantee thecomprehensiveness of your testing
  • Accomplish risk planning and management for fail-safe testing activities
  • Track and manage the testing effort and take corrective action to avoidcostly human or technical errors
  • Capture relevant stakeholder buy-in for your testing effort to eliminatedelays, surprises, and unintended consequences
  • Integrate your test plans with other project plans to guarantee theirrelevance and effectiveness

1. The Test Planning Process

  • How testing fits within the software development lifecycle
  • Role and use of a test plan
  • How the test plan relates to other plans (e.g. Project plan & Qualityplan)
  • Inputs to test planning
  • Outputs from test planning
  • Perform peer reviews of the test plan
  • Obtain organizational commitment to the test plan
  • Track progress against the test plan, report status, and re-plan

2. Test Plan: Scope and Lifecycle

  • Requirements against which the testing will be done
  • Define the goals and objectives for testing
  • Boundaries : What will and will not be tested
  • Phases and steps in the testing lifecycle
  • How the testing lifecycle integrates with the project lifecycle
  • Specific entry criteria: How you know when testing can begin
  • Specific exit criteria: How you know when testing is complete
  • Testing services that will be purchased rather than done in-house

3. Test Plan: Traceability Matrix

  • List every requirement and goal or objectives in one place
  • List every test and test case in one place
  • Map requirements to test cases
  • Assure that every requirement has at least one test case
  • Assure that every test case corresponds to at least one requirement
  • Avoid overkill (or under emphasis) in testing
  • Determine the impact of skipping test cases

4. Test Plan: Required Tests

  • Tests for functional requirements
  • Tests for performance requirements
  • Tests for security and safety requirements
  • Tests for usability, maintainability, and other requirements
  • Define objectives and success criteria for each test
  • Document each test in the traceability matrix
  • Use the traceability matrix to assure complete coverage

5. Test Plan: Test Cases

  • Test cases required to satisfy the objectives for each test
  • Identify positive, negative, boundary and special test cases
  • Define objectives and success criteria for each test case
  • Document each test case in the traceability matrix
  • Use the traceability matrix to assure complete coverage

6. Test Plan: Test Case Size Estimates

  • Test case description and instructions
  • Input data and/or database records required by the test case
  • Output data and/or database records the test case will produce
  • Special resources required by the test case
  • Execution time for the test case

7. Test Plan: Resources

  • Testing and test case development environment (e.g. hardware, operatingsystems, networks, software, databases)
  • Specify any special systems (e.g. test automation, defect tracking)
  • Enumerate knowledge and skills needed
  • Plan for hiring, contracting, and training

8. Test Plan: Effort, Cost, Budget, and Schedule

  • Activities required to produce and execute all of the test cases, trackdefects, and retest and all of the other tasks associated with the testinglifecycle
  • Estimate the effort required based on the size estimates and identifiedactivities
  • Identify all costs (e.g. labor, equipment, software contracted work)
  • Establish a schedule for all testing-related activities
  • Spread the costs across the schedule to produce a budget
  • Validate budget and schedule against project constraints
  • Resolve budget or schedule issues

9. Test Plan: Risks

  • Brainstorm a testing-related risk list
  • Group and consolidate risks
  • Quantify risk probability and impact
  • Make risk tracking plans
  • Make risk mitigation plans
  • Make risk contingency plans

10. Test Plan: Management, Tracking, and Reporting

  • Measurements that will be used in tracking and managing the testingactivities
  • How the data and reports that are generated by the testing process willbe stored, managed, and made available
  • How often testing status will be checked and who will participate instatus checking activities
  • Triggers for corrective actions when the testing activities deviate fromthe plan
  • What must happen when the test plan must be updated
  • Identify all individuals and groups that have a stake in the testingactivities
  • How the stakeholders will be involved and kept informed abouttesting-related activities