testing iii - california state university, northridgetwang/380/slides/week16.pdf · • white box...
TRANSCRIPT
![Page 1: Testing III - California State University, Northridgetwang/380/Slides/Week16.pdf · • White box testing ... FTX 483 G-H Combination Possible Test Case Branch TXX 0,4,5 I-J ... Testing](https://reader031.vdocuments.mx/reader031/viewer/2022030400/5a7025967f8b9aac538baac0/html5/thumbnails/1.jpg)
Testing IIITesting III
Week 16
![Page 2: Testing III - California State University, Northridgetwang/380/Slides/Week16.pdf · • White box testing ... FTX 483 G-H Combination Possible Test Case Branch TXX 0,4,5 I-J ... Testing](https://reader031.vdocuments.mx/reader031/viewer/2022030400/5a7025967f8b9aac538baac0/html5/thumbnails/2.jpg)
Agenda (Lecture)Agenda (Lecture)
• White box testingWhite box testing– Condition coverage– Loop coverageLoop coverage– Path coverage
![Page 3: Testing III - California State University, Northridgetwang/380/Slides/Week16.pdf · • White box testing ... FTX 483 G-H Combination Possible Test Case Branch TXX 0,4,5 I-J ... Testing](https://reader031.vdocuments.mx/reader031/viewer/2022030400/5a7025967f8b9aac538baac0/html5/thumbnails/3.jpg)
Agenda (Lab)Agenda (Lab)
• ImplementationImplementation• Review of SRS/SDD documents• Submit a weekly project progress report at the endSubmit a weekly project progress report at the end of this week lab session
![Page 4: Testing III - California State University, Northridgetwang/380/Slides/Week16.pdf · • White box testing ... FTX 483 G-H Combination Possible Test Case Branch TXX 0,4,5 I-J ... Testing](https://reader031.vdocuments.mx/reader031/viewer/2022030400/5a7025967f8b9aac538baac0/html5/thumbnails/4.jpg)
Condition CoverageCondition Coverage
• All possible values of the predicates of compoundAll possible values of the predicates of compound conditions are exercised at least once
• Lazy evaluationy
![Page 5: Testing III - California State University, Northridgetwang/380/Slides/Week16.pdf · • White box testing ... FTX 483 G-H Combination Possible Test Case Branch TXX 0,4,5 I-J ... Testing](https://reader031.vdocuments.mx/reader031/viewer/2022030400/5a7025967f8b9aac538baac0/html5/thumbnails/5.jpg)
Test Cases for Condition CoverageTest Cases for Condition Coverage
Node Source LineNode Source LineA read a, b, cB type = “scalene”C if (a==b || b==c || a==c)D type = “isosceles”E if (a == b && b == c)( )F type = “equilateral”G if ( a >= b + c || b > a + c || c > = a + b)H type = “not a triangle”H type = not a triangleI if ( a <= 0 || b <= 0 || c <=0)J type = “bad inputs”K print type
![Page 6: Testing III - California State University, Northridgetwang/380/Slides/Week16.pdf · • White box testing ... FTX 483 G-H Combination Possible Test Case Branch TXX 0,4,5 I-J ... Testing](https://reader031.vdocuments.mx/reader031/viewer/2022030400/5a7025967f8b9aac538baac0/html5/thumbnails/6.jpg)
Test Cases for Condition CoverageTest Cases for Condition Coverage
if (a==b || b==c || a==c) if (a==b && b==c)
Combination Possible Test Case
Branch
TXX 3,3,4 ABC-D
Combination Possible Test Case
Branch
TT 3,3,3 E-F
( )
TXX 3,3,4 ABC D
FTX 4,3,3 ABC-D
FFT 3,4,3 ABC-D
TT 3,3,3 E F
TF 3,3,4 E-G
FX 4,3,3 E-G
FFF 3,4,5 ABC-D
Combination Possible Branch Combination Possible Branch
if (a >= b + c || b >= a + c || c >= a + b) if (a <= 0 || b <= 0 || c <= 0))
Combination Possible Test Case
Branch
TXX 8,4,3 G-H
FTX 4 8 3 G-H
Combination Possible Test Case
Branch
TXX 0,4,5 I-J
FTX 4 -2 -2 I-JFTX 4,8,3 G H
FFT 4,3,8 G-H
FFF 3,3,3 G-I
FTX 4, 2, 2 I J
FFT 5,4,-3 I-J
FFF 3,3,3 I-K
![Page 7: Testing III - California State University, Northridgetwang/380/Slides/Week16.pdf · • White box testing ... FTX 483 G-H Combination Possible Test Case Branch TXX 0,4,5 I-J ... Testing](https://reader031.vdocuments.mx/reader031/viewer/2022030400/5a7025967f8b9aac538baac0/html5/thumbnails/7.jpg)
Condition CoverageCondition Coverage
• Combination of edge coverage and more detailedCombination of edge coverage and more detailed conditions– Edge: Every edge of the control flow graph is g y g g pexecuted at least once
– Condition: All values of conditions are exercised at least once
• More precise than branch coverage
![Page 8: Testing III - California State University, Northridgetwang/380/Slides/Week16.pdf · • White box testing ... FTX 483 G-H Combination Possible Test Case Branch TXX 0,4,5 I-J ... Testing](https://reader031.vdocuments.mx/reader031/viewer/2022030400/5a7025967f8b9aac538baac0/html5/thumbnails/8.jpg)
Path CoveragePath Coverage
• Select test cases such that every path inSelect test cases such that every path in the graph is visited
• Finer than all previous criteria and an ideal criterionFiner than all previous criteria and an ideal criterion• However, number of paths is exponential in decisions; almost infinite paths needs in arbitrary loops
![Page 9: Testing III - California State University, Northridgetwang/380/Slides/Week16.pdf · • White box testing ... FTX 483 G-H Combination Possible Test Case Branch TXX 0,4,5 I-J ... Testing](https://reader031.vdocuments.mx/reader031/viewer/2022030400/5a7025967f8b9aac538baac0/html5/thumbnails/9.jpg)
Test Cases for Path CoverageTest Cases for Path Coverage
Node Source LineNode Source LineA read a, b, cB type = “scalene”C if (a==b || b==c || a==c)D type = “isosceles”E if (a == b && b == c)( )F type = “equilateral”G if ( a >= b + c || b > a + c || c > = a + b)H type = “not a triangle”H type = not a triangleI if ( a <= 0 || b <= 0 || c <=0)J type = “bad inputs”K print type
![Page 10: Testing III - California State University, Northridgetwang/380/Slides/Week16.pdf · • White box testing ... FTX 483 G-H Combination Possible Test Case Branch TXX 0,4,5 I-J ... Testing](https://reader031.vdocuments.mx/reader031/viewer/2022030400/5a7025967f8b9aac538baac0/html5/thumbnails/10.jpg)
Path CoveragePath Coverage
Path T/F Test Case Output
ABCEGIK FFFF 3,4,5 Scalene
ABCEGHIK FFTF 3,4,8 Not a triangle
ABCEGHIJK FFTT 0,5,6 Bad inputs
ABCDEGIK TFFF 5,8,5 Isosceles
ABCDEGHIK TFTF 3 8 3 Not a triangleABCDEGHIK TFTF 3,8,3 Not a triangle
ABCDEGHIJK TFTT 0,4,0 Bad inputs
ABCDEFGIK TTFF 3,3,3 Equilateral
ABCDEFGHIJK TTTT 0,0,0 Bad inputs
![Page 11: Testing III - California State University, Northridgetwang/380/Slides/Week16.pdf · • White box testing ... FTX 483 G-H Combination Possible Test Case Branch TXX 0,4,5 I-J ... Testing](https://reader031.vdocuments.mx/reader031/viewer/2022030400/5a7025967f8b9aac538baac0/html5/thumbnails/11.jpg)
Testing Levels – Custom SoftwareTesting Levels Custom Software
• Unit testingUnit testing• Integration testing• Product testingProduct testing • Acceptance testing• Regression Testing• Regression Testing
![Page 12: Testing III - California State University, Northridgetwang/380/Slides/Week16.pdf · • White box testing ... FTX 483 G-H Combination Possible Test Case Branch TXX 0,4,5 I-J ... Testing](https://reader031.vdocuments.mx/reader031/viewer/2022030400/5a7025967f8b9aac538baac0/html5/thumbnails/12.jpg)
Testing Levels – COTSTesting Levels COTS
• Unit testingUnit testing• Integration testing• Product testingProduct testing • Alpha testing • Beta testing• Beta testing• Regression Testing
![Page 13: Testing III - California State University, Northridgetwang/380/Slides/Week16.pdf · • White box testing ... FTX 483 G-H Combination Possible Test Case Branch TXX 0,4,5 I-J ... Testing](https://reader031.vdocuments.mx/reader031/viewer/2022030400/5a7025967f8b9aac538baac0/html5/thumbnails/13.jpg)
Unit TestingUnit Testing
Driver
Module to betested
Stub Stub
Test casesResults
![Page 14: Testing III - California State University, Northridgetwang/380/Slides/Week16.pdf · • White box testing ... FTX 483 G-H Combination Possible Test Case Branch TXX 0,4,5 I-J ... Testing](https://reader031.vdocuments.mx/reader031/viewer/2022030400/5a7025967f8b9aac538baac0/html5/thumbnails/14.jpg)
Unit Test ProceduresUnit Test Procedures
• Develop source codeDevelop source code• Review source code• Verify the code with designVerify the code with design• Design test cases• Develop driver and stub• Develop driver and stub
![Page 15: Testing III - California State University, Northridgetwang/380/Slides/Week16.pdf · • White box testing ... FTX 483 G-H Combination Possible Test Case Branch TXX 0,4,5 I-J ... Testing](https://reader031.vdocuments.mx/reader031/viewer/2022030400/5a7025967f8b9aac538baac0/html5/thumbnails/15.jpg)
Integration TestingIntegration Testing
• Top‐down implementation, integration, and testingTop down implementation, integration, and testing• Bottom‐up implementation, integration, and testing• Sandwich implementation integration and testingSandwich implementation, integration, and testing
![Page 16: Testing III - California State University, Northridgetwang/380/Slides/Week16.pdf · • White box testing ... FTX 483 G-H Combination Possible Test Case Branch TXX 0,4,5 I-J ... Testing](https://reader031.vdocuments.mx/reader031/viewer/2022030400/5a7025967f8b9aac538baac0/html5/thumbnails/16.jpg)
Typical interconnection diagram
![Page 17: Testing III - California State University, Northridgetwang/380/Slides/Week16.pdf · • White box testing ... FTX 483 G-H Combination Possible Test Case Branch TXX 0,4,5 I-J ... Testing](https://reader031.vdocuments.mx/reader031/viewer/2022030400/5a7025967f8b9aac538baac0/html5/thumbnails/17.jpg)
Top‐DownTop Down
![Page 18: Testing III - California State University, Northridgetwang/380/Slides/Week16.pdf · • White box testing ... FTX 483 G-H Combination Possible Test Case Branch TXX 0,4,5 I-J ... Testing](https://reader031.vdocuments.mx/reader031/viewer/2022030400/5a7025967f8b9aac538baac0/html5/thumbnails/18.jpg)
Top‐Down (cont’d)Top Down (cont d)• Advantagesg
– Fault isolation– Stubs not wasted– Major design flaws show up early
• Disadvantages• Disadvantages– Reusable modules are not properly tested– Lower level (operational) modules are not tested ( p )frequently
![Page 19: Testing III - California State University, Northridgetwang/380/Slides/Week16.pdf · • White box testing ... FTX 483 G-H Combination Possible Test Case Branch TXX 0,4,5 I-J ... Testing](https://reader031.vdocuments.mx/reader031/viewer/2022030400/5a7025967f8b9aac538baac0/html5/thumbnails/19.jpg)
Bottom‐UpBottom Up
![Page 20: Testing III - California State University, Northridgetwang/380/Slides/Week16.pdf · • White box testing ... FTX 483 G-H Combination Possible Test Case Branch TXX 0,4,5 I-J ... Testing](https://reader031.vdocuments.mx/reader031/viewer/2022030400/5a7025967f8b9aac538baac0/html5/thumbnails/20.jpg)
Bottom‐Up (cont’d)Bottom Up (cont d)• Advantagesg
– Operational modules thoroughly tested– Operational modules are tested with drivers, not p ,by fault shielding, defensively programmed calling modules
– Fault isolation• Disadvantages
– Major design faults are detected late in the integration phase
![Page 21: Testing III - California State University, Northridgetwang/380/Slides/Week16.pdf · • White box testing ... FTX 483 G-H Combination Possible Test Case Branch TXX 0,4,5 I-J ... Testing](https://reader031.vdocuments.mx/reader031/viewer/2022030400/5a7025967f8b9aac538baac0/html5/thumbnails/21.jpg)
Sandwich Implementation and Integration
![Page 22: Testing III - California State University, Northridgetwang/380/Slides/Week16.pdf · • White box testing ... FTX 483 G-H Combination Possible Test Case Branch TXX 0,4,5 I-J ... Testing](https://reader031.vdocuments.mx/reader031/viewer/2022030400/5a7025967f8b9aac538baac0/html5/thumbnails/22.jpg)
Sandwich Implementation and ( ’d)Integration (cont’d)
• AdvantagesAdvantages – Major design faults are caught early– Operational modules are thoroughly testedOperational modules are thoroughly tested– They may be reused with confidenceThere is fault isolation at all times– There is fault isolation at all times
![Page 23: Testing III - California State University, Northridgetwang/380/Slides/Week16.pdf · • White box testing ... FTX 483 G-H Combination Possible Test Case Branch TXX 0,4,5 I-J ... Testing](https://reader031.vdocuments.mx/reader031/viewer/2022030400/5a7025967f8b9aac538baac0/html5/thumbnails/23.jpg)
Summary of Integration ApproachesSummary of Integration Approaches
![Page 24: Testing III - California State University, Northridgetwang/380/Slides/Week16.pdf · • White box testing ... FTX 483 G-H Combination Possible Test Case Branch TXX 0,4,5 I-J ... Testing](https://reader031.vdocuments.mx/reader031/viewer/2022030400/5a7025967f8b9aac538baac0/html5/thumbnails/24.jpg)
Product TestingProduct Testing
• Validate all functional requirementsValidate all functional requirements• Check all non‐functional constraints• Review all documentation to be handed over to theReview all documentation to be handed over to the client
![Page 25: Testing III - California State University, Northridgetwang/380/Slides/Week16.pdf · • White box testing ... FTX 483 G-H Combination Possible Test Case Branch TXX 0,4,5 I-J ... Testing](https://reader031.vdocuments.mx/reader031/viewer/2022030400/5a7025967f8b9aac538baac0/html5/thumbnails/25.jpg)
Acceptance TestingAcceptance Testing
• Test software with the client’s environment and realTest software with the client s environment and real data
• Performed by the SQA team in the presence of client y Q prepresentatives, or an independent SQA team hired by the client
![Page 26: Testing III - California State University, Northridgetwang/380/Slides/Week16.pdf · • White box testing ... FTX 483 G-H Combination Possible Test Case Branch TXX 0,4,5 I-J ... Testing](https://reader031.vdocuments.mx/reader031/viewer/2022030400/5a7025967f8b9aac538baac0/html5/thumbnails/26.jpg)
Alpha TestingAlpha Testing
• Simulated or actual operational testing by potentialSimulated or actual operational testing by potential users/customers or an independent test team at the developers' site
![Page 27: Testing III - California State University, Northridgetwang/380/Slides/Week16.pdf · • White box testing ... FTX 483 G-H Combination Possible Test Case Branch TXX 0,4,5 I-J ... Testing](https://reader031.vdocuments.mx/reader031/viewer/2022030400/5a7025967f8b9aac538baac0/html5/thumbnails/27.jpg)
Beta TestingBeta Testing
• Released a limited number of users outside of theReleased a limited number of users outside of the company
• Sometimes, beta versions are made available to the ,public
![Page 28: Testing III - California State University, Northridgetwang/380/Slides/Week16.pdf · • White box testing ... FTX 483 G-H Combination Possible Test Case Branch TXX 0,4,5 I-J ... Testing](https://reader031.vdocuments.mx/reader031/viewer/2022030400/5a7025967f8b9aac538baac0/html5/thumbnails/28.jpg)
Regression TestingRegression Testing
• Post‐delivery maintenancey• Each time a module is added, the software changes
– These changes may cause problems with functions g y pthat previously worked flawlessly
• Regression testing is …– The execution of tests that have already been conducted to ensure that changes do not create unintended side effectsunintended side effects
![Page 29: Testing III - California State University, Northridgetwang/380/Slides/Week16.pdf · • White box testing ... FTX 483 G-H Combination Possible Test Case Branch TXX 0,4,5 I-J ... Testing](https://reader031.vdocuments.mx/reader031/viewer/2022030400/5a7025967f8b9aac538baac0/html5/thumbnails/29.jpg)
Current and Emerging Software h lEngineering Technologies
• Software factory • API (application y• Component based
software engineering A i d
( ppprogramming interface)
• Library or toolkitsD i• Aspect oriented program
• Application frameworks • Web engineering
• Design patterns• Architecture patterns • Model view controller• Web engineering
• Open source software engineering
• Model‐view‐controller (MVC) architecture pattern
• Mobile software engineering
• Service‐oriented architecture
• Software product lines• Software product lines