Testing a software program is essential to detect underlying errors in it. In a software project‚ the success of testing depends on the test cases used. To reduce the turnaround time and project duration‚ it is important to design an effective set of test cases that enable detection of the maximum number of errors.
Test Case Design Techniques course includes:
- An Overview of Test Case Design
- Flow Graph Notation
- Basis Path Testing
- Control‚ Structure Testing
- Black-Box Techniques
This course has been co-authored by the internationally recognized consultant and authority on software engineering—Dr. Roger S. Pressman.
This course will enable you to:
- Describe the relevance of test case design and the two broad approaches used for it.
- Explain flow graph notation‚ its importance‚ and how to draw flow graphs for programs involving simple conditions.
- Explain basis path testing and the steps involved in it.
- Explain control structure testing and its types.
- Explain two important black-box techniques—equivalence partitioning and boundary value analysis.
You receive a certificate of completion after successfully completing this course.
Every time software is used‚ it is expected to perform a task in a specific manner. If it does not behave the way it is intended to‚ it is considered useless. Testing can uncover these ‘misbehaviors‘; therefore‚ software is tested before it is delivered to a customer. However‚ testing can be compromised with due to project pressures. Therefore‚ we need to design an effective set of test cases that enable uncovering maximum errors within tight project schedules.
Test case design involves designing a set of test inputs‚ execution conditions‚ and expected results for testing an aspect of the software. Its aim is to create an optimal set of test cases to test all aspects of the software. A good test case is traceable to customer requirements‚ modular‚ and reusable. White-box testing and black-box testing are two broad approaches that can be used for designing test cases.
Equivalence partitioning is a black-box technique that helps us overcome the infeasibility of exhaustive black-box testing. This technique is based on the assumption that similar inputs invoke similar reaction. Therefore‚ instead of testing every input‚ the input domain is partitioned into equivalence classes such that each input belongs to only one class. Then‚ one or more test cases are designed for testing each class.
Boundary value analysis (BVA) is a black-box technique that is based on the assumption that if software functions correctly for the boundary values‚ it will function as well for the values that lie in between. It helps us design test cases to focus on the edges of the equivalence classes.