Two-Day Class :
Essentials of Software Testing

This two day course introduces and explains the fundamental principles and practices of software testing based on the body of knowledge for the software testing professional. A combination of lecture, interactive discussion, classroom exercises and discussions are used to build an understanding of the testing process and its relationship to the overall software project. The training will cover, in great detail, the key components of testing including the test strategy, test plan and test cases. Real-world examples and specific techniques for test case design are discussed including equivalency classes, dependency analysis, and combinatorial analysis. Students will gain an in-depth understanding of the different types of testing with emphasis on how to plan and execute regression testing. Students will complete the course with realistic, specific action items that can be implemented quickly to improve their overall testing process.

Course Objectives

The primary objective of this course is to introduce and instruct QA and software testing professionals on concepts, strategies, and techniques in order to develop a total understanding of the testing process and how it impacts the software project. Attendees will learn how to:

Identify critical testing tasks for each testing lifecycle phase

Determine critical success factors for a project and how to prioritize them

Perform risk analysis based on impact, likelihood, and other factors

Better develop a detailed test plan on how to measure its effectiveness

Identify different types of test coverage

Plan and execute thorough regression testing

Course Outline

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 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:

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:

Bob Crews, President of Checkpoint Technologies, is a consultant and trainer with over 24 years of IT experience including full life-cycle development involving development, requirements management, and software testing. He has consulted and trained for over 240 different organizations in areas such as addressing mobile testing challenges, effectively using automated testing solutions, test planning, risk analysis, implementing automated frameworks, and developing practices which ensure the maximum return-on-investment with automated solutions. Bob has presented at numerous conferences and user groups throughout the world including QAI, EuroStar (Copenhagen), HP Software Universe, and LatinStar (Mexico City). Bob was named as one of the top five speakers at the QAI Annual Software Testing Conference in 2004.