Radicals, Rebels, & Rabblerousers: 3 Unusual Rabbis - #1 R. Shmuel Alexandrov
Software Testing Course Shmuel Ur [email protected] 8296250.
-
Upload
garey-williamson -
Category
Documents
-
view
214 -
download
2
Transcript of Software Testing Course Shmuel Ur [email protected] 8296250.
![Page 2: Software Testing Course Shmuel Ur ur@il.ibm.com 8296250.](https://reader035.fdocuments.us/reader035/viewer/2022072014/56649e7d5503460f94b7f681/html5/thumbnails/2.jpg)
An interview situation
• How do you know that your program work correctly?
• What part of the total development budget should be spent on testing?
• Do you use coverage?
• Can you achieve zero defects?
• Have you ever used a testing tool?
![Page 3: Software Testing Course Shmuel Ur ur@il.ibm.com 8296250.](https://reader035.fdocuments.us/reader035/viewer/2022072014/56649e7d5503460f94b7f681/html5/thumbnails/3.jpg)
Administrative details
• There will be an optional exercise
• Class slides will be on the class web-site (hopefully by Monday)
• Office hours upon request
![Page 4: Software Testing Course Shmuel Ur ur@il.ibm.com 8296250.](https://reader035.fdocuments.us/reader035/viewer/2022072014/56649e7d5503460f94b7f681/html5/thumbnails/4.jpg)
Outline
• Foundation of Modern Testing
• Course topics
![Page 5: Software Testing Course Shmuel Ur ur@il.ibm.com 8296250.](https://reader035.fdocuments.us/reader035/viewer/2022072014/56649e7d5503460f94b7f681/html5/thumbnails/5.jpg)
Foundation of Modern Testing
• Testing Defined– Why do we test– What do we test
• Modern Themes– Why understanding risks is so important– Testing as an integrated engineering process– What is preventive testing
![Page 6: Software Testing Course Shmuel Ur ur@il.ibm.com 8296250.](https://reader035.fdocuments.us/reader035/viewer/2022072014/56649e7d5503460f94b7f681/html5/thumbnails/6.jpg)
Why do we test?
• Phase 0 - Testing is debugging (1950’s)• Phase 1 - Show the software works
(1970’s)• Phase 2 - Show that the software does
not work (1975’s)• Phase 3 - Assess quality, evaluation
(1980’s)• Phase 4 - Control quality, prevention
(1990’s)
![Page 7: Software Testing Course Shmuel Ur ur@il.ibm.com 8296250.](https://reader035.fdocuments.us/reader035/viewer/2022072014/56649e7d5503460f94b7f681/html5/thumbnails/7.jpg)
What do we test?
• Unit testing• Component testing• Integration testing• System testing• Regression testing• Acceptance Testing• Usability Testing
![Page 8: Software Testing Course Shmuel Ur ur@il.ibm.com 8296250.](https://reader035.fdocuments.us/reader035/viewer/2022072014/56649e7d5503460f94b7f681/html5/thumbnails/8.jpg)
More thing we test
• Field Testing
• Stress or capacity testing
• Platform testing
• Performance Testing
• Viral protection testing
![Page 9: Software Testing Course Shmuel Ur ur@il.ibm.com 8296250.](https://reader035.fdocuments.us/reader035/viewer/2022072014/56649e7d5503460f94b7f681/html5/thumbnails/9.jpg)
Why understanding risks is so important
• Bug importance = f (frequency, correction_cost, instaltion_cost, consequences)
• Bug consequences scale: mild, moderate, annoying, disturbing, serious, very serious, extreme, intolerable, catastrophic, infectious.
• Quantifying risk leads to cost-effective test sets
![Page 10: Software Testing Course Shmuel Ur ur@il.ibm.com 8296250.](https://reader035.fdocuments.us/reader035/viewer/2022072014/56649e7d5503460f94b7f681/html5/thumbnails/10.jpg)
What is preventive testing?
• Using tests to influence and control software design and development
• Implicit concurrent engineering of testware and software– Preventive testing is built on the observation that
one effective way to specifying something is to describe (in detail) how you would accept (test) the something if someone gave it to you.
• Bill Hetzel
![Page 11: Software Testing Course Shmuel Ur ur@il.ibm.com 8296250.](https://reader035.fdocuments.us/reader035/viewer/2022072014/56649e7d5503460f94b7f681/html5/thumbnails/11.jpg)
Side-effects are important
• The side-effect of early test preparation can be more important than later results.
• Side-effects– Better communication– Clearer and better understood requirements– better design definition and understanding– more reliable implementations
• Higher quality software!
![Page 12: Software Testing Course Shmuel Ur ur@il.ibm.com 8296250.](https://reader035.fdocuments.us/reader035/viewer/2022072014/56649e7d5503460f94b7f681/html5/thumbnails/12.jpg)
Key elements of preventive testing
• Tests are used as requirements models
• Testware design leads software design
• Defects are detected earlier or prevented altogether
• Defects are systematically analyzed
• Tester and developers work together
![Page 13: Software Testing Course Shmuel Ur ur@il.ibm.com 8296250.](https://reader035.fdocuments.us/reader035/viewer/2022072014/56649e7d5503460f94b7f681/html5/thumbnails/13.jpg)
Why is testing so difficult?
• Testing is a challenge because:– Complexity of software products– Nature of software behavior and problems– Large amounts of information required
• Plus Frustration due to– Attitude, Communication, Schedule,
Resources, Documentation, Requirements,– Changes, .....
![Page 14: Software Testing Course Shmuel Ur ur@il.ibm.com 8296250.](https://reader035.fdocuments.us/reader035/viewer/2022072014/56649e7d5503460f94b7f681/html5/thumbnails/14.jpg)
Foundation of Modern Testing Summary
• Testing is planning, designing, building, executing &maintaining testware
• We test for many reasons• Good testing drives good quality• testing produces a product• Software and testware are strongly co-
dependent
![Page 15: Software Testing Course Shmuel Ur ur@il.ibm.com 8296250.](https://reader035.fdocuments.us/reader035/viewer/2022072014/56649e7d5503460f94b7f681/html5/thumbnails/15.jpg)
Topics to be covered
• Coverage
• Regression
• Bug Classifications
• Requirement Check List
• Test Specifications
• Code Inspection
![Page 16: Software Testing Course Shmuel Ur ur@il.ibm.com 8296250.](https://reader035.fdocuments.us/reader035/viewer/2022072014/56649e7d5503460f94b7f681/html5/thumbnails/16.jpg)
Topics to be covered II
• Software Reliability
• Risks and Bug Taxonomy
• Domain Specific Test Generators
• OO Testing
• Metrics and Complexity
![Page 17: Software Testing Course Shmuel Ur ur@il.ibm.com 8296250.](https://reader035.fdocuments.us/reader035/viewer/2022072014/56649e7d5503460f94b7f681/html5/thumbnails/17.jpg)
Topics to be covered III
• Test Tools
• Formal Verification
• Automatic Test Generators
• Random Test Generators
• Exploratory Testing