Software Testing
[Landing]
1 Overview
- A Famous Quote: "Testing shows the presence, not the absence, of bugs" – Edsger W. Dijkstra, 1969, Turning Award Winner 1972
- Goals of Software Testing
- Goals of Debugging
- Definition of a "Test"
- Test Generation and Test Coverage
- Equivalence Class Testing
- Overview/Goals all the above
2 Unit Testing
- What is a Unit? A "piece" of source code. Function, Procedure, Method, Class, …
- JUnit https://junit.org/junit5/ JUnit is included in IDEA
- TestNG https://testng.org/doc/idea.html TestNG is included in IDEA
- ./testing-units.html all the above
3 Integration Testing
- Test (all) the units together. It occurs after unit testing and before validation testing.
- It is fairly common that even after successful unit testing of all units, integration testing fails.
- ./testing-integrated.html all the above
4 Mutation Testing
- Mutation testing evaluates the quality of existing software tests. Mutation minorly modifies a program under test, and then applies a test suite.
- ./mutation.html all the above
5 References
- http://en.wikipedia.org/wiki/Mutation_testing Required Reading.
- http://courses.cs.washington.edu/courses/cse331/16wi/L08/L08-Testing.pdf 40+ slides. Recommended Reading.
- Several slides are noted in the refs of Overview/Goals