SlideShare a Scribd company logo
1 of 47
Software Testing
        (Part I)




A Brief Presentation By
     Disney E. Lai
Outline

●   Fundamentals of Testing
●   Testing in the Software Life Cycle
●   Discussion
Fundamentals of Testing




WHY IS TESTING NECESSARY?
Fundamentals of Testing

The 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 ....
Fundamentals of Testing

ARIANE 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
Fundamentals of Testing

Patriot 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.
Fundamentals of Testing

Mars 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
Fundamentals of Testing

Soyuz 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)
Fundamentals of Testing

Universiti 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?
Fundamentals of Testing

City 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
Fundamentals of Testing

KD Tunku Abdul Rahman (2010)
Fundamentals of Testing




   BUG? WHAT BUG?
Fundamentals of Testing

Where 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
Fundamentals of Testing

Where 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
Fundamentals of Testing

Where Do Bugs Come From?

●   Failures Occur Due to bugs and....

    ●   Environmental conditions – dust, humidity...

    ●   Misuse (deliberate and accidental)
Fundamentals of Testing

What 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
Fundamentals of Testing




   WHAT IS TESTING?
Fundamentals of Testing

Testing 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....
Fundamentals of Testing


       TESTING
      OBJECTIVES




  PLANS
          ?   ACTIONS
Fundamentals of Testing

Test Phases

●   Unit/Component Test

●   Integration Test

●   System Test

●   Acceptance Test/Pilot Test

●   Maintenance Test

●   Operational Test
Fundamentals of Testing




Effective        Efficient
Fundamentals of Testing

Testing 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
Fundamentals of Testing




   TESTING PRINCIPLES
Fundamentals of Testing

Testing Reveals Presence of Bugs




                    Testing can reveal the presence of
                   bugs, but cannot prove their absence
Fundamentals of Testing

Mission Impossible: Exhaustive Testing

Exhaustive testing (all combinations of inputs and
preconditions) is NOT possible

Exhaustive testing as a way to prove the software works is a
misexpectation

Bad Expectation create problem for test pro and teams
 ● Unachievable high demands on test group

 ● Perception of incompetence
Fundamentals of Testing

Benefit of Early QA and Testing
●   Cost of bug tends to increase as the project progresses....

Defect Clustering
●   Bugs tend to appear in clusters

Pesticide Paradox
● One technique alone is not effective to find defects
● Use new and different techniques to find defect
Fundamentals of Testing

Absence-of-Errors Fallacy
●   Finding and fixing many bug does not guarantee satisfaction

●   Successful projects balance – features, schedule, budget
    and quality
Fundamentals of Testing




FUNDAMENTAL TEST PROCESS
Fundamentals of Testing

Testing Processes




                                                        I ON
                                                                 EXECUTION




                                                    NTAT
                  G


                             S




                                                                               CLOSURE
              NNIN


                         LYSI

                                     IGN

                                                EME
                                 DES
                      ANA
           PLA




                                                                EVALUATING
                                                               EXIT CRITERIA
                                           IMPL
                                                                REPORTING
                                                               TEST RESULT


                                           CONTROL
Fundamentals of Testing

Planning 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
Fundamentals of Testing

Analysis 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
Fundamentals of Testing

Implementation 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
Fundamentals of Testing

Exit 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
Fundamentals of Testing




 PSYCHOLOGY OF TESTING
Fundamentals of Testing


Good Tester Attributes
● Curiosity
● Professional Pessimism

● Critical Eye

● Attention to detail

● Good communication skills
Fundamentals of Testing


Defining Tester Skills
● Reading
● Writing

● Technology

● Project

● Testing skills
Fundamentals of Testing


Differing Mindsets
● Testing and Reviewing vs Development
● Developers – author bias
Fundamentals of Testing


Degrees of Independence
● Independent tester – effective at finding
  failures
● Levels of test independence
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



 Static
                    Review         White box              Black box
Analysis


                                                                   Non
                                               Functional
                                                                Functional
Testing In The SW Life Cycle


Other Test scopes
● Functionality
● Security

● Interoperability

● Performance and Reliability

● Stress, Capacity and Volume

● Maintenance and Maintainability

● Usability and UI

● Configuration and Portability

● ...
Testing In The SW Life Cycle

ISO 9126 Quality Standard for Software
ISTQB Certification RoadMap
Discussion




          Q&A
Software Testing in JPKN

More Related Content

Similar to Software Testing

Quality Assurance
Quality AssuranceQuality Assurance
Quality AssuranceKiran Kumar
 
Automate your way to agility
Automate your way to agilityAutomate your way to agility
Automate your way to agilityYuval Yeret
 
Testistanbul 2016 - Keynote: "Why Automated Verification Matters" by Kristian...
Testistanbul 2016 - Keynote: "Why Automated Verification Matters" by Kristian...Testistanbul 2016 - Keynote: "Why Automated Verification Matters" by Kristian...
Testistanbul 2016 - Keynote: "Why Automated Verification Matters" by Kristian...Turkish Testing Board
 
Creating Practical Security Test-Cases for Web Applications
Creating Practical Security Test-Cases for Web ApplicationsCreating Practical Security Test-Cases for Web Applications
Creating Practical Security Test-Cases for Web ApplicationsRafal Los
 
Data NativesBerlin v 20.0 | "Serving A/B experimentation platform end-to-end"...
Data NativesBerlin v 20.0 | "Serving A/B experimentation platform end-to-end"...Data NativesBerlin v 20.0 | "Serving A/B experimentation platform end-to-end"...
Data NativesBerlin v 20.0 | "Serving A/B experimentation platform end-to-end"...Dataconomy Media
 
Introduction to six sigma
Introduction to six sigmaIntroduction to six sigma
Introduction to six sigmanatrajsenthil
 
Design of experiments using Moldflow Analysis.
Design of experiments using Moldflow Analysis.Design of experiments using Moldflow Analysis.
Design of experiments using Moldflow Analysis.Nilesh Nevrekar
 
ICTSS 2010 - Iterative Software Testing Process for Scrum and Waterfall Projects
ICTSS 2010 - Iterative Software Testing Process for Scrum and Waterfall ProjectsICTSS 2010 - Iterative Software Testing Process for Scrum and Waterfall Projects
ICTSS 2010 - Iterative Software Testing Process for Scrum and Waterfall ProjectsEliane Collins
 
The Components Of Testing 0309 V2
The Components Of Testing 0309  V2The Components Of Testing 0309  V2
The Components Of Testing 0309 V2Devukjs
 
Anupam_Chaubey_QA_Resume_1Sep
Anupam_Chaubey_QA_Resume_1SepAnupam_Chaubey_QA_Resume_1Sep
Anupam_Chaubey_QA_Resume_1Sepanupam chaubey
 
Testing Tools Online Training.pdf
Testing Tools Online Training.pdfTesting Tools Online Training.pdf
Testing Tools Online Training.pdfSpiritsoftsTraining
 
Effective Test Estimation
Effective Test EstimationEffective Test Estimation
Effective Test EstimationTechWell
 
Guidelines to Measuring Test Automation ROI
 Guidelines to Measuring Test Automation ROI Guidelines to Measuring Test Automation ROI
Guidelines to Measuring Test Automation ROIPerfecto by Perforce
 
Enabling CD in Enterprises with Testing
Enabling CD in Enterprises with TestingEnabling CD in Enterprises with Testing
Enabling CD in Enterprises with TestingAnand Bagmar
 
Choosing the right QA strategy for a successful project
Choosing the right QA strategy for a successful projectChoosing the right QA strategy for a successful project
Choosing the right QA strategy for a successful projectThe Software House
 
Enabling CD in Enterprises with Testing - Anand Bagmar
Enabling CD in Enterprises with Testing - Anand BagmarEnabling CD in Enterprises with Testing - Anand Bagmar
Enabling CD in Enterprises with Testing - Anand BagmarThoughtworks
 
JF608: Quality Control - Unit 5
JF608: Quality Control - Unit 5JF608: Quality Control - Unit 5
JF608: Quality Control - Unit 5Asraf Malik
 

Similar to Software Testing (20)

Quality Assurance
Quality AssuranceQuality Assurance
Quality Assurance
 
Automate your way to agility
Automate your way to agilityAutomate your way to agility
Automate your way to agility
 
Testistanbul 2016 - Keynote: "Why Automated Verification Matters" by Kristian...
Testistanbul 2016 - Keynote: "Why Automated Verification Matters" by Kristian...Testistanbul 2016 - Keynote: "Why Automated Verification Matters" by Kristian...
Testistanbul 2016 - Keynote: "Why Automated Verification Matters" by Kristian...
 
Creating Practical Security Test-Cases for Web Applications
Creating Practical Security Test-Cases for Web ApplicationsCreating Practical Security Test-Cases for Web Applications
Creating Practical Security Test-Cases for Web Applications
 
Data NativesBerlin v 20.0 | "Serving A/B experimentation platform end-to-end"...
Data NativesBerlin v 20.0 | "Serving A/B experimentation platform end-to-end"...Data NativesBerlin v 20.0 | "Serving A/B experimentation platform end-to-end"...
Data NativesBerlin v 20.0 | "Serving A/B experimentation platform end-to-end"...
 
Ssoverview
SsoverviewSsoverview
Ssoverview
 
Introduction to six sigma
Introduction to six sigmaIntroduction to six sigma
Introduction to six sigma
 
Design of experiments using Moldflow Analysis.
Design of experiments using Moldflow Analysis.Design of experiments using Moldflow Analysis.
Design of experiments using Moldflow Analysis.
 
ICTSS 2010 - Iterative Software Testing Process for Scrum and Waterfall Projects
ICTSS 2010 - Iterative Software Testing Process for Scrum and Waterfall ProjectsICTSS 2010 - Iterative Software Testing Process for Scrum and Waterfall Projects
ICTSS 2010 - Iterative Software Testing Process for Scrum and Waterfall Projects
 
The Components Of Testing 0309 V2
The Components Of Testing 0309  V2The Components Of Testing 0309  V2
The Components Of Testing 0309 V2
 
Anupam_Chaubey_QA_Resume_1Sep
Anupam_Chaubey_QA_Resume_1SepAnupam_Chaubey_QA_Resume_1Sep
Anupam_Chaubey_QA_Resume_1Sep
 
Testing Tools Online Training.pdf
Testing Tools Online Training.pdfTesting Tools Online Training.pdf
Testing Tools Online Training.pdf
 
Effective Test Estimation
Effective Test EstimationEffective Test Estimation
Effective Test Estimation
 
Guidelines to Measuring Test Automation ROI
 Guidelines to Measuring Test Automation ROI Guidelines to Measuring Test Automation ROI
Guidelines to Measuring Test Automation ROI
 
Enabling CD in Enterprises with Testing
Enabling CD in Enterprises with TestingEnabling CD in Enterprises with Testing
Enabling CD in Enterprises with Testing
 
Service pemanas air solahart hp 081313462267
Service pemanas air solahart hp 081313462267Service pemanas air solahart hp 081313462267
Service pemanas air solahart hp 081313462267
 
Choosing the right QA strategy for a successful project
Choosing the right QA strategy for a successful projectChoosing the right QA strategy for a successful project
Choosing the right QA strategy for a successful project
 
Enabling CD in Enterprises with Testing - Anand Bagmar
Enabling CD in Enterprises with Testing - Anand BagmarEnabling CD in Enterprises with Testing - Anand Bagmar
Enabling CD in Enterprises with Testing - Anand Bagmar
 
Software Testing and Debugging
Software Testing and DebuggingSoftware Testing and Debugging
Software Testing and Debugging
 
JF608: Quality Control - Unit 5
JF608: Quality Control - Unit 5JF608: Quality Control - Unit 5
JF608: Quality Control - Unit 5
 

Recently uploaded

How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdfChristopherTHyatt
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 

Recently uploaded (20)

How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 

Software Testing

  • 1. Software Testing (Part I) A Brief Presentation By Disney E. Lai
  • 2. Outline ● Fundamentals of Testing ● Testing in the Software Life Cycle ● Discussion
  • 3. Fundamentals of Testing WHY IS TESTING NECESSARY?
  • 4. Fundamentals of Testing The 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. Fundamentals of Testing ARIANE 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. Fundamentals of Testing Patriot 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. Fundamentals of Testing Mars 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. Fundamentals of Testing Soyuz 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. Fundamentals of Testing Universiti 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. Fundamentals of Testing City 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. Fundamentals of Testing KD Tunku Abdul Rahman (2010)
  • 12. Fundamentals of Testing BUG? WHAT BUG?
  • 13. Fundamentals of Testing Where 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. Fundamentals of Testing Where 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. Fundamentals of Testing Where Do Bugs Come From? ● Failures Occur Due to bugs and.... ● Environmental conditions – dust, humidity... ● Misuse (deliberate and accidental)
  • 16. Fundamentals of Testing What 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. Fundamentals of Testing WHAT IS TESTING?
  • 18. Fundamentals of Testing Testing 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. Fundamentals of Testing TESTING OBJECTIVES PLANS ? ACTIONS
  • 20. Fundamentals of Testing Test Phases ● Unit/Component Test ● Integration Test ● System Test ● Acceptance Test/Pilot Test ● Maintenance Test ● Operational Test
  • 22. Fundamentals of Testing Testing 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. Fundamentals of Testing TESTING PRINCIPLES
  • 24. Fundamentals of Testing Testing Reveals Presence of Bugs Testing can reveal the presence of bugs, but cannot prove their absence
  • 25. Fundamentals of Testing Mission Impossible: Exhaustive Testing Exhaustive testing (all combinations of inputs and preconditions) is NOT possible Exhaustive testing as a way to prove the software works is a misexpectation Bad Expectation create problem for test pro and teams ● Unachievable high demands on test group ● Perception of incompetence
  • 26. Fundamentals of Testing Benefit of Early QA and Testing ● Cost of bug tends to increase as the project progresses.... Defect Clustering ● Bugs tend to appear in clusters Pesticide Paradox ● One technique alone is not effective to find defects ● Use new and different techniques to find defect
  • 27. Fundamentals of Testing Absence-of-Errors Fallacy ● Finding and fixing many bug does not guarantee satisfaction ● Successful projects balance – features, schedule, budget and quality
  • 29. Fundamentals of Testing Testing Processes I ON EXECUTION NTAT G S CLOSURE NNIN LYSI IGN EME DES ANA PLA EVALUATING EXIT CRITERIA IMPL REPORTING TEST RESULT CONTROL
  • 30. Fundamentals of Testing Planning 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. Fundamentals of Testing Analysis 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. Fundamentals of Testing Implementation 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. Fundamentals of Testing Exit 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. Fundamentals of Testing PSYCHOLOGY OF TESTING
  • 35. Fundamentals of Testing Good Tester Attributes ● Curiosity ● Professional Pessimism ● Critical Eye ● Attention to detail ● Good communication skills
  • 36. Fundamentals of Testing Defining Tester Skills ● Reading ● Writing ● Technology ● Project ● Testing skills
  • 37. Fundamentals of Testing Differing Mindsets ● Testing and Reviewing vs Development ● Developers – author bias
  • 38. Fundamentals of Testing Degrees of Independence ● Independent tester – effective at finding failures ● Levels of test independence
  • 39. Fundamentals of Testing ● Clear Objectives ● Focus ● Constructor or Destructor? ● Bad News or Bad Guy?
  • 40. Testing In The SW Life Cycle ''V'' MODEL
  • 41. Testing In The SW Life Cycle
  • 42. Testing In The SW Life Cycle TEST TYPES
  • 43. Testing In The SW Life Cycle Testing Static Dynamic Static Review White box Black box Analysis Non Functional Functional
  • 44. Testing In The SW Life Cycle Other Test scopes ● Functionality ● Security ● Interoperability ● Performance and Reliability ● Stress, Capacity and Volume ● Maintenance and Maintainability ● Usability and UI ● Configuration and Portability ● ...
  • 45. Testing In The SW Life Cycle ISO 9126 Quality Standard for Software
  • 47. Discussion Q&A Software Testing in JPKN