warning
DESCRIPTION
WARNING. These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010. They may not show up well on other PowerPoint versions . You can download PowerPoint 2010 viewer from here . - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/1.jpg)
WARNING
These slides are not optimized for printing or exam preparation. These are for lecture delivery only.
These slides are made for PowerPoint 2010. They may not show up well on other PowerPoint versions. You can download PowerPoint 2010 viewer from here.
These slides contain a lot of animations. For optimal results, watch in slideshow mode.
![Page 2: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/2.jpg)
![Page 3: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/3.jpg)
![Page 4: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/4.jpg)
![Page 5: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/5.jpg)
But it worked in my
machine!Our
tester
Your software
![Page 6: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/6.jpg)
Quality Assurance: Testing and Beyond
CS2103/T, Lecture 9, Part 1, [Oct 18, 2013]
![Page 7: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/7.jpg)
![Page 8: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/8.jpg)
Validation Verification
[Quality Assurance]
![Page 9: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/9.jpg)
Validation Verification
[Quality Assurance]
Are we building the correct product?
Are we building the product correctly?
![Page 10: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/10.jpg)
Validation Verification
[Quality Assurance]
Are we building the correct product?
Are we building the product correctly?
![Page 11: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/11.jpg)
Validation Verification
[Quality Assurance]
Are we building the correct product?
Are we building the product correctly?
FAIL!
![Page 12: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/12.jpg)
Validation Verification
[Quality Assurance]
Are we building the correct product?
Are we building the product correctly?
FAIL! FAIL!
![Page 13: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/13.jpg)
Validation Verification
[Quality Assurance]
Buggy requirements Buggy code
FAIL! FAIL!
![Page 14: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/14.jpg)
Validation Verification
[Quality Assurance]
Two QA activities for a PC version of a ‘Snakes and ladders’ game:a) Ensure that the game allows players to decide
who throws the die first.b) When more than one piece is on a square,
ensure that it is the piece that belongs to the current player that will be moved.
(Are we building the correct product?)
(Are we building the product correctly?)
snakes {a|b}e.g. snakes a
77577tinyurl.com/questionSMS
Which one is more related to verification than validation?
![Page 15: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/15.jpg)
Validation Verification
[Quality Assurance]
![Page 16: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/16.jpg)
Validation Verification
[Quality Assurance]
![Page 17: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/17.jpg)
Validation Verification
E.g. Acceptance testing E.g. System testing
[Quality Assurance]
![Page 18: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/18.jpg)
Validation Verification
E.g. Acceptance testing E.g. System testing
[Quality Assurance]
Product
![Page 19: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/19.jpg)
Validation Verification
E.g. Acceptance testing E.g. System testing
[Quality Assurance]
Product
![Page 20: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/20.jpg)
Validation Verification
E.g. Acceptance testing E.g. System testing
[Quality Assurance]
Product
![Page 21: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/21.jpg)
Validation Verification
E.g. Acceptance testing E.g. System testing
[Quality Assurance]
Product
But it worked in my
machine!
![Page 22: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/22.jpg)
Validation Verification
E.g. Acceptance testing E.g. System testing
[Quality Assurance]
Product
![Page 23: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/23.jpg)
Validation Verification
E.g. Acceptance testing E.g. System testing
[Quality Assurance]
Product
System specification
Requirements specification
![Page 24: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/24.jpg)
Validation Verification
E.g. Acceptance testing E.g. System testing
[Quality Assurance]
Product
System specification
Requirements specification
![Page 25: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/25.jpg)
Validation Verification
[Quality Assurance]
Product
E.g. Acceptance testing E.g. System testing
![Page 26: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/26.jpg)
Validation Verification
[Quality Assurance]
Product
E.g. Acceptance testing E.g. System testing
![Page 27: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/27.jpg)
Validation Verification
[Quality Assurance]
Product
E.g. Acceptance testing E.g. System testing
![Page 28: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/28.jpg)
Validation Verification
E.g. Acceptance testing E.g. System testing
Back-end
GUI
[Quality Assurance]
Product
![Page 29: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/29.jpg)
Validation Verification
E.g. Acceptance testing E.g. System testing
Back-end
GUI
[Quality Assurance]
GUI testing
![Page 30: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/30.jpg)
Validation Verification
E.g. Acceptance testing E.g. System testing
Back-end
GUI
[Quality Assurance]
GUI testing
![Page 31: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/31.jpg)
Validation Verification
E.g. Acceptance testing E.g. System testing
Back-end
GUI
[Quality Assurance]
GUI testing
![Page 32: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/32.jpg)
Validation Verification
E.g. Acceptance testing E.g. System testing
Back-end
GUI
[Quality Assurance]
GUI testing
GU
I
Logic
Automated API tester
Manual testing
(or automate)
![Page 33: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/33.jpg)
Validation Verification
E.g. Acceptance testing E.g. System testing
Back-end
GUI
[Quality Assurance]
GUI testing
GU
I
Logic
Automated API tester
Manual testing
(or automate)
![Page 34: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/34.jpg)
Validation Verification
E.g. Acceptance testing E.g. System testing
Back-end
GUI
[Quality Assurance]
GUI testing
![Page 35: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/35.jpg)
GUI testing
![Page 36: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/36.jpg)
GUI testing
![Page 37: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/37.jpg)
GUI testing
![Page 38: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/38.jpg)
GUI testing
![Page 39: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/39.jpg)
GUI testing
![Page 40: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/40.jpg)
GUI testing
![Page 41: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/41.jpg)
Validation Verification
E.g. Acceptance testing E.g. System testing
Back-end
GUI
[Quality Assurance]
GUI testing
![Page 42: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/42.jpg)
Validation Verification
E.g. Acceptance testing E.g. System testing
Back-end
GUI
[Quality Assurance]
![Page 43: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/43.jpg)
Validation Verification
E.g. Acceptance testing E.g. System testing
[Quality Assurance]
← How much of this is being tested?
![Page 44: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/44.jpg)
Validation Verification
E.g. Acceptance testing E.g. System testing
[Quality Assurance]
← How much of this is being tested?
![Page 45: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/45.jpg)
![Page 46: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/46.jpg)
![Page 47: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/47.jpg)
![Page 48: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/48.jpg)
![Page 49: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/49.jpg)
Using EclEmma coverage tool on TEAMMATES
![Page 50: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/50.jpg)
Validation Verification
E.g. Acceptance testing E.g. System testing
[Quality Assurance]
← How much of this is being tested?
![Page 51: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/51.jpg)
Validation Verification
E.g. Acceptance testing E.g. System testing
[Quality Assurance]
← How much of this is being tested?
Statement coverage
Function coverage
Condition coverage
Exit/entry coverage
Branch coverage
Path coverage
![Page 52: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/52.jpg)
Validation Verification
E.g. Acceptance testing E.g. System testing
[Quality Assurance]
← How much of this is being tested?
Statement coverage
Path coverage
![Page 53: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/53.jpg)
Validation Verification
E.g. Acceptance testing E.g. System testing
[Quality Assurance]
← How much of this is being tested?
Statement coverage
Path coveragevoid readInput(){
while ( hasInput() ) input += readFromKeyboard();
}
![Page 54: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/54.jpg)
Validation Verification
E.g. Acceptance testing E.g. System testing
[Quality Assurance]
← How much of this is being tested?
Statement coverage
void readInput(){while ( hasInput() )
input += readFromKeyboard();}
![Page 55: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/55.jpg)
Validation Verification
E.g. Acceptance testing E.g. System testing
[Quality Assurance]
← How much of this is being tested?
void readInput(){while ( hasInput() )
input += readFromKeyboard();}
Path coverage
![Page 56: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/56.jpg)
Validation Verification
E.g. Acceptance testing E.g. System testing
[Quality Assurance]
← How much of this is being tested?
void readInput(){while ( hasInput() )
input += readFromKeyboard();}
Path coverage
![Page 57: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/57.jpg)
Validation Verification
E.g. Acceptance testing E.g. System testing
[Quality Assurance]
← How much of this is being tested?
void readInput(){while ( hasInput() )
input += readFromKeyboard();}
Path coverage
![Page 58: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/58.jpg)
Validation Verification
E.g. Acceptance testing E.g. System testing
[Quality Assurance]
← How much of this is being tested?
void readInput(){while ( hasInput() )
input += readFromKeyboard();}
Path coverage
![Page 59: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/59.jpg)
Validation Verification
E.g. Acceptance testing E.g. System testing
[Quality Assurance]
← How much of this is being tested?
void readInput(){while ( hasInput() )
input += readFromKeyboard();}
Path coverage
![Page 60: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/60.jpg)
Validation Verification
E.g. Acceptance testing E.g. System testing
[Quality Assurance]
← How much of this is being tested?
Path coveragevoid readInput(){
while ( hasInput() ) input += readFromKeyboard();
}
Control Flow Graphs
![Page 61: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/61.jpg)
Validation Verification
E.g. Acceptance testing E.g. System testing
[Quality Assurance]
← How much of this is being tested?
Statement coverage
Function coverage
Condition coverage
Exit/entry coverage
Branch coverage
Path coverage
![Page 62: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/62.jpg)
Validation Verification
E.g. Acceptance testing
[Quality Assurance]
E.g. System testing
just testing?
![Page 63: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/63.jpg)
Validation Verification
E.g. Acceptance testing
[Quality Assurance]
E.g. System testing
Other QA techniques
just testing?
![Page 64: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/64.jpg)
[Quality Assurance]
Other QA techniques
![Page 65: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/65.jpg)
Validation Verification
E.g. Acceptance testing
[Quality Assurance]
Code reviews • static analysis • formal methods• …
Other QA techniques
![Page 66: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/66.jpg)
Validation Verification
E.g. Acceptance testing
[Quality Assurance]
Other QA techniques
Code reviews • static analysis • formal methods• …
![Page 67: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/67.jpg)
Validation Verification
E.g. Acceptance testing
[Quality Assurance]
Other QA techniques
Code reviews • static analysis • formal methods• …
![Page 68: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/68.jpg)
Validation Verification
E.g. Acceptance testing
[Quality Assurance]
Other QA techniques
Code reviews • static analysis • formal methods• …
![Page 69: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/69.jpg)
Validation Verification
E.g. Acceptance testing
[Quality Assurance]
Other QA techniques
Code reviews • static analysis • formal methods• …
![Page 70: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/70.jpg)
Validation Verification
E.g. Acceptance testing
[Quality Assurance]
Other QA techniques
Code reviews • static analysis • formal methods• …
Using CodeProAnalytix static analysis tool on TEAMMATES
![Page 71: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/71.jpg)
Validation Verification
E.g. Acceptance testing
[Quality Assurance]
Other QA techniques
Code reviews • static analysis • formal methods• …
![Page 72: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/72.jpg)
Validation Verification
E.g. Acceptance testing
[Quality Assurance]
Other QA techniques
Code reviews • static analysis • formal methods• …
SUT doubleAmount(int):int
![Page 73: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/73.jpg)
Validation Verification
E.g. Acceptance testing
[Quality Assurance]
Other QA techniques
Code reviews • static analysis • formal methods• …
Text case 1: Input: 23 Expected output: 46
Text case 2: Input: 10 Expected output : 20
Text case n: Input: -2 Expected output : -4
…
Testi
ng
SUT doubleAmount(int):int
![Page 74: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/74.jpg)
Validation Verification
E.g. Acceptance testing
[Quality Assurance]
Other QA techniques
Code reviews • static analysis • formal methods• …
Mathematically prove if input = x
then, output = 2x
Testi
ng
SUT doubleAmount(int):int
Text case 1: Input: 23 Expected output: 46
Text case 2: Input: 10 Expected output : 20
Text case n: Input: -2 Expected output : -4
…
![Page 75: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/75.jpg)
Validation Verification
E.g. Acceptance testing
[Quality Assurance]
Other QA techniques
Code reviews • static analysis • formal methods• …
![Page 76: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/76.jpg)
Validation Verification
E.g. Acceptance testing
[Quality Assurance]
Other QA techniques
Code reviews • static analysis • formal methods• …
![Page 77: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/77.jpg)
![Page 78: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/78.jpg)
Have the ability to relate these concepts to the project: validation, verification, system testing, acceptance testing , code coverage, GUI testing, other QA techniques.
For example, the ability to explain how the above was done in the project, or why they were not done and how you could have done them.
You are welcome to, but not required to, use • Automation of GUI testing• Using tools to measure coverage• Path analysis• Apply other QA techniques
![Page 79: WARNING](https://reader037.vdocuments.us/reader037/viewer/2022110405/56813240550346895d98afdc/html5/thumbnails/79.jpg)
If all tests pass and those tests achieve100% path coverage (all possible execution paths through the code have been tested), can the software still have bugs?
(Discuss with neighbors before submitting)
buggy {yes|no}e.g. buggy yes
77577tinyurl.com/questionSMS