Test Planning and Design
2 Days
Testing has three distinct activities: Planning, execution and evaluation. Each activity requires about one-third of the time and effort. However, how well you do the one-third of the time in test planning determines how well the other two-thirds of the testing effort will be performed.
This course teaches how to write test plans that make the best use of your resources. We discuss many aspects of testware and how to create, maintain and manage it through all the phases of testing on a project. "Testware" is a term used to describe all of the materials used to perform a test. Testware includes test plans, test cases, test scripts, and any other items needed to design and perform a test.
Designing tests effectively, maintaining the test documentation, and keeping track of all the test documentation (testware) are all major challenges in the testing effort. This course is designed to teach the process of dealing with all aspects of testware before, during and after the test.
Who Should Attend
- Test Managers
- Test Team Leaders
- Test Engineers
- Test Designers and Analysts
- Testers
- End-users
- Software Developers
Return on Investment
- Get the most out of your existing investment in testing and how to leverage that investment.
- Understand the key issues in developing testware.
- Learn how to design tests that adequately cover requirements and business events.
- Advance your career by reinforcing your testing expertise.
Program Information
This course is presented on an in-house basis only unless offered as a special public course. Contact us for information about how to bring this course into your organization.
Topics
Module 1 - Terminology
- The Deming Workbench Model
- Software Life Cycle
- Test Terminology
Module 2 - Developing Quality Requirements
- The Importance of Requirements
- Quality Requirements
- Testable Requirements
- Identifying Needs
- Ambiguity in Requirements
- The Importance of Inflection
- The Importance of Word Meanings
- Word Games
- The Right People - Who Do We Involve?
- Brainstorming
- Prototyping
- Dealing with Change
- How to Control Change
- Requirements Reviews
- Special Considerations For Existing Software Requirements
- Exercise: Role Playing the Requirements Process
Module 3 - Basic Test Planning
- Basic Testing Principles
- The Basic Testing Process
- What is a Test Strategy?
- The Components and Format of a Test Strategy
- Identifying Critical Success Factors
- Defining Test Objectives
- The Components and Format of a System-level Test Plan
- Major Elements of a Test Plan
- How Much Time Should be Spent on Test Planning?
- Planning Time Guidelines
- Tips for Test Planning
Module 4 - The Test Planning Process
- Key Test Planning Components
- Major Test Planning Tasks
- Task 1 - Develop Test Strategy
- Critical Success Factors
- Task 2 - Define Test Objectives
- Task 3 - Identify Needed Test Resources
- Task 4 - Plan Test Environment
- Task 5 - Define Test Procedures
- Task 6 - Identify Functions To Be Tested
- Task 7 - Identify Interfaces With Other Systems or Components
- Task 8 - Write Test Scripts
- Task 9 - Define Test Cases
- Task 10 - Design Test Data
- Task 11 - Build Test Matrix
- Task 12 - Determine Test Schedules
- Task 13 - Assemble Information
- Task 14 - Finalize the Plan
Module 5 - Knowing What’s Important: Risk Assessment
- What is Risk?
- Why is Risk Assessment Important?
- The Elements of Software Risk
- An Informal Risk Assessment Process
- A More Formal Risk Assessment Process
Module 6 - Test Case Development
- Key Test Planning Components
- Test Scripts
- Test Cases
- How to Document Test Cases
- Types of Test Case Design TechniquesDecision Tables
- Boundary Value Analysis
- Equivalence Cases
- Requirements-based Cases
- Error Guessing
- Business-Oriented Cases
- Transaction Threads Based on Business Scenarios
- Test/Cycle Matrix
- What is a Test Cycle?
- Why Use Test Cycles?
- Traditional Test Cycle
- Orthogonal Arrays
- Use Cases
- Structural Test Cases
- Structural Test Coverage Levels
- Structural Test Cases – Behavioral
- Regression Test Cases
Module 7 - Unit Testing
- What is Unit Testing?
- When is Unit Testing Performed?
- How Much Preparation is Necessary?
- Why Create a Unit Test Plan?
- Unit Test Case Design - Functional Tests
- Unit Test Case Design - Structural Tests
- The Unit Test Process
- How to Document Functional Unit Test Cases
- How to Design Structural Tests
- How to Document Unit Interfaces
- Unit Test Execution - Procedural Software
- Unit Test Execution - Event-driven Software
- Unit Test Execution - Case-developed Software
- Automated Methods for Unit Testing
- Unit Test Tools
- Manual Methods of Unit Testing
- Unit Test Defect Reporting
- Unit Test Summary Report
Module 8 - System Testing
- What is System Testing?
- System Test Planning
- Identifying System Test Objectives
- Identifying System Functions to Test
- Identifying Critical Requirements
- Identifying System Interfaces
- Writing System Test Scripts
- Writing System Test Cases
- Profiling for Performance Testing
- Building the System Test Matrix
- Identifying System Test Schedules and Resources
- Finalizing the System Test Plan
- A Representative System Test Plan Outline
- Automated Methods of System Testing
Module 9 – Tools For Testware Creation and Management
- Testware Creation Tools
- Testware Management Tools
- Structural Management Tools
- Requirements Management
- Version Control
- Configuration Management
- Building Your Own Tools
- How Do the Tools Work Together?
Module 10 – The Testware Lifecycle
- The Testware Lifecycle
- Step 1 – Testware Design and Creation
- Step 2 – Review and Pre-Test
- Step 3 – Perform Test and Refine
- Step 4 – Report Test Results
- Step 5 – Perform Ongoing Maintenance to Testware
- Exercise
Resources
- Checklists and Templates
- Glossary
- Bibliography
Deliverables
- Course notebook with slides, worksheets, checklists, complete examples and supporting text
- Example testware templates and standards