Software Testing        (Part I)A Brief Presentation By     Disney E. Lai
Outline●   Fundamentals of Testing●   Testing in the Software Life Cycle●   Discussion
Fundamentals of TestingWHY IS TESTING NECESSARY?
Fundamentals of TestingThe Threats of Bugs●   Damaged Reputation   ●   Pollution/Waste●   High/Unpredictable   ●   Lost jo...
Fundamentals of TestingARIANE 5 Flight 501 (1996)●   Pride of the European Space Agency●   Exploded 37 seconds after launc...
Fundamentals of TestingPatriot Missile Bug (1991)● Patriot Missile System●   Designed to intercept and destroy    incoming...
Fundamentals of TestingMars Climate Orbiter (1998)●   Designed to stay on Mars low orbit    to study Mars climate.●   Fail...
Fundamentals of TestingSoyuz TMA-10 (2007)●   Return module carrying 3 person    including Malaysian Angkasawan●   Compute...
Fundamentals of TestingUniversiti Sains Malaysia (2009)●   Online Application System●   Misinformed all 8,173 prequalified...
Fundamentals of TestingCity Bus Terminal First Day (2006)●   RM4.5 Million City Bus Terminal    Inanam●   Computerised tic...
Fundamentals of TestingKD Tunku Abdul Rahman (2010)
Fundamentals of Testing   BUG? WHAT BUG?
Fundamentals of TestingWhere Do Bugs Come From?●    People  Errors  Bugs (defects)  Failures●   Requirements and design...
Fundamentals of TestingWhere Do Bugs Come From?●   Bugs Occur Due to....    ●   Programmer, Analyst, and other individuals...
Fundamentals of TestingWhere Do Bugs Come From?●   Failures Occur Due to bugs and....    ●   Environmental conditions – du...
Fundamentals of TestingWhat does QUALITY means to you?●   Fitness for use vs conformance to requirements.●   TESTING AND Q...
Fundamentals of Testing   WHAT IS TESTING?
Fundamentals of TestingTesting Objectives●   Find bugs – information programmers need to fix important    bugs●   Increase...
Fundamentals of Testing       TESTING      OBJECTIVES  PLANS          ?   ACTIONS
Fundamentals of TestingTest Phases●   Unit/Component Test●   Integration Test●   System Test●   Acceptance Test/Pilot Test...
Fundamentals of TestingEffective        Efficient
Fundamentals of TestingTesting Vs. Debugging●   Testing - Find failures that caused by bugs●   Debugging – Fix defect    ●...
Fundamentals of Testing   TESTING PRINCIPLES
Fundamentals of TestingTesting Reveals Presence of Bugs                    Testing can reveal the presence of             ...
Fundamentals of TestingMission Impossible: Exhaustive TestingExhaustive testing (all combinations of inputs andpreconditio...
Fundamentals of TestingBenefit of Early QA and Testing●   Cost of bug tends to increase as the project progresses....Defec...
Fundamentals of TestingAbsence-of-Errors Fallacy●   Finding and fixing many bug does not guarantee satisfaction●   Success...
Fundamentals of TestingFUNDAMENTAL TEST PROCESS
Fundamentals of TestingTesting Processes                                                        I ON                      ...
Fundamentals of TestingPlanning and Control              ● Determine Test Scope, Risks, Objectives, Strategies,           ...
Fundamentals of TestingAnalysis and Design● Review the test basis● Identify and prioritize● Evaluate testability● Design a...
Fundamentals of TestingImplementation and Execution● Develop, implement and prioritize test cases● Create test harnesses, ...
Fundamentals of TestingExit Criteria, Reporting, and Closure● Check test logs against exit criteria● Assess if more tests ...
Fundamentals of Testing PSYCHOLOGY OF TESTING
Fundamentals of TestingGood Tester Attributes● Curiosity● Professional Pessimism● Critical Eye● Attention to detail● Good ...
Fundamentals of TestingDefining Tester Skills● Reading● Writing● Technology● Project● Testing skills
Fundamentals of TestingDiffering Mindsets● Testing and Reviewing vs Development● Developers – author bias
Fundamentals of TestingDegrees of Independence● Independent tester – effective at finding  failures● Levels of test indepe...
Fundamentals of Testing● Clear Objectives● Focus● Constructor or Destructor?● Bad News or Bad Guy?
Testing In The SW Life Cycle         V MODEL
Testing In The SW Life Cycle
Testing In The SW Life Cycle         TEST TYPES
Testing In The SW Life Cycle                             Testing           Static                               Dynamic St...
Testing In The SW Life CycleOther Test scopes● Functionality● Security● Interoperability● Performance and Reliability● Str...
Testing In The SW Life CycleISO 9126 Quality Standard for Software
ISTQB Certification RoadMap
Discussion          Q&ASoftware Testing in JPKN
Upcoming SlideShare
Loading in …5
×

Software Testing

494 views
458 views

Published on

Sharing on Software Testing after attending the ISTQB Software Tester Foundation course

Published in: Technology, Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
494
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Software Testing

  1. 1. Software Testing (Part I)A Brief Presentation By Disney E. Lai
  2. 2. Outline● Fundamentals of Testing● Testing in the Software Life Cycle● Discussion
  3. 3. Fundamentals of TestingWHY IS TESTING NECESSARY?
  4. 4. Fundamentals of TestingThe Threats of Bugs● Damaged Reputation ● Pollution/Waste● High/Unpredictable ● Lost jobs maintenance cost ● Lost lives● Unexpected delays ● Lost rights● Lack of confidence ● Lost missions● Lawsuits ● Lost Wars and many more ....
  5. 5. Fundamentals of TestingARIANE 5 Flight 501 (1996)● Pride of the European Space Agency● Exploded 37 seconds after launched● Cause of failure – Inertial Reference System software failed to compute 64-bit float number. Software reused from Ariane 4 only uses 16-bit.● Cost of Failure - $8 billion
  6. 6. Fundamentals of TestingPatriot Missile Bug (1991)● Patriot Missile System● Designed to intercept and destroy incoming missile● Early version failed to respond to incoming SCUD missiles● Cause of failure – software rounding error incorrectly calculate time● Cost of Failure – 28 lives lost and many injured.
  7. 7. Fundamentals of TestingMars Climate Orbiter (1998)● Designed to stay on Mars low orbit to study Mars climate.● Failed to stabilize in orbit. Destroyed by Mars atmospheric pressure● Cause of failure – software system use imperial units rather than metric● Cost of Failure – ~$330 million, lost mission
  8. 8. Fundamentals of TestingSoyuz TMA-10 (2007)● Return module carrying 3 person including Malaysian Angkasawan● Computer glitch caused a steeper ballistic descent● Extreme G-force● Cost of Failure – ~ 200KM off target, fried Angkasawan (almost)
  9. 9. Fundamentals of TestingUniversiti Sains Malaysia (2009)● Online Application System● Misinformed all 8,173 prequalified applicants of successfull entry rather than only 3,599 applicants.● Caused frustration and anger.● Cost of Failure – ~ lost of reputation?
  10. 10. Fundamentals of TestingCity Bus Terminal First Day (2006)● RM4.5 Million City Bus Terminal Inanam● Computerised ticketing system failed to function due to computer glitch – Manua alternative● Caused frustration and anger.● Cost of Failure – ~ lost of reputation? Lost service
  11. 11. Fundamentals of TestingKD Tunku Abdul Rahman (2010)
  12. 12. Fundamentals of Testing BUG? WHAT BUG?
  13. 13. Fundamentals of TestingWhere Do Bugs Come From?● People  Errors  Bugs (defects)  Failures● Requirements and design specifications● Code (Business Logic and UI)● Documentation (electronic and hard copy)● Failures  People  Dissatisfaction with quality
  14. 14. Fundamentals of TestingWhere Do Bugs Come From?● Bugs Occur Due to.... ● Programmer, Analyst, and other individuals contributing (including tester!) ● Complexity of code, infrastructure or problem ● Changing and Meshing of Technologies ● Time Pressure ● Many system interactions
  15. 15. Fundamentals of TestingWhere Do Bugs Come From?● Failures Occur Due to bugs and.... ● Environmental conditions – dust, humidity... ● Misuse (deliberate and accidental)
  16. 16. Fundamentals of TestingWhat does QUALITY means to you?● Fitness for use vs conformance to requirements.● TESTING AND QUALITY● Important Quality characteristics? OR● Testing, Quality Assurance and Quality Improvement
  17. 17. Fundamentals of Testing WHAT IS TESTING?
  18. 18. Fundamentals of TestingTesting Objectives● Find bugs – information programmers need to fix important bugs● Increase Confidence Level – Quality● Prevent defects – early detection● Help management understand system quality● And so on....
  19. 19. Fundamentals of Testing TESTING OBJECTIVES PLANS ? ACTIONS
  20. 20. Fundamentals of TestingTest Phases● Unit/Component Test● Integration Test● System Test● Acceptance Test/Pilot Test● Maintenance Test● Operational Test
  21. 21. Fundamentals of TestingEffective Efficient
  22. 22. Fundamentals of TestingTesting Vs. Debugging● Testing - Find failures that caused by bugs● Debugging – Fix defect ● Identifies root cause of a bug ● Repairs the code ● Checks that defects is fixed correctly● Different responsibilities: ● Testers Test ● Programmers Debug
  23. 23. Fundamentals of Testing TESTING PRINCIPLES
  24. 24. Fundamentals of TestingTesting Reveals Presence of Bugs Testing can reveal the presence of bugs, but cannot prove their absence
  25. 25. Fundamentals of TestingMission Impossible: Exhaustive TestingExhaustive testing (all combinations of inputs andpreconditions) is NOT possibleExhaustive testing as a way to prove the software works is amisexpectationBad Expectation create problem for test pro and teams ● Unachievable high demands on test group ● Perception of incompetence
  26. 26. Fundamentals of TestingBenefit of Early QA and Testing● Cost of bug tends to increase as the project progresses....Defect Clustering● Bugs tend to appear in clustersPesticide Paradox● One technique alone is not effective to find defects● Use new and different techniques to find defect
  27. 27. Fundamentals of TestingAbsence-of-Errors Fallacy● Finding and fixing many bug does not guarantee satisfaction● Successful projects balance – features, schedule, budget and quality
  28. 28. Fundamentals of TestingFUNDAMENTAL TEST PROCESS
  29. 29. Fundamentals of TestingTesting Processes I ON EXECUTION NTAT G S CLOSURE NNIN LYSI IGN EME DES ANA PLA EVALUATING EXIT CRITERIA IMPL REPORTING TEST RESULT CONTROL
  30. 30. Fundamentals of TestingPlanning and Control ● Determine Test Scope, Risks, Objectives, Strategies, Resource ● Scheduling ● Implement test strategies ● Determine test exit criteria ● Measure and analyze results ING ● Monitor and document N ● Initiative corrective actions PLAN ● Make decisions CONTROL
  31. 31. Fundamentals of TestingAnalysis and Design● Review the test basis● Identify and prioritize● Evaluate testability● Design and prioritize combinations of test data● Identify test data needed for test condition● Design test environment● Identify infrastructure tools EXECUTION ION G S NTAT CLOSURE NNIN LYSI N IG EM E DES EVALUATING ANA PLA EXIT CRITERIA IMPL REPORTING TEST RESULT CONTROL
  32. 32. Fundamentals of TestingImplementation and Execution● Develop, implement and prioritize test cases● Create test harnesses, scripts● Organize test suites, and sequences of test procedures● Verify the test environment● Execute test cases (manual or automated)● Log test results● Compare actual and expected EXECUTION● Report and analyze incidents ION G● Repeat corrected and/or updated S NTAT CLOSURE NNIN LYSI N IG EM E DES EVALUATING ANA PLA test EXIT CRITERIA IMPL REPORTING● Run confirmation and/or TEST RESULT regression test CONTROL
  33. 33. Fundamentals of TestingExit Criteria, Reporting, and Closure● Check test logs against exit criteria● Assess if more tests are required● Write test summarry report● Confirm test deliverables● Finalize and archive testware, test environment● Deliver testware to maintenance org.● Perform restrospective to capture EXECUTION improvements for future releases ION G S NTAT CLOSURE NNIN LYSI N IG EM E DES EVALUATING ANA PLA EXIT CRITERIA IMPL REPORTING TEST RESULT CONTROL
  34. 34. Fundamentals of Testing PSYCHOLOGY OF TESTING
  35. 35. Fundamentals of TestingGood Tester Attributes● Curiosity● Professional Pessimism● Critical Eye● Attention to detail● Good communication skills
  36. 36. Fundamentals of TestingDefining Tester Skills● Reading● Writing● Technology● Project● Testing skills
  37. 37. Fundamentals of TestingDiffering Mindsets● Testing and Reviewing vs Development● Developers – author bias
  38. 38. Fundamentals of TestingDegrees of Independence● Independent tester – effective at finding failures● Levels of test independence
  39. 39. Fundamentals of Testing● Clear Objectives● Focus● Constructor or Destructor?● Bad News or Bad Guy?
  40. 40. Testing In The SW Life Cycle V MODEL
  41. 41. Testing In The SW Life Cycle
  42. 42. Testing In The SW Life Cycle TEST TYPES
  43. 43. Testing In The SW Life Cycle Testing Static Dynamic Static Review White box Black boxAnalysis Non Functional Functional
  44. 44. Testing In The SW Life CycleOther Test scopes● Functionality● Security● Interoperability● Performance and Reliability● Stress, Capacity and Volume● Maintenance and Maintainability● Usability and UI● Configuration and Portability● ...
  45. 45. Testing In The SW Life CycleISO 9126 Quality Standard for Software
  46. 46. ISTQB Certification RoadMap
  47. 47. Discussion Q&ASoftware Testing in JPKN

×