Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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

Widget Connector
overlayyoutube
_templatecom/atlassian/confluence/extra/widgetconnector/templates/youtube.vm
width400px
urlhttps://www.youtube.com/watch?v=4K5bz-Eqo4s
height300px

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.

  • Testing is conducted to gather information about the product's quality.

  • Information objectives determine the focus of the testing, such as bug hunting or evaluating project specifications.

  • Different views and definitions exist regarding what constitutes good testing.

  • Address the controversy and provide multiple definitions for testing terms.

00:03

Blackbox testing is about testing the functionality of a program without knowing how it is coded.

  • Blackbox testing focuses on whether the program does what it should and avoids doing what it shouldn't.

  • Glassbox testing, or white box testing, involves designing tests based on the characteristics of the code.

  • Gray box testing is a combination of blackbox and glassbox testing, where tests may involve variables not visible to the end user but can be seen using tools.

02:26

Blackbox testing focuses on the value and usability of the running program, while structural testing focuses on the internal implementation.

  • Blackbox testing involves understanding user needs, platform issues, and market acceptability.

  • Unit testing is the lowest level of testing, focusing on small parts of a program, while integration testing involves testing multiple components together.

  • Blackbox unit testing focuses on individual features, while integration testing tests the interaction of components.

04:55

System testing is about assessing the value of the program, while implementation level testing is about how well the program is written.

  • System testing is not just another name for high-level integration testing.

  • Functional testing treats the program like a function, while non-functional testing deals with anything that is not functional testing.

  • Lumping diverse testing tasks together under one term like "par-functional testing" is not helpful.

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.

Quiz

Test your knowledge of this section by taking a quiz here.