CSC116: Software Testing
Authors: Dr. Sarah Heckman (sarah_heckman@ncsu.edu
), Dr. Jason King (jtking@ncsu.edu
), and Dr. Jessica Young Schmidt (jessica_schmidt@ncsu.edu
)
Date: 8/2017
Version: 6.0.0
Learning Outcomes
- Describe the purpose of testing.
- Describe the testing process.
- Describe how black box and white box testing differ and why each are necessary.
- Describe the purpose of black box testing.
- Write black box test cases in table form (Black Box Test Plan) based on program requirements.
- Write black box test cases using equivalence classes and boundary value analysis.
- Describe the purpose of white box testing.
- Write white box test cases in the form of a test class.
- Draw a control flow diagram for given code. Calculate the cyclomatic complexity of given code.
- List valid path through given code using control flow diagram.
- Write white box test cases using basis paths, equivalence classes, and boundary value analysis
- Describe the purpose of debugging.
- Apply debugging techniques.
The following are the software testing materials we will use within CSC116:
- Introduction
- Test Cases
- Testing Process
- Testing Strategies
- Example Programming Scenario
- Create Project Directory
- Create Project Directory
- Create Project Directory
- Create Project Directory
- Create Project Directory
- Create Project Directory
- Create Project Directory
- Create Project Directory
- Black Box Testing
- Black Box Testing: Test Requirements
- Black Box Testing: Test Equivalence Classes
- Black Box Testing: Test Boundary Values
- White Box Testing
- White Box Testing: Download JUnit Libraries
- White Box Testing: Write Test Cases
- White Box Testing: Compile and Execute the Test Cases
- White Box Testing: Test Requirements
- White Box Testing: Test Equivalence Classes
- White Box Testing: Test Boundary Values
- White Box Testing: Test All Paths
- White Box Testing: Testing Exceptions
- Summary
- Appendix