What Is Software Testing?

The previous sections introduced software testing and explained why it matters. We will now explore the subject in depth. First, let’s revisit the definition.

Software testing assesses the functionality of software against the customer’s requirements. It is broadly classified into:

  1. Dynamic Testing: Testing by executing the program.
  2. Static Testing: Examining the code and related documents.
Dynamic and static testing are often used together.

Black Box Testing

Black box testing focuses on what the software does, without examining its internal implementation. It can be used at every testing level: unit, integration, system and acceptance.

Black Box TestingInput Valuesfor TestingValid ValuesBoundaryValuesInvalid ValuesExecutableProgramOutput asExpectedPassOutput DoesNot MatchExpectationsFail
Open Full-Size Diagram

Black Box Testing

In black box testing, the tester focuses on what the software should do, rather than how it works internally. Test cases come from the specifications and requirements, not the internal program logic. The tester supplies valid and invalid inputs, then checks the resulting outputs.

White Box Testing

White box testing examines the source code, including its internal logic, implementation and behavior. Test cases check how the software works internally. This approach can be used at unit, integration and system levels. It can uncover internal design errors that are otherwise difficult to find, but does not identify missing requirements or specifications.

White Box TestingWhite BoxTestingStatementConditionDecisionDecision /ConditionMultiple Condition
Open Full-Size Diagram

White Box Testing

Statement Coverage

Statement coverage checks that every statement in every block of code is executed at least once and that the results are observed. It is also called line coverage or segment coverage.

Executing every statement does not necessarily exercise every condition. Some errors can therefore remain undetected even when statement coverage is complete.

Decision Coverage

Decision coverage, also called branch coverage, tests each decision’s outcomes, including true and false outcomes. A branch is an outcome of a decision. This provides stronger coverage than statement coverage alone. Decision statements include:

  1. An IF statement
  2. A loop control statement, such as do-while.
  3. A CASE statement with two or more possible outcomes.

Decision coverage exercises every branch in the code, providing a more thorough check than statement coverage alone.

Condition Coverage

Condition coverage tests individual Boolean conditions with true and false results. These conditions can play an important role in a decision’s outcome. Condition coverage does not necessarily provide complete decision coverage.

Decision / Condition Coverage

Decision/condition coverage combines testing of decisions and their individual logical conditions. It checks true and false outcomes for both, making it a strong approach to software testing.

Multiple Condition Coverage

Multiple condition coverage, also called condition combination coverage, checks the output for combinations of conditions. For example:
If (x=true OR y=true)
   Then
Print (“Hello”)
   Else
Print (“Bye”)

This example has four possible combinations of conditions:
Testcase1: x=true; y=true
Testcase2: x=true; y=false
Testcase3: x=false; y=true
Testcase4: x=false; y=false

Similarly, three Boolean conditions have eight possible combinations.




We guarantee that your free online training will make you pass your Software Testing Certification Exam!

  1. 01

    Register Online

    Choose your Accredited certification and complete your registration.

  2. 02

    Receive Your Access Code

    Your personal exam access code is delivered instantly by email.

  3. 03

    Prepare & Take Your Exam

    Study your free training and answer your 50 multiple-choice questions online.

  4. 04

    Earn Your Lifetime Credential

    Receive your worldwide-valid certificate and verifiable digital badge.

Accredited Software Test Manager Certification™ sample
Register for Certification

YOUR FREE PREMIUM ONLINE TRAINING

Your Software Testing Revealed, Second Edition, Is Ready.

We created your training with a consortium of renowned business and people leaders, software testing coaches, mentors, experts and authorities from all major industries. Everyone visiting International Software Test Institute™ can access it. Find the materials through Your Free Software Testing Book and Your Free Premium Software Testing Training in the top menu.

These materials are the copyrighted intellectual property of International Software Test Institute™. We share them freely with everyone because sharing our expertise serves software testing professionals and helps the field develop.

Your certification examination uses multiple-choice questions. Read your online training to build the knowledge you need to pass your examination and earn your Software Testing Certification.

We guarantee that your free premium online training will make you pass your Software Testing Certification Exam!