SlideShare a Scribd company logo
1 of 12
Download to read offline
Software Te$ting
                    E 'HSHQGDEOH (PEHGGHG 6VWHPV
                                -LDQWDR 3DQ
                               )HE  
Required Reading:      Towards Target-Level Testing and Debugging Tools for Embedded Software
Fun Reading:           http://www.cnet.com/Content/Features/Dlife/Bugs/?dd
Best Tutorial:         Software-reliability-engineered testing practice; John D.Musa; Proceedings
                       of the 1997 ICSE, Pages 628 - 629
Authoritative Books:   The Art of Software Testing, Glenford J. Myers, 1979
                        Black-box Testing, Boris Beizer, 1995
                       The Complete Guide to Software Testing, Hetzel, William C., 1988
You Are Here
x   A lot of subtle relations to other topics
                                      SW RELIABILITY




                                                 VERIFICATION/
                                                  VALIDATION/
                                                 CERTIFICATION



                                 2
Introduction
x   Definitions of Software Testing
    • [1]: Testing is the process of executing a program or system with
      the intent of finding errors.
    • [3]: Testing is any activity aimed at evaluating an attribute or
      capability of a program or system and determining that it meets its
      required results.
x   Vocabulary  Concepts
    • Defects, bugs, faults[ANSI], errata[Intel]
    • Testing is more than debugging[BEIZER90]
x   Software testing is an        ……               $57
    • because we still can not make it a science
x   Software testing is everywhere
    • in every phase of software life cycle, whenever software changes
    • 50%+ time in debugging/testing
x   Software testing is not mature
                                     3
Why testing?
x   For Quality

    •bugs kill
        – in a computerized embedded world
    • Defect detection (find problems and get them fixed
      [KANER93])
        – Better early than late
           » Difficult to upgrade field software in embedded systems
    • To make quality visible [HETZEL88]
x   For Verification  Validation(VV):
    • show it works:
        – clean test/positive test
    • or it can handle exceptional situations:
        – dirty test/negative test
x   For Reliability Estimation [KANER93]
    • E.g. reliability growth testing
                                                 4
Why software testing is difficult -- principles
x   Software fails in different ways with physical systems
x   Imperfection of human nature(to handle complexity)
x   Cannot exterminate bugs
    • We cannot test a typical program completely
    • The Pesticide Paradox[BEIZER90]
        – Every method you use to prevent or find bugs leaves a residue of subtler bugs
          against which those methods are ineffectual.
        – Fixing the previous(easy) bugs will tend to increase software complexity --
          introducing new subtler bugs
    • The Complexity Barrier[BEIZER90]
        – Software complexity(and therefore that of bugs) grows to the limits of our ability to
          manage that complexity.




                                                5
Software Testing: Taxonomy
x   By purposes                           x   By scope
    • Correctness testing                     • implied in [BEIZER95]
        – Black-box                              –   Unit testing
        – White-box                              –   Component testing
    • Performance testing                        –   Integration testing
    • Reliability testing                        –   System testing
        – Robustness testing                  • or in [PERRY90]
           » Exception handling testing          –   Unit testing
           » Stress/load testing
                                                 –   String testing
    • Security testing                           –   System testing (α test)
x   By life cycle phase[PERRY95]                 –   Acceptance testing (β test)
    •   Requirements phase testing
    •   Design phase testing
    •   Program phase testing
    •   Evaluating test results
    •   Installation phase testing
    •   Acceptance testing
    •   Testing changes: maintenance
                                          6
Correctness Testing
x   Needs some type of oracles
x   Black-box testing/behavioral testing
    •   also: data-driven; input/output driven[1]; requirements-based[3]
    •   Test data are derived solely from the program structure[9]
    •   “Exhaustive input testing”[1]
    •   But, what about omissions/extras in spec?
x   White-box testing/structural testing
    • also: logic-driven[1]; design-based[3]
    • Application of test data derived from the specified functional
      requirements without regard to the final program structure[9]
    • “Exhaustive path testing”[1]
    • But, what about omissions/extras in code?
x   Other than bugs, we may find:
    • Features
    • Specification problems
    • Design philosophy (e.g. core dumps v.s. error return code)
                                      7
Correctness Testing Methods/Tools
x   Control-flow testing
    • Trace control-flow using control-flow graph; coverage
x   Loop testing
    • A heuristic technique; should be combined with other methods    Flow-
    • Applied when there is a loop in graph                           coverage
x   Data-flow testing                                                 testing
    • Trace data-flow using data-flow graph; coverage
x   Transaction-flow testing
    • Testing of on-line applications and batch-processing software
    • Has both control-flow and data-flow attributes
x   Domain testing
    • Software dominated by numerical processing
x   Syntax testing
    • Command-driven software and similar applications
x   Finite-state testing
    • Using finite-state machine model
    • motivated from hardware logic design
    • Excellent for testing menu-driven applications
                                          8
When to stop testing?




x   Trade-off between budget+time and quality
    • Part of acceptance testing
x   Stopping rules:
    • When reliability meets requirement
       – Statistical models
          » E.g. reliability growth models
       – Data gathering -- modeling --prediction
       – Not possible to calculate for ultra-dependable system
          » Because failure data is hard to accumulate
    • When out of resources: test case, money and/or time
                                             9
Testing is Controversial
x   Alternatives to testing
    • “human testing[MYERS79]”
        – inspections, walkthroughs, reviews
    • Engineering methods
        – Clean-room v.s. testing
    • Formal Verification v.s. Testing

x   Flames
    •   Traditional coverage-based testing is flawed.
    •   Testing can only prove the software is flawed.
    •   Inspection/review more effective than testing?
    •   “If we have good process, good quality, we don't need much
        testing”



                                          10
Conclusions
x   Complete testing is infeasible
    • Complexity problem
    • Equivalent to Turing halting problem
x   Software testing is immature
    • Crucial to software quality
x   Testing is more than debugging
    • For quality assurance, validation and reliability measurement
x   Rules of thumb
    • Efficiency  effectiveness
    • Automation
x   When to stop: need good metrics
    • Reliability
    • Time  budget



                                           11
List of References
x   [1][MYERS79] The art of software testing
x   [2][BEIZER95] Black-box Testing
x   [3][HETZEL88] The Complete Guide to Software Testing
x   [4][PHAM95] Software Reliability and Testing, pp29
x   [5][KANER93] Testing Computer Software
x   [6][PERRY95] Effective Methods for Software Testing, William
    Perry, 1995 QA76.76.T48P47X
x   [7][BEIZER90] Software Testing Techniques
x   [8]http://www.cs.jmu.edu/users/foxcj/cs555/Unit12/Testing/index.
    htm
x   [9][PERRY90] A standard for testing application software,
    William E. Perry, 1990


                                   12

More Related Content

What's hot

Test case design
Test case designTest case design
Test case design99pillar
 
'Model Based Test Design' by Mattias Armholt
'Model Based Test Design' by Mattias Armholt'Model Based Test Design' by Mattias Armholt
'Model Based Test Design' by Mattias ArmholtTEST Huddle
 
ISTQB / ISEB Foundation Exam Practice - 6
ISTQB / ISEB Foundation Exam Practice - 6ISTQB / ISEB Foundation Exam Practice - 6
ISTQB / ISEB Foundation Exam Practice - 6Yogindernath Gupta
 
Testing artifacts test cases
Testing artifacts   test casesTesting artifacts   test cases
Testing artifacts test casesPetro Chernii
 
ISTQB / ISEB Foundation Exam Practice - 4
ISTQB / ISEB Foundation Exam Practice - 4ISTQB / ISEB Foundation Exam Practice - 4
ISTQB / ISEB Foundation Exam Practice - 4Yogindernath Gupta
 
ISTQB Test level, Test type
ISTQB Test level, Test typeISTQB Test level, Test type
ISTQB Test level, Test typeHoangThiHien1
 
System testing
System testingSystem testing
System testingSlideshare
 
Software Engineering (Testing Activities, Management, and Automation)
Software Engineering (Testing Activities, Management, and Automation)Software Engineering (Testing Activities, Management, and Automation)
Software Engineering (Testing Activities, Management, and Automation)ShudipPal
 
Chapter 3 SOFTWARE TESTING PROCESS
Chapter 3 SOFTWARE TESTING PROCESSChapter 3 SOFTWARE TESTING PROCESS
Chapter 3 SOFTWARE TESTING PROCESSst. michael
 
Efficient And Effective Test Design
Efficient And Effective Test DesignEfficient And Effective Test Design
Efficient And Effective Test DesignJustin Hunter
 
Static analysis and reliability testing (CS 5032 2012)
Static analysis and reliability testing (CS 5032 2012)Static analysis and reliability testing (CS 5032 2012)
Static analysis and reliability testing (CS 5032 2012)Ian Sommerville
 
Software Testing Strategies
Software Testing StrategiesSoftware Testing Strategies
Software Testing StrategiesAdeel Rasheed
 

What's hot (19)

Test case design
Test case designTest case design
Test case design
 
'Model Based Test Design' by Mattias Armholt
'Model Based Test Design' by Mattias Armholt'Model Based Test Design' by Mattias Armholt
'Model Based Test Design' by Mattias Armholt
 
ISTQB / ISEB Foundation Exam Practice - 6
ISTQB / ISEB Foundation Exam Practice - 6ISTQB / ISEB Foundation Exam Practice - 6
ISTQB / ISEB Foundation Exam Practice - 6
 
Testing Technique
Testing TechniqueTesting Technique
Testing Technique
 
Fundamental of testing
Fundamental of testingFundamental of testing
Fundamental of testing
 
Testing artifacts test cases
Testing artifacts   test casesTesting artifacts   test cases
Testing artifacts test cases
 
Software testing
Software testingSoftware testing
Software testing
 
ISTQB / ISEB Foundation Exam Practice - 4
ISTQB / ISEB Foundation Exam Practice - 4ISTQB / ISEB Foundation Exam Practice - 4
ISTQB / ISEB Foundation Exam Practice - 4
 
ISTQB Test level, Test type
ISTQB Test level, Test typeISTQB Test level, Test type
ISTQB Test level, Test type
 
Testing fundamentals
Testing fundamentalsTesting fundamentals
Testing fundamentals
 
System testing
System testingSystem testing
System testing
 
Software Engineering (Testing Activities, Management, and Automation)
Software Engineering (Testing Activities, Management, and Automation)Software Engineering (Testing Activities, Management, and Automation)
Software Engineering (Testing Activities, Management, and Automation)
 
11 software testing_strategy
11 software testing_strategy11 software testing_strategy
11 software testing_strategy
 
Software testing
Software testingSoftware testing
Software testing
 
Chapter 3 SOFTWARE TESTING PROCESS
Chapter 3 SOFTWARE TESTING PROCESSChapter 3 SOFTWARE TESTING PROCESS
Chapter 3 SOFTWARE TESTING PROCESS
 
Efficient And Effective Test Design
Efficient And Effective Test DesignEfficient And Effective Test Design
Efficient And Effective Test Design
 
Static analysis and reliability testing (CS 5032 2012)
Static analysis and reliability testing (CS 5032 2012)Static analysis and reliability testing (CS 5032 2012)
Static analysis and reliability testing (CS 5032 2012)
 
Software Testing Strategies
Software Testing StrategiesSoftware Testing Strategies
Software Testing Strategies
 
Software testing
Software testingSoftware testing
Software testing
 

Viewers also liked

Advanced Testing and Debugging using the Developer Console webinar
Advanced Testing and Debugging using the Developer Console webinarAdvanced Testing and Debugging using the Developer Console webinar
Advanced Testing and Debugging using the Developer Console webinarSalesforce Developers
 
Nagios Conference 2011 - Larry Adams - 10 Years Of Cacti
Nagios Conference 2011 - Larry Adams - 10 Years Of CactiNagios Conference 2011 - Larry Adams - 10 Years Of Cacti
Nagios Conference 2011 - Larry Adams - 10 Years Of CactiNagios
 
Software Testing & Debugging
Software Testing & DebuggingSoftware Testing & Debugging
Software Testing & DebuggingComputing Cage
 
1 testing fundamentals
1 testing fundamentals1 testing fundamentals
1 testing fundamentalsAsmaa Matar
 
Conference on Nagios: Reinhard Scheck on Cacti
Conference on Nagios: Reinhard Scheck on CactiConference on Nagios: Reinhard Scheck on Cacti
Conference on Nagios: Reinhard Scheck on CactiWürth Phoenix
 
2015 Upload Campaigns Calendar - SlideShare
2015 Upload Campaigns Calendar - SlideShare2015 Upload Campaigns Calendar - SlideShare
2015 Upload Campaigns Calendar - SlideShareSlideShare
 
What to Upload to SlideShare
What to Upload to SlideShareWhat to Upload to SlideShare
What to Upload to SlideShareSlideShare
 
Getting Started With SlideShare
Getting Started With SlideShareGetting Started With SlideShare
Getting Started With SlideShareSlideShare
 

Viewers also liked (20)

Advanced Testing and Debugging using the Developer Console webinar
Advanced Testing and Debugging using the Developer Console webinarAdvanced Testing and Debugging using the Developer Console webinar
Advanced Testing and Debugging using the Developer Console webinar
 
Nagios Conference 2011 - Larry Adams - 10 Years Of Cacti
Nagios Conference 2011 - Larry Adams - 10 Years Of CactiNagios Conference 2011 - Larry Adams - 10 Years Of Cacti
Nagios Conference 2011 - Larry Adams - 10 Years Of Cacti
 
Large Scale Cacti
Large Scale CactiLarge Scale Cacti
Large Scale Cacti
 
surya_resume2
surya_resume2surya_resume2
surya_resume2
 
Cacti
CactiCacti
Cacti
 
Software Testing & Debugging
Software Testing & DebuggingSoftware Testing & Debugging
Software Testing & Debugging
 
1 testing fundamentals
1 testing fundamentals1 testing fundamentals
1 testing fundamentals
 
Debugging
DebuggingDebugging
Debugging
 
Cacti overview
Cacti overviewCacti overview
Cacti overview
 
Introduction to White box testing
Introduction to White box testingIntroduction to White box testing
Introduction to White box testing
 
ISTQB foundation level - day 2
ISTQB foundation level - day 2ISTQB foundation level - day 2
ISTQB foundation level - day 2
 
Conference on Nagios: Reinhard Scheck on Cacti
Conference on Nagios: Reinhard Scheck on CactiConference on Nagios: Reinhard Scheck on Cacti
Conference on Nagios: Reinhard Scheck on Cacti
 
Black box & white-box testing technique
Black box & white-box testing techniqueBlack box & white-box testing technique
Black box & white-box testing technique
 
Black & White Box testing
Black & White Box testingBlack & White Box testing
Black & White Box testing
 
Black Box Testing
Black Box TestingBlack Box Testing
Black Box Testing
 
Image processing ppt
Image processing pptImage processing ppt
Image processing ppt
 
Software testing ppt
Software testing pptSoftware testing ppt
Software testing ppt
 
2015 Upload Campaigns Calendar - SlideShare
2015 Upload Campaigns Calendar - SlideShare2015 Upload Campaigns Calendar - SlideShare
2015 Upload Campaigns Calendar - SlideShare
 
What to Upload to SlideShare
What to Upload to SlideShareWhat to Upload to SlideShare
What to Upload to SlideShare
 
Getting Started With SlideShare
Getting Started With SlideShareGetting Started With SlideShare
Getting Started With SlideShare
 

Similar to Presentation

A Software Testing Intro
A Software Testing IntroA Software Testing Intro
A Software Testing IntroEvozon Test Lab
 
testing strategies and tactics
 testing strategies and tactics testing strategies and tactics
testing strategies and tacticsPreeti Mishra
 
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...ShudipPal
 
Software testing part
Software testing partSoftware testing part
Software testing partPreeti Mishra
 
Class9_SW_Testing_Strategies.pdf
Class9_SW_Testing_Strategies.pdfClass9_SW_Testing_Strategies.pdf
Class9_SW_Testing_Strategies.pdfFarjanaParvin5
 
An overview to Software Testing
An overview to Software TestingAn overview to Software Testing
An overview to Software TestingAtul Mishra
 
Software testing-and-analysis
Software testing-and-analysisSoftware testing-and-analysis
Software testing-and-analysisWBUTTUTORIALS
 
SW Verification presentation
SW Verification presentationSW Verification presentation
SW Verification presentationKiril Delovski
 
Software engineering Testing technique,test case,test suit design
Software engineering Testing technique,test case,test suit designSoftware engineering Testing technique,test case,test suit design
Software engineering Testing technique,test case,test suit designMaitree Patel
 
Software Engineering (Testing Overview)
Software Engineering (Testing Overview)Software Engineering (Testing Overview)
Software Engineering (Testing Overview)ShudipPal
 
Software engineering quality assurance and testing
Software engineering quality assurance and testingSoftware engineering quality assurance and testing
Software engineering quality assurance and testingBipul Roy Bpl
 
software testing
 software testing software testing
software testingSara shall
 
Black box-software-testing-douglas-hoffman2483
Black box-software-testing-douglas-hoffman2483Black box-software-testing-douglas-hoffman2483
Black box-software-testing-douglas-hoffman2483Chaitanya Kn
 

Similar to Presentation (20)

A Software Testing Intro
A Software Testing IntroA Software Testing Intro
A Software Testing Intro
 
testing strategies and tactics
 testing strategies and tactics testing strategies and tactics
testing strategies and tactics
 
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
 
Software testing part
Software testing partSoftware testing part
Software testing part
 
Class9_SW_Testing_Strategies.pdf
Class9_SW_Testing_Strategies.pdfClass9_SW_Testing_Strategies.pdf
Class9_SW_Testing_Strategies.pdf
 
An overview to Software Testing
An overview to Software TestingAn overview to Software Testing
An overview to Software Testing
 
Software testing-and-analysis
Software testing-and-analysisSoftware testing-and-analysis
Software testing-and-analysis
 
SW Verification presentation
SW Verification presentationSW Verification presentation
SW Verification presentation
 
Software engineering Testing technique,test case,test suit design
Software engineering Testing technique,test case,test suit designSoftware engineering Testing technique,test case,test suit design
Software engineering Testing technique,test case,test suit design
 
Software Engineering (Testing Overview)
Software Engineering (Testing Overview)Software Engineering (Testing Overview)
Software Engineering (Testing Overview)
 
Software engineering quality assurance and testing
Software engineering quality assurance and testingSoftware engineering quality assurance and testing
Software engineering quality assurance and testing
 
G53 qat09pdf6up
G53 qat09pdf6upG53 qat09pdf6up
G53 qat09pdf6up
 
Software-Testing-ppt.pptx
Software-Testing-ppt.pptxSoftware-Testing-ppt.pptx
Software-Testing-ppt.pptx
 
Software_Testing_ppt.pptx
Software_Testing_ppt.pptxSoftware_Testing_ppt.pptx
Software_Testing_ppt.pptx
 
software testing
 software testing software testing
software testing
 
testing.pptx
testing.pptxtesting.pptx
testing.pptx
 
Black box-software-testing-douglas-hoffman2483
Black box-software-testing-douglas-hoffman2483Black box-software-testing-douglas-hoffman2483
Black box-software-testing-douglas-hoffman2483
 
Testing Types
Testing TypesTesting Types
Testing Types
 
Testing
TestingTesting
Testing
 
Design testabilty
Design testabiltyDesign testabilty
Design testabilty
 

Recently uploaded

18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdfssuser54595a
 
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxEPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxRaymartEstabillo3
 
Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...jaredbarbolino94
 
MICROBIOLOGY biochemical test detailed.pptx
MICROBIOLOGY biochemical test detailed.pptxMICROBIOLOGY biochemical test detailed.pptx
MICROBIOLOGY biochemical test detailed.pptxabhijeetpadhi001
 
Types of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxTypes of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxEyham Joco
 
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfFraming an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfUjwalaBharambe
 
Blooming Together_ Growing a Community Garden Worksheet.docx
Blooming Together_ Growing a Community Garden Worksheet.docxBlooming Together_ Growing a Community Garden Worksheet.docx
Blooming Together_ Growing a Community Garden Worksheet.docxUnboundStockton
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Celine George
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Jisc
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxOH TEIK BIN
 
AmericanHighSchoolsprezentacijaoskolama.
AmericanHighSchoolsprezentacijaoskolama.AmericanHighSchoolsprezentacijaoskolama.
AmericanHighSchoolsprezentacijaoskolama.arsicmarija21
 
Meghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media ComponentMeghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media ComponentInMediaRes1
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTiammrhaywood
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...JhezDiaz1
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for BeginnersSabitha Banu
 
MARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized GroupMARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized GroupJonathanParaisoCruz
 
Gas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxGas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxDr.Ibrahim Hassaan
 

Recently uploaded (20)

18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
 
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxEPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
 
Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...
 
MICROBIOLOGY biochemical test detailed.pptx
MICROBIOLOGY biochemical test detailed.pptxMICROBIOLOGY biochemical test detailed.pptx
MICROBIOLOGY biochemical test detailed.pptx
 
9953330565 Low Rate Call Girls In Rohini Delhi NCR
9953330565 Low Rate Call Girls In Rohini  Delhi NCR9953330565 Low Rate Call Girls In Rohini  Delhi NCR
9953330565 Low Rate Call Girls In Rohini Delhi NCR
 
Types of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxTypes of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptx
 
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfFraming an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
 
Blooming Together_ Growing a Community Garden Worksheet.docx
Blooming Together_ Growing a Community Garden Worksheet.docxBlooming Together_ Growing a Community Garden Worksheet.docx
Blooming Together_ Growing a Community Garden Worksheet.docx
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptx
 
AmericanHighSchoolsprezentacijaoskolama.
AmericanHighSchoolsprezentacijaoskolama.AmericanHighSchoolsprezentacijaoskolama.
AmericanHighSchoolsprezentacijaoskolama.
 
Meghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media ComponentMeghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media Component
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for Beginners
 
MARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized GroupMARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized Group
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
Gas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxGas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptx
 

Presentation

  • 1. Software Te$ting E 'HSHQGDEOH (PEHGGHG 6VWHPV -LDQWDR 3DQ )HE Required Reading: Towards Target-Level Testing and Debugging Tools for Embedded Software Fun Reading: http://www.cnet.com/Content/Features/Dlife/Bugs/?dd Best Tutorial: Software-reliability-engineered testing practice; John D.Musa; Proceedings of the 1997 ICSE, Pages 628 - 629 Authoritative Books: The Art of Software Testing, Glenford J. Myers, 1979 Black-box Testing, Boris Beizer, 1995 The Complete Guide to Software Testing, Hetzel, William C., 1988
  • 2. You Are Here x A lot of subtle relations to other topics SW RELIABILITY VERIFICATION/ VALIDATION/ CERTIFICATION 2
  • 3. Introduction x Definitions of Software Testing • [1]: Testing is the process of executing a program or system with the intent of finding errors. • [3]: Testing is any activity aimed at evaluating an attribute or capability of a program or system and determining that it meets its required results. x Vocabulary Concepts • Defects, bugs, faults[ANSI], errata[Intel] • Testing is more than debugging[BEIZER90] x Software testing is an …… $57 • because we still can not make it a science x Software testing is everywhere • in every phase of software life cycle, whenever software changes • 50%+ time in debugging/testing x Software testing is not mature 3
  • 4. Why testing? x For Quality •bugs kill – in a computerized embedded world • Defect detection (find problems and get them fixed [KANER93]) – Better early than late » Difficult to upgrade field software in embedded systems • To make quality visible [HETZEL88] x For Verification Validation(VV): • show it works: – clean test/positive test • or it can handle exceptional situations: – dirty test/negative test x For Reliability Estimation [KANER93] • E.g. reliability growth testing 4
  • 5. Why software testing is difficult -- principles x Software fails in different ways with physical systems x Imperfection of human nature(to handle complexity) x Cannot exterminate bugs • We cannot test a typical program completely • The Pesticide Paradox[BEIZER90] – Every method you use to prevent or find bugs leaves a residue of subtler bugs against which those methods are ineffectual. – Fixing the previous(easy) bugs will tend to increase software complexity -- introducing new subtler bugs • The Complexity Barrier[BEIZER90] – Software complexity(and therefore that of bugs) grows to the limits of our ability to manage that complexity. 5
  • 6. Software Testing: Taxonomy x By purposes x By scope • Correctness testing • implied in [BEIZER95] – Black-box – Unit testing – White-box – Component testing • Performance testing – Integration testing • Reliability testing – System testing – Robustness testing • or in [PERRY90] » Exception handling testing – Unit testing » Stress/load testing – String testing • Security testing – System testing (α test) x By life cycle phase[PERRY95] – Acceptance testing (β test) • Requirements phase testing • Design phase testing • Program phase testing • Evaluating test results • Installation phase testing • Acceptance testing • Testing changes: maintenance 6
  • 7. Correctness Testing x Needs some type of oracles x Black-box testing/behavioral testing • also: data-driven; input/output driven[1]; requirements-based[3] • Test data are derived solely from the program structure[9] • “Exhaustive input testing”[1] • But, what about omissions/extras in spec? x White-box testing/structural testing • also: logic-driven[1]; design-based[3] • Application of test data derived from the specified functional requirements without regard to the final program structure[9] • “Exhaustive path testing”[1] • But, what about omissions/extras in code? x Other than bugs, we may find: • Features • Specification problems • Design philosophy (e.g. core dumps v.s. error return code) 7
  • 8. Correctness Testing Methods/Tools x Control-flow testing • Trace control-flow using control-flow graph; coverage x Loop testing • A heuristic technique; should be combined with other methods Flow- • Applied when there is a loop in graph coverage x Data-flow testing testing • Trace data-flow using data-flow graph; coverage x Transaction-flow testing • Testing of on-line applications and batch-processing software • Has both control-flow and data-flow attributes x Domain testing • Software dominated by numerical processing x Syntax testing • Command-driven software and similar applications x Finite-state testing • Using finite-state machine model • motivated from hardware logic design • Excellent for testing menu-driven applications 8
  • 9. When to stop testing? x Trade-off between budget+time and quality • Part of acceptance testing x Stopping rules: • When reliability meets requirement – Statistical models » E.g. reliability growth models – Data gathering -- modeling --prediction – Not possible to calculate for ultra-dependable system » Because failure data is hard to accumulate • When out of resources: test case, money and/or time 9
  • 10. Testing is Controversial x Alternatives to testing • “human testing[MYERS79]” – inspections, walkthroughs, reviews • Engineering methods – Clean-room v.s. testing • Formal Verification v.s. Testing x Flames • Traditional coverage-based testing is flawed. • Testing can only prove the software is flawed. • Inspection/review more effective than testing? • “If we have good process, good quality, we don't need much testing” 10
  • 11. Conclusions x Complete testing is infeasible • Complexity problem • Equivalent to Turing halting problem x Software testing is immature • Crucial to software quality x Testing is more than debugging • For quality assurance, validation and reliability measurement x Rules of thumb • Efficiency effectiveness • Automation x When to stop: need good metrics • Reliability • Time budget 11
  • 12. List of References x [1][MYERS79] The art of software testing x [2][BEIZER95] Black-box Testing x [3][HETZEL88] The Complete Guide to Software Testing x [4][PHAM95] Software Reliability and Testing, pp29 x [5][KANER93] Testing Computer Software x [6][PERRY95] Effective Methods for Software Testing, William Perry, 1995 QA76.76.T48P47X x [7][BEIZER90] Software Testing Techniques x [8]http://www.cs.jmu.edu/users/foxcj/cs555/Unit12/Testing/index. htm x [9][PERRY90] A standard for testing application software, William E. Perry, 1990 12