Unit 8: Software Testing
Testing is the process of finding errors and is one of the last activities in the software life cycle. In testing, we look to validate that software requirements analysis, software design, and software implementation mesh together correctly to deliver a software system that performs as expected, functionally and non-functionally.
As you review this unit, note the three levels of a test plan: unit, integration, and system. Each of these levels of test plan assures the quality of the overall software from varying levels of granularity. In your own practice as a software engineer, be sure to incorporate these levels of testing as this is the last stop before the software goes out the door representing your professional work and code of ethics.
Completing this unit should take you approximately 3 hours.
Upon successful completion of this unit, you will be able to:
- describe basic software testing terms, such as test case, traceability matrix, and acceptance criteria;
- compare and contrast the use of various testing strategies, including black-box, white-box, top-down, and bottom-up;
- identify different types of tests, including functional, non-functional performance, and user tests; and
- design a test plan that includes unit, integration, and system levels of test coverage.
8.1: Software Testing Terminologies
This is a quick introduction to many terminologies used in the science (and art) of testing. Do not be concerned if you do not understand them fully. We will go back and examine these topics in more depth by looking closely at test strategies (white-box, black-box, top-down, and bottom-up) and examining the levels of testing (unit test, integration test, and system test).
8.2: Software Testing Strategies
Unlike physical systems, most of the defects in software are design errors. Read about the important purpose of software testing and differentiate between verification and validation and basic software testing terms. Compare and contrast the use of various testing strategies, including black-box, white-box, top-down, and bottom-up.
In this section, you will learn about two kinds of testing strategies: how the logic is tested (via black-box and white-box testing) and how the testing is conducted (by top-down and bottom-up testing).
8.3: Software Test Coverage
In this section, see how ABC Video designs testing to validate that specification, design, and coding mesh with functional and non-functional requirements of the system.
Unit 8 Assessment
- Receive a grade
Take this assessment to see how well you understood this unit.
- This assessment does not count towards your grade. It is just for practice!
- You will see the correct answers when you submit your answers. Use this to help you study for the final exam!
- You can take this assessment as many times as you want, whenever you want.