0% found this document useful (0 votes)
17 views

Testing Terminologies2

Testing criteria 2

Uploaded by

samit.sen
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views

Testing Terminologies2

Testing criteria 2

Uploaded by

samit.sen
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 11

Software Testing: Terminologies and Processes

Meenakshi D’Souza

International Institute of Information Technology


Bangalore.
Testing goals based on process maturity

Organizations tend to work with one or more of the following


levels:
Level 0: There is no difference between testing and
de-bugging.
Level 1: The purpose of testing is to show correctness.
Level 2: The purpose of testing is to show that software
doesn’t work.
Level 3: The purpose of testing is not to prove anything
specific, but to reduce the risk of using the software.
Level 4: Testing is a mental discipline that helps all IT
professionals develop higher quality software.
Testing process: Level 0 thinking

Testing is the same as debugging.


Does not distinguish between incorrect behavior and mistakes
in the program.
Does not help develop software that is reliable or safe.
Testing process: Level 1 thinking

Purpose is to show correctness. Correctness is impossible to


achieve.
What do we know if no failures? Good software or bad tests?
Test engineers typically do not have:
Strict goal
Real stopping rule
Formal test technique
Testing process: Level 2 thinking

Purpose is to show failures.


Looking for failures is a negative activity. Puts testers and
developers into an adversarial relationship.
Typically, many software companies are in this level.
Testing process: Level 3 thinking

Testing can only show the presence of failures.


Whenever we use software, we incur some risk.
Risk may be small and consequences unimportant.
Risk may be great and consequences catastrophic.
Testers and developers cooperate to reduce risk.
Testing process: Level 4 thinking

A mental discipline that increases quality. Testing is only one


way to increase quality.
Test engineers can become technical leaders of the project.
Primary responsibility to measure and improve software
quality.
This course vs. Testing process levels

We will deal with technical aspects of testing that will help


with level 3 and 4 thinking.
This course will help you write
test objectives.
Define/understand how to plan and achieve coverage in code,
design and requirements.
Teach you the algorithmic aspects of testing.
Controllability and Observability

Two important concepts in software testing.


Controllability: Controllability is about how (easy it is) to
provide inputs to the software module under test in terms of
reaching the module and running the test cases on the module
under test.
Observability: Observability is about how (easy it is) to
observe the software module under test and check if the
module behaved as expected.
Module under test can be anywhere!

Module/method under test can be hidden deep in the code and


may not accept any inputs directly.
Techniques: Observability and Controllability

Mostly done manually or using the test automation tool.


We will learn a couple of techniques for these.

You might also like