Basic Terminology
The second set of basic terminology for Software Testing.
Learning Objectives
The purpose of this section is to give you an overview of software testing, emphasizing the importance of focusing on information objectives and differentiating between blackbox and glassbox testing. It also discusses various levels and approaches to testing, including unit testing, integration testing, and system testing.
Â
Core Topics and Takeaways
SW Test
Stakeholders
Purpose of SW Testing - what are we looking for?
Black Box Testing
Glass Box Testing (also known as White Box)
Behavioural Testing
Unit, Integration and System Testing
Functional and par-functional Testing
Video Highlights
Topic | Key Concepts | Video Location |
---|---|---|
Quality testing involves running experiments to learn about the product, focusing on different information objectives such as finding bugs or ensuring project specifications are met. |
| 00:03 |
Blackbox testing is about testing the functionality of a program without knowing how it is coded. |
| 02:26 |
Blackbox testing focuses on the value and usability of the running program, while structural testing focuses on the internal implementation. |
| 04:55 |
System testing is about assessing the value of the program, while implementation level testing is about how well the program is written. |
| 07:21 |
Learning Highlights
Testing as experimentation to learn about product quality, conducted for stakeholders seeking information. You will be introduced to the concept of information objectives—focused testing based on questions. Black box testing, treating a program as a closed system, contrasting with glass box testing that examines the code. Behavioral testing, prioritizing visible behavior over code details, is discussed. Distinctions include unit, integration, system, and implementation-level testing. The video advocates for specific categorizations due to diverse testing needs.
Core Learning Concepts
Unit testing
Unit testing is a software testing method where individual units or components of a software are tested in isolation. The purpose is to validate that each unit of the software performs as designed. It helps identify and fix bugs early in the development process.
For example, in a banking application, a unit test could be created to verify the functionality of a specific module responsible for calculating interest on a savings account. This test would validate that the interest calculation logic behaves as expected when given various input scenarios.
Integration Testing
Integration testing is a software testing method where individual units or components are combined and tested as a group. The purpose is to ensure that the interactions between these integrated units work as expected and that the overall system functions correctly.
For example, in an e-commerce application, integration testing may involve testing the interaction between the user interface, the product inventory system, and the payment processing system to ensure that they work together seamlessly when a customer places an order.
System Testing
System testing is a level of software testing where a complete and integrated software system is tested to evaluate its compliance with the specified requirements. It tests the system as a whole rather than individual components, focusing on verifying that the entire system meets the intended functionality and performance.
For instance, in a healthcare management system, system testing would involve testing the entire software to ensure that functions such as patient registration, appointment scheduling, billing, and medical records management work together as intended and meet the system requirements.
Â