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:
- Dynamic Testing: Testing by executing the program.
- Static Testing: Examining the code and related documents.
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 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 TestingWhite 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 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 CoverageDecision 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:
- An IF statement
- A loop control statement, such as do-while.
- 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 CoverageCondition 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 CoverageDecision/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 CoverageMultiple 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!
- 01
Register Online
Choose your Accredited certification and complete your registration.
- 02
Receive Your Access Code
Your personal exam access code is delivered instantly by email.
- 03
Prepare & Take Your Exam
Study your free training and answer your 50 multiple-choice questions online.
- 04
Earn Your Lifetime Credential
Receive your worldwide-valid certificate and verifiable digital badge.
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!
