Professional Documents
Culture Documents
Software Testing
Nguyn t Thng Faculty of Mathematics and Informatics University of Science, VNU-HCM
Course
Name: Software Testing 1 Lecturer: Nguyn t Thng Credit: 3 Duration: Presentation: 13 weeks On-the-fly practice: 02 weeks Lab practice: 10 weeks Prerequisites: Software Engineering
Nguyn t Thng Software Testing 2
Content
1
Introduction Test Principles Test Types Test Techniques Test Methodologies Test Automation Test Management Test Tools Test a Software Project
Software Testing 3
Nguyn t Thng
Practice
Test Analysis
Test Report
Test Case
Tester
Bug Tracking
Bug Report
Nguyn t Thng
Software Testing
Evaluate
Mid-term exam: 30% Type: Writing Time: Up to chapter 6 Lab practice: 30% Type: On lab Time: 15th week Final exam: 50% Type: Multiple choice Time: (Depend)
Nguyn t Thng Software Testing 5
Reference
1. Internet Source. Keyword: Software Testing, Test Methodology, Test Principles, Test Tool, Test Technique. 2. Dorothy Graham, Erik van Veenendaal, Isabel Evans, Rex Black Foundations of Software Testing 3. Software Testing Help http://www.softwaretestinghelp.com 4. The UML Testing Profile http://www.omg.org
Nguyn t Thng Software Testing 6
Reference (2)
6. Wikipedia, the free encyclopedia http://en.wikipedia.org/wiki
Nguyn t Thng
Software Testing
Chapter 1
Introduction
Nguyn t Thng
Software Testing
Content
1
Introduction Test Principles Test Types Test Techniques Test Methodologies Test Automation Test Management Test Tools Test a Software Project
Software Testing 9
Nguyn t Thng
Introduction
What is a bug? Quality and Reliability Why is testing necessary? Purposes of testing No bugs found How much testing is enough? Test approaches Which factors influence test? Independence in test Who are Testers?
Nguyn t Thng Software Testing 10
What is a bug?
Error: a human action that produces an incorrect result Fault: a manifestation of an error in software also known as a defect or bug if executed, a fault may cause a failure Failure: deviation of the software from its expected delivery or service (found defect)
Nguyn t Thng Software Testing 11
Nguyn t Thng
Software Testing
12
Software is not linear: Small input may have very large effect
Nguyn t Thng Software Testing 15
Nguyn t Thng
Software Testing
16
Testing is not:
to prove that the software has no bugs to fill the time before the release date because testing is included in the project plan
Nguyn t Thng Software Testing 17
Purposes of testing
Purposes of testing are to: find bugs/faults build confidence demonstrate conformance to requirements reduce costs show system meets user needs assess the software quality improve the software quality: reliability, efficiency, security, usability, maintainability, reusability, testability, etc.
Nguyn t Thng Software Testing 18
No bugs found
Confidence
Bugs found
Time
Many Bugs
Few Bugs
High
Test Quality
Few Bugs
Low
Software Testing 20
Average: 10 fields / screen 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 1 sec/test-> 8000 mins ~ 133 hrs ~ 17.7 days (not counting finger trouble, bugs or retest) 10 secs-> 34 wks, 1 min-> 4 yrs, 10 min-> 40 yrs
We cannot test everything
Nguyn t Thng Software Testing 21
Nguyn t Thng
Software Testing
22
Nguyn t Thng
Software Testing
23
Nguyn t Thng
Software Testing
24
Nguyn t Thng
Software Testing
25
Nguyn t Thng
Software Testing
26
Test approaches
Traditional testing approach Show that the system:
does what it should doesn't do what it shouldn't
Nguyn t Thng
Software Testing
27
Nguyn t Thng
Software Testing
28
Nguyn t Thng
Software Testing
29
Independence in test
Test your own work? find 30% - 50% of your own bugs same assumptions and thought processes see what you meant or want to see, not what is there emotional attachment
dont want to find bugs actively want NOT to find bugs
Nguyn t Thng
Software Testing
34
Questions
The important thing is not to stop questioning. Curiosity has its own reason for existing.
(Albert Einstein)
Nguyn t Thng
Software Testing
35