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

Principles of ST

Uploaded by

letuananh.lqd
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)
7 views

Principles of ST

Uploaded by

letuananh.lqd
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/ 20

Software Testing

Principles of Testing

“Testing can only show the presence of errors,


not their absence”
Assessing software quality You think
you are here

Many High Few


Few
Faults Faults
Faults

Low High
Software Quality

Few Test Few


Faults Quality Faults

You may
be here

Low 2
A traditional testing approach

 Show that the system:


- does what it should
- doesn't do what it shouldn't
Goal: show working
Success: system works

Fastest achievement: easy test cases

Result: faults left in


3
A better testing approach

 Show that the system:


- does what it shouldn't
- doesn't do what it should
Goal: find faults
Success: system fails

Fastest achievement: difficult test cases

Result: fewer faults left in


4
Why not just "test everything"?
Avr. 4 menus
3 options / menu

system has Average: 10 fields / screen


20 screens 2 types input / field
(date as Jan 3 or 3/1)
(number as integer or decimal)
Around 100 possible values

Total for 'exhaustive' testing:


20 x 4 x 3 x 10 x 2 x 100 = 480,000 tests
If 1 second per test, 8000 mins, 133 hrs, 17.7 days
(not counting finger trouble, faults or retest)

10 secs = 34 wks, 1 min = 4 yrs, 10 min = 40 yrs 5


How much testing is enough?

- it’s never enough


- when you have done what you planned
- when your customer/user is happy
- when you have proved that the system works
correctly
- when you are confident that the system works
correctly
- it depends on the risks for your system

6
Most important principle

Prioritise tests
so that,
whenever you stop testing,
you have done the best testing
in the time available.

7
Seven Testing Principles

1. Testing shows the presence of defects


2. Exhaustive testing is impossible
3. Early testing
4. Defect clustering
5. Pesticide paradox
6. Testing is context dependent
7. Absence-of-errors fallacy

8
7 Principles of Software Testing

1 Chỉ ra sự hiện diện của lỗi


2 Không thể kiểm thử hết mọi
trường hợp
3 Kiểm thử càng sớm càng tốt
4 Lỗi xảy ra theo “cụm”
5 Nghịch lý “thuốc trừ sâu”
6 Phụ thuộc ngữ cảnh hệ thống
7 “Ảo tưởng” về việc không lỗi

9
Testing shows presence of defects

10
Exhaustive testing is not possible

 A scenario where you are moving a file from


folder A to Folder B.

11
Exhaustive testing is not possible
 Instead, we need the optimal amount of
testing based on the risk assessment of the
application.

12
Early Testing

13
Defect clustering

14
Defect clustering

15
The testing paradox

Purpose of testing: to find faults


Finding faults destroys confidence
Purpose of testing: destroy confidence

Purpose of testing: build confidence

The best way to build confidence


is to try to destroy it

16
Pesticide paradox

17
Testing is context dependent

18
Absence of errors fallacy

19
Q&A???

 Hiểu rõ các nguyên tắc trong kiểm thử phần mềm


để làm gì?

20

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy