Introduction to Software Testing – An introduction to software characteristics and how testing supports the overall success of the project delivery. Included is how testing begins at the start of a project and evolves throughout the process. Specific testing tasks for each lifecycle phase will be identified. Specific topics include:
- Characteristics of Software Quality.
- Roles in Testing – producer and customer
- Common Testing Challenges
- Relative Cost of Errors
- Testing Traps to Avoid
- Testing Phases – Unit, Integration, System and UAT
- SDLC Methodologies
Test Strategy – A review of the many project factors that affect the test strategy, the key role of the software architecture, and the critical success factors for a project (and how to prioritize them). Specific topics include:
- Test Strategies based on Project Types
- Understanding the V-Model
- Project Scope and its Impact on Strategy
- Prioritization of CSFs (Critical Success Factors)
Risk Analysis – A detailed, systematic approach to identify and assess risks to better focus testing activities to ensure a better testing process. Topics include:
- The Myth of “Complete” Testing Coverage
- Risk Factors to Consider
- Risk Analysis – Requirements and Tests
Test Plan – A step approach to gathering information for the test plan, structuring the test plan document, assembling the test team, and measuring the effectiveness of the test plan. Specific topics include:
- Mandatory Test Plans
- Developing a Test Plan Team Document
- The Test Plan and the V-Diagram
- Organizing an Effective Test Team
- Delegation of Test Team Tasks
- Critical Test Plan Content
Test Case Design – The relationship between system requirements and test cases. An approach to utilize proven methods to determine criteria for test coverage to ensure what must be tested is tested. Topics include:
- Important Definitions – Test Case, Test Suite and Test Run
- Effective Test Case Design
- Requirements Coverage
- When to Stop Testing Based on Business Drivers and Risk Criteria
- Defect Contagion
Test Case Coverage and Equivalency Classes – The many different types of coverage and how to identify and group input and output values into partitions in order to minimize the number of test cases required for comprehensive testing. How to test more with less. Detailed topics include:
- Types of Coverage – Code, Path, Decision, Condition, Domain, and Others
- Equivalence Classes
- Boundary Value Analysis
- Special Cases to Consider
Test Case Dependency Analysis – How the dependency affects test case design and how dependency analysis can help decrease the number of test cases while still maintaining comprehensive testing. Topics include:
- How to Test Interactions
- Detailed Dependency Analysis
- Effective Replacement of Redundancies
Test Case Combinatorial Analysis – A review of how to streamline the amount of software testing using combinatorial analysis techniques. Topics include:
- Risks of Too Many Combinations
- Combinatorial Pairs
- Segments, Partitions, Paths and Combinations
- Ensure Complete Coverage with Combinatorial Analysis
Regression Testing – An understanding of how to plan and execute regression testing and the importance of thorough regression testing and its positive outcomes. Identifying tests that need to be executed as part of the regression test suite. Specific topics include:
- What is Regression Testing?
- Effectively Planning a Regression Test
- Minimizing effort with Partition Vectors
- Top 10 Regression Challenges
- Impacts – Control Flow, Data Flow, and Interface Analysis
- Requirements versus RTS
|