0% found this document useful (0 votes)
5 views32 pages

Understanding Software Testing Basics

tes

Uploaded by

donaldmunai
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)
5 views32 pages

Understanding Software Testing Basics

tes

Uploaded by

donaldmunai
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

Software Testing

Software Testing Introduction

Tran Duy Hoang


Content

• What is Software Testing?


• Why must we test?
• What does a Software Tester do?
• Potentials of Software Testing Career?
• Tester is a “low-level” job?
• How is a good tester?

Department of Software Engineering 2


Content

• What is Software Testing?


• Why must we test?
• What does a Software Tester do?
• Potentials of Software Testing Career?
• Tester is a “low-level” job?
• How is a good tester?

Department of Software Engineering 3


Verification & Validation

Department of Software Engineering 4


Verification & Validation

Department of Software Engineering 5


Verification & Validation

• Verification
• “Are we building the product right”
• Making sure that software conforms to its specification

• Validation
• “Are we building the right product”
• Making sure software does what users really need

Department of Software Engineering 6


V&V process

• A whole life-cycle process


• V&V must be applied at each stage in the software process
• Planning, requirements engineering, analysis and design, implementation, etc.

• Principal objectives of V&V process


• Discovery of defects in software
• Assessment of whether software is useful and useable
• Establishing confidence in software

Department of Software Engineering 7


Static and dynamic V&V

• Software inspections (static V&V)


• Concerned with analysis of static software representation to discover
problems
• E.g., requirements review, code review, etc.

• Software testing (dynamic V&V)


• Concerned with exercising and observing software behavior
• Involving running software with test data

Department of Software Engineering 8


Software Testing

Testing is the process consisting of all lifecycle activities,


concerned with planning, preparation and evaluation of software
products to determine that they satisfy specified requirements, to
demonstrate that they are fit for purpose and to detect defects.

Department of Software Engineering 9


Test Oracle

Expected Actual

• Test Oracle: a source of information about whether the output of a


program (or function or method) is correct or not

Department of Software Engineering 10


Error – Fault – Failure
A person makes
an error ...

… that creates a
fault in the
software ...

… that can cause


a failure
in operation
Fault / Defect / Bug

Department of Software Engineering 11


Testing vs. Debug

• Testing: finding input that cause the program to fail


• Debug: the process of finding a fault given by a failure

Department of Software Engineering 12


Test Bed

• The test execution environment configured for testing


• Hardware
• Software
• Operating system
• Network configuration
• The product/application under test (AUT)
• Other system/application
• …

Department of Software Engineering 13


Content

• What is Software Testing?


• Why must we test?
• What does a Software Tester do?
• Potentials of Software Testing Career?
• Tester is a “low-level” job?
• How is a good tester?

Department of Software Engineering 14


Department of Software Engineering 15
Why must we test?

“A clever person solves a problem. A wise person avoids it”


Albert Einstein
Software bugs could be expensive and even dangerous

Korean Air Flight 801 crashed, 1997 Ariane 5 rocket exploded, 1996
254 people dead & injured $500 million lost

Department of Software Engineering 16


Cost of fixing defects

Department of Software Engineering 17


Objective of Testing

• Detect Faults
• Establish confidence in the software
• Evaluate properties of the software
• Reliability
• Performance
• Memory usage
• Security
• Usability
• …

Department of Software Engineering 18


Objectives of Testing

• Should NOT be to verify that the program works correctly


• If you can’t test the program completely, you can’t verify that it works
correctly
• “Testing can show the presence of bugs, but not the absence” - Dijkstra

If you set your mind to show that a program


works correctly, you’ll be more likely to miss
problems than if you want and expect the
program to fail.

Department of Software Engineering 19


Objectives of Testing

The Objective of Testing a Program is to Find Problems


Finding problems is the core of your work. You should want to find as
many problems as possible. The more serious testers find, the
better tester is.
A test that reveals a problem is a success. A test that did not reveal a
problem is (often) a waste of time.

Department of Software Engineering 20


Objectives of Testing

The Purpose of Finding Problems is to Get Them Fixed


The point of the exercise is quality improvement!
• The best tester is not the one who finds the most bugs or who embarrasses
the most programmers.
• The best tester is the one who gets the most bugs fixed.

Department of Software Engineering 21


Content

• What is Software Testing?


• Why must we test?
• What does a Software Tester do?
• Potentials of Software Testing Career?
• Tester is a “low-level” job?
• How is a good tester?

Department of Software Engineering 22


Department of Software Engineering 23
QC vs. QA

Department of Software Engineering 24


Content

• What is Software Testing?


• Why must we test?
• What does a Software Tester do?
• Potentials of Software Testing Career?
• Tester is a “low-level” job?
• How is a good tester?

Department of Software Engineering 25


Department of Software Engineering 26
Software Testing Career Path

Department of Software Engineering 27


Content

• What is Software Testing?


• Why must we test?
• What does a Software Tester do?
• Potentials of Software Testing Career?
• Tester is a “low-level” job?
• How is a good tester?

Department of Software Engineering 28


Department of Software Engineering 29
Domain Knowledge

Department of Software Engineering 30


Good Software Tester

Department of Software Engineering 31


Tester vs. Developer

Department of Software Engineering 32

You might also like