SlideShare ist ein Scribd-Unternehmen logo
1 von 47
Software Testing
Methods
A quick review on existing
approaches, their benefits
and pitfalls.
Basic Testing Methods
Basically, testing methods can be classified in this
fields:

 Dynamic  or Static
 The Box Approach
     White Box
     Black Box
     Gray Box
 Visual   Testing
Testing Levels classifications
Based on which level of software you want to test, we can
implement the testing methods in these levels:


 Unittesting
 Integration testing
 System testing
Testing Goals and Aims
   Performance testing
   Usability testing
   Scalability testing
   Software Stress testing
   Recovery testing
   Security testing
   Conformance testing
   Smoke testing
   Compatibility testing
   System testing
   Alpha testing
   Beta testing
Basic Testing Methods
Dynamic or Static
 The Box Approach
     White Box
     Black Box
     Gray Box
 Visual   Testing
Static Testing
   It is generally not detailed testing, but checks
    mainly for the sanity of the code, algorithm, or
    document.
   primarily syntax checking of the code and/or
    manually reviewing the code or document to
    find errors.
   Mainly implemented in black-box point of
    view
   Bugs discovered at this stage are less
    expensive to fix them later.
Dynamic Testing
 Dynamic    Testing involves working with the
  software, giving input values and
  checking if the output is as expected.
 Unit Tests, Integration Tests, System Tests
  and Acceptance Tests are few of the
  Dynamic Testing methodologies.
 In the dynamic testing, testing begins
  before the software becomes completed.
Basic Testing Methods
 Dynamic     or Static
The   Box Approach
   White Box
   Black Box
   Gray Box
 Visual   Testing
White box
 testing the internal of the software, the
  methods and it’s components to specify it
  can meet the needs of the end user.
 The following types of testing fall under
  the white box testing technique - Unit
  Testing, Integration Testing
Black-Box
 examining    the functionality without
  knowing any information about how it is
  made.
 The tester is only aware of what the
  software is supposed to do, not how it
  does it.
 The following types of testing fall under
  the Black box testing technique - System
  Testing, Acceptance Testing.
Gray Box Testing
 Involves having knowledge of internal
  data structures and algorithms for
  purposes of designing tests
 The tester is not required to have full
  access to the software's source code
Basic Testing Methods
 Dynamic  or Static
 The Box Approach
    White Box
    Black Box
    Gray Box
 Visual   Testing
Visual Testing
 Recording     of the entire test process –
  capturing everything that occurs on the
  test system in video format.
 It is suitable to apply in agile projects,
  since agile methods require greater
  communication between testers and
  developers and collaboration within small
  teams.
Testing Levels classifications
Unit testing
 Integration testing
 System testing
Unit testing
A  unit test is a procedure used to verify
  that a particular module of source code is
  working properly.
 The test cases should be written for each
  peace of code, functions and methods
 This type of testing is mostly done by the
  developers and not by end-users.
Testing Levels classifications
 Unit   testing
Integration       testing
 System testing
Integration testing
   Integration Testing involves with verifying the
    interfaces of system components in software
    design.
   Tries to show the mistakes in interactions and
    interfaces between system modules.
   To approaches is suggested for Integration
    Testing* :
       Bottom-Up
       Top-Down
    * Refer to the documents for further information(Integration
    Testing.pdf)
Testing Levels classifications
 Unittesting
 Integration testing

System       testing
System Testing
 Mainly testing the system to meet its
  requirements.
 Elaborating that how the third-party
  systems or any external system is
  interacting with the system.
Section 2 :
Software Testing Practices
In this section, we’ll take a look at how testing can
be implemented in popular project management
methodologies:


1.   Waterfall development
2.   Extreme Programming
3.   Scrum
4.   Agile
Waterfall Development
 Positive   Points
     The software is ready, and every step of
      testing process will be completely mature
      and sensible.
     The test reporting results are clear and
      enables the management to specify which
      decision should be taken.
Waterfall Development
   Negative Points
       It assumes that the system is completely
        ready, So It happens pretty late.
       Fixing the errors found can be so expensive.
       Running a script for one user without errors
        doesn't prove anything.
       Running all scripts together make it very difficult
        to tune and troubleshoot
       Running a single large test (or even a few of
        them) gives minimal information about the
        system behavior.
Section 2 :
Software Testing Practices
1.   Waterfall development
2.   Extreme Programming
3.   Scrum
4.   Agile
Extreme Programming
   Rather than designing whole of the system at
    the start of the project, the preliminary design
    work is reduced to solving the simple tasks
    that have already been identified.
   The developers communicate directly with
    customers and other developers to
    understand the initial requirements.
   During the XP, developers usually work in pairs
    to test the code.
Extreme Programming
 Benefits
     The best method when the customer
      doesn’t have a clear understanding of the
      details of the new system.
     When the technology used to develop the
      system is new compared to other
      technologies.
     When the team size is not very large (usually
      2 to 12 people).
Extreme Programming
 Pitfalls:
     All code must have Unit tests.
     All code must pass all Unit tests before it
      can be released.
     When a Bug is found tests are created
      before the bug is addressed (a bug is not
      an error in logic, it is a test you forgot to
      write)
Section 3 :
Testing Methods, Benefits and Pitfalls
 Static   Testing
 White  Box Testing
 Black Box Testing
 Unit Testing
 Integration Testing
 System Testing
Static Testing
   Benefits
       Capture defects early, so saves rework cost
       Checklist-based approach
       Focuses on coverage
       Group perspective
       Highest probability of finding defects
   Pitfalls:
       Time-consuming
       Cannot test data dependencies
       High skill levels on each field required
Testing methods:
benefits and pitfalls
 Static   Testing
 White     Box Testing
 Black  Box Testing
 Unit Testing
 Integration Testing
 System Testing
White Box Testing
Dynamic testing implements in white-box testing
methods.
 Benefits
     Forces test developer in implementation
     Approximates the partitioning done by execution
      equivalence
     Reveals errors in "hidden" code
     As the knowledge of internal coding structure is
      prerequisite, it becomes very easy to find out which type
      of input/data can help in testing the application
      effectively.
     It helps in optimizing the code.
     It helps in removing the extra lines of code, which can
      bring in hidden defects.
White Box Testing
   Pitfalls:
       Expensive
       Miss cases omitted in the code
       A skilled tester is needed to carry out this type of
        testing, which increases the cost.
       It is nearly impossible to look into every bit of
        code to find out hidden errors
       Not looking at the code in a runtime
        environment. (The OS, environment and third-party situations
        can result in finding bugs that it cannot recognize )
       Very few white-box tests can be done without
        modifying the program
Testing methods:
benefits and pitfalls
 StaticTesting
 White Box Testing

 Black    Box Testing
 UnitTesting
 Integration Testing
 System Testing
Black Box Testing
   Benefits
       Black box tests are reproducible.
       The environment the program is running is also
        tested.
       The invested effort can be used multiple times.
       More effective on larger units of code than glass
        box testing
       Tester needs no knowledge of implementation,
        including specific programming languages
       Tests are done from a user's point of view
       Will help to expose any ambiguities or
        inconsistencies in the specifications
       Efficient when used on Larger systems
Black Box Testing
   Benefits
       Tester and developer are independent of each
        other, test is balanced and unprejudiced
       Tester can be non-technical.
       There is no need of having detailed functional
        knowledge of system to the tester.
       Tests will be done from an end user's point of
        view. Because end user should accept the
        system. (Look for acceptance testing)
       Testing helps to identify the vagueness and
        contradiction in functional specifications.
       Test cases can be designed as soon as the
        functional specifications are complete
Black Box Testing
   Pitfalls:
       The results are often overestimated.
       Not all properties of a software product can be tested
       The reason for a failure is not found.
       Only a small number of possible inputs can actually be
        tested, to test every possible input stream would take
        nearly forever
       Without clear and concise specifications, test cases are
        hard to design
       There may be unnecessary repetition of test inputs if the
        tester is not informed of test cases the programmer has
        already tried
       May leave many program paths untested
       Cannot be directed toward specific segments of code
        which may be very complex (and therefore more error prone)
Black Box Testing
   Pitfalls:
       Most testing related research has been directed
        toward glass box testing
       Test cases are tough and challenging to design,
        without having clear functional specifications
       It is difficult to identify tricky inputs, if the test cases
        are not developed based on specifications.
       It is difficult to identify all possible inputs in limited
        testing time. So writing test cases is slow and
        difficult
       Chances of having unidentified paths during this
        testing
       Chances of having repetition of tests that are
        already done by programmer.
Testing methods:
benefits and pitfalls
 StaticTesting
 White Box Testing
 Black Box Testing

 Unit   Testing
 Integration Testing
 System Testing
Unit Testing
   Benefits:
       Unit testing provides a strict, written contract
        that the piece of code must satisfy.
       allows the programmer to re-factor code at a
        later date, and make sure the module still works
        correctly
       Unit testing helps eliminate uncertainty in the
        pieces themselves and can be used in a
        bottom-up testing style approach.
       Unit testing provides a sort of "living document".
Unit Testing
 Pitfalls:
     Unit-testing will not catch every error in the
      program, will not catch integration errors
     A unit test can only show the presence of
      errors; it cannot show the absence of errors.
Testing methods:
benefits and pitfalls
 Static Testing
 White Box Testing
 Black Box Testing
 Unit Testing

 Integration   Testing
 System   Testing
Integration Testing
 Bottom-Up      Approach
    Benefits
      Helpfulif errors like deep down in the
       dependency structure.
      Test conditions are easier to create.
      Observation results are reasonable easy.
      Reduced effort in creating stub modules.
Integration Testing
 Bottom-Up      Approach
    Pitfalls:
      Need  to create stub modules.(It is easier than
       creating stub code)
      The entire system is subjected to the small
       amount of test.(because the top modules are
       included in the tests at the final stage).
Integration Testing
 Top-Down       Approach
    Benefits:
      If major defects are more likely at the top
       level modules top-down is beneficial.
      Getting I/O functions early can ease test
       writing.
      Early demonstration of the main functionality
       can be helpful in highlighting requirements
       issue and the in boosting morale.
Integration Testing
   Top-Down Approach
       Pitfalls:
         Too much effort on stubs.
         Stub complexity can introduce errors.
         Defining stubs can be difficult if some code is
          yet to be written.
         It may be impossible accurately to reproduce
          test conditions.
         Some observation maybe possible to make.
         Encourages the idea that test and
          development can overlap.
         Encourages deferring full testing of modules
          (until lower level modules can complete.)
Testing methods:
benefits and pitfalls
 Static Testing
 White Box Testing
 Black Box Testing
 Unit Testing
 Integration Testing

System     Testing
System Testing
System testing mainly is a sort of Black Box
testing, to get more detailed information
see black box testing benefits and pitfalls.
My Opinion
 Using the Black Box Approach with
  Integration testing method – Top-Down
  view.
 Breaking the system down into sub
  systems at the first step of each process.
 Specify one person to run the test parts.
 Make a simple documentation for each
  part with expecting features point of view.

Weitere ähnliche Inhalte

Was ist angesagt?

ISTQB Test level, Test type
ISTQB Test level, Test typeISTQB Test level, Test type
ISTQB Test level, Test typeHoangThiHien1
 
Basic software-testing-concepts
Basic software-testing-conceptsBasic software-testing-concepts
Basic software-testing-conceptsmedsherb
 
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...Ankit Prajapati
 
Testing concepts ppt
Testing concepts pptTesting concepts ppt
Testing concepts pptRathna Priya
 
Static Testing vs Dynamic Testing
Static Testing  vs Dynamic TestingStatic Testing  vs Dynamic Testing
Static Testing vs Dynamic TestingProfessional QA
 
UNIT TESTING PPT
UNIT TESTING PPTUNIT TESTING PPT
UNIT TESTING PPTsuhasreddy1
 
Black box testing or behavioral testing
Black box testing or behavioral testingBlack box testing or behavioral testing
Black box testing or behavioral testingSlideshare
 
Basic Guide to Manual Testing
Basic Guide to Manual TestingBasic Guide to Manual Testing
Basic Guide to Manual TestingHiral Gosani
 
Software testing
Software testingSoftware testing
Software testingAshu Bansal
 
Test Process
Test ProcessTest Process
Test Processtokarthik
 
Software Testing Tutorials - MindScripts Technologies, Pune
Software Testing Tutorials - MindScripts Technologies, PuneSoftware Testing Tutorials - MindScripts Technologies, Pune
Software Testing Tutorials - MindScripts Technologies, Punesanjayjadhav8789
 
Unit and integration Testing
Unit and integration TestingUnit and integration Testing
Unit and integration TestingDavid Berliner
 
Software testing
Software testingSoftware testing
Software testingmkn3009
 
Introduction to software testing
Introduction to software testingIntroduction to software testing
Introduction to software testingHadi Fadlallah
 

Was ist angesagt? (20)

ISTQB Test level, Test type
ISTQB Test level, Test typeISTQB Test level, Test type
ISTQB Test level, Test type
 
3.software testing
3.software testing3.software testing
3.software testing
 
Basic software-testing-concepts
Basic software-testing-conceptsBasic software-testing-concepts
Basic software-testing-concepts
 
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
 
Testing concepts ppt
Testing concepts pptTesting concepts ppt
Testing concepts ppt
 
Static Testing vs Dynamic Testing
Static Testing  vs Dynamic TestingStatic Testing  vs Dynamic Testing
Static Testing vs Dynamic Testing
 
UNIT TESTING PPT
UNIT TESTING PPTUNIT TESTING PPT
UNIT TESTING PPT
 
Black box testing or behavioral testing
Black box testing or behavioral testingBlack box testing or behavioral testing
Black box testing or behavioral testing
 
Basic Guide to Manual Testing
Basic Guide to Manual TestingBasic Guide to Manual Testing
Basic Guide to Manual Testing
 
Software testing
Software testingSoftware testing
Software testing
 
Static Testing
Static Testing Static Testing
Static Testing
 
Test Process
Test ProcessTest Process
Test Process
 
Software Testing Tutorials - MindScripts Technologies, Pune
Software Testing Tutorials - MindScripts Technologies, PuneSoftware Testing Tutorials - MindScripts Technologies, Pune
Software Testing Tutorials - MindScripts Technologies, Pune
 
Unit and integration Testing
Unit and integration TestingUnit and integration Testing
Unit and integration Testing
 
Software testing
Software testingSoftware testing
Software testing
 
Chapter 3 - Static Testing
Chapter 3 - Static TestingChapter 3 - Static Testing
Chapter 3 - Static Testing
 
Black box software testing
Black box software testingBlack box software testing
Black box software testing
 
Chapter 5 - Test Management
Chapter 5 - Test ManagementChapter 5 - Test Management
Chapter 5 - Test Management
 
Istqb foundation level day 1
Istqb foundation level   day 1Istqb foundation level   day 1
Istqb foundation level day 1
 
Introduction to software testing
Introduction to software testingIntroduction to software testing
Introduction to software testing
 

Andere mochten auch

Software testing methods, levels and types
Software testing methods, levels and typesSoftware testing methods, levels and types
Software testing methods, levels and typesConfiz
 
Software Testing Basics
Software Testing BasicsSoftware Testing Basics
Software Testing BasicsBelal Raslan
 
Software testing basic concepts
Software testing basic conceptsSoftware testing basic concepts
Software testing basic conceptsHưng Hoàng
 
Software Testing Methods by Swapnil Shinde
Software Testing Methods by Swapnil ShindeSoftware Testing Methods by Swapnil Shinde
Software Testing Methods by Swapnil Shindeswapnilbk
 
A/B Testing: Concept != Execution
A/B Testing: Concept != ExecutionA/B Testing: Concept != Execution
A/B Testing: Concept != ExecutionErin Weigel
 
Testing Fundamentals
Testing FundamentalsTesting Fundamentals
Testing FundamentalsKiran Kumar
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testingBugRaptors
 
Model-based Testing Principles
Model-based Testing PrinciplesModel-based Testing Principles
Model-based Testing PrinciplesHenry Muccini
 
Approaches to Software Testing
Approaches to Software TestingApproaches to Software Testing
Approaches to Software TestingScott Barber
 
Test Case Point Analysis
Test Case Point AnalysisTest Case Point Analysis
Test Case Point Analysisvuqn
 
Team Foundation Server 2010
Team Foundation Server 2010Team Foundation Server 2010
Team Foundation Server 2010Enterprisecoding
 

Andere mochten auch (13)

Software testing methods, levels and types
Software testing methods, levels and typesSoftware testing methods, levels and types
Software testing methods, levels and types
 
Software Testing Basics
Software Testing BasicsSoftware Testing Basics
Software Testing Basics
 
Software testing basic concepts
Software testing basic conceptsSoftware testing basic concepts
Software testing basic concepts
 
Software testing ppt
Software testing pptSoftware testing ppt
Software testing ppt
 
Software Testing Methods by Swapnil Shinde
Software Testing Methods by Swapnil ShindeSoftware Testing Methods by Swapnil Shinde
Software Testing Methods by Swapnil Shinde
 
A/B Testing: Concept != Execution
A/B Testing: Concept != ExecutionA/B Testing: Concept != Execution
A/B Testing: Concept != Execution
 
Testing Fundamentals
Testing FundamentalsTesting Fundamentals
Testing Fundamentals
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
 
Model-based Testing Principles
Model-based Testing PrinciplesModel-based Testing Principles
Model-based Testing Principles
 
Approaches to Software Testing
Approaches to Software TestingApproaches to Software Testing
Approaches to Software Testing
 
Test studio
Test studioTest studio
Test studio
 
Test Case Point Analysis
Test Case Point AnalysisTest Case Point Analysis
Test Case Point Analysis
 
Team Foundation Server 2010
Team Foundation Server 2010Team Foundation Server 2010
Team Foundation Server 2010
 

Ähnlich wie Software testing methods

unittesting-190620114546 (1).pptx document
unittesting-190620114546 (1).pptx documentunittesting-190620114546 (1).pptx document
unittesting-190620114546 (1).pptx documentAkshayaM79
 
softwaretesting-140721025833-phpapp02.pdf
softwaretesting-140721025833-phpapp02.pdfsoftwaretesting-140721025833-phpapp02.pdf
softwaretesting-140721025833-phpapp02.pdfSHAMSHADHUSAIN9
 
Testing chapter updated (1)
Testing chapter updated (1)Testing chapter updated (1)
Testing chapter updated (1)abdullah619
 
softwaretesting-140721025833-phpapp02.pptx
softwaretesting-140721025833-phpapp02.pptxsoftwaretesting-140721025833-phpapp02.pptx
softwaretesting-140721025833-phpapp02.pptxSHAMSHADHUSAIN9
 
Ch 2 Apraoaches Of Software Testing
Ch 2 Apraoaches Of Software Testing Ch 2 Apraoaches Of Software Testing
Ch 2 Apraoaches Of Software Testing Prof .Pragati Khade
 
Testing fundamentals
Testing fundamentalsTesting fundamentals
Testing fundamentalsAbdul Basit
 
Unit testing - what is its importance
Unit testing - what is its importanceUnit testing - what is its importance
Unit testing - what is its importanceTestingXperts
 
White box & black box testing
White box & black box testingWhite box & black box testing
White box & black box testingSaket Khopkar
 
4. The Software Development Process - Testing
4. The Software Development Process - Testing4. The Software Development Process - Testing
4. The Software Development Process - TestingForrester High School
 
Object oriented sad 6
Object oriented sad 6Object oriented sad 6
Object oriented sad 6Bisrat Girma
 

Ähnlich wie Software testing methods (20)

unittesting-190620114546 (1).pptx document
unittesting-190620114546 (1).pptx documentunittesting-190620114546 (1).pptx document
unittesting-190620114546 (1).pptx document
 
softwaretesting-140721025833-phpapp02.pdf
softwaretesting-140721025833-phpapp02.pdfsoftwaretesting-140721025833-phpapp02.pdf
softwaretesting-140721025833-phpapp02.pdf
 
Software testing strategies
Software testing strategiesSoftware testing strategies
Software testing strategies
 
Testing chapter updated (1)
Testing chapter updated (1)Testing chapter updated (1)
Testing chapter updated (1)
 
softwaretesting-140721025833-phpapp02.pptx
softwaretesting-140721025833-phpapp02.pptxsoftwaretesting-140721025833-phpapp02.pptx
softwaretesting-140721025833-phpapp02.pptx
 
Ch 2 Apraoaches Of Software Testing
Ch 2 Apraoaches Of Software Testing Ch 2 Apraoaches Of Software Testing
Ch 2 Apraoaches Of Software Testing
 
Testing concepts
Testing conceptsTesting concepts
Testing concepts
 
Software testing
Software testingSoftware testing
Software testing
 
Testing fundamentals
Testing fundamentalsTesting fundamentals
Testing fundamentals
 
Software test life cycle
Software test life cycleSoftware test life cycle
Software test life cycle
 
Unit testing - what is its importance
Unit testing - what is its importanceUnit testing - what is its importance
Unit testing - what is its importance
 
Testing
Testing Testing
Testing
 
White box & black box testing
White box & black box testingWhite box & black box testing
White box & black box testing
 
Software Testing - SDLC Model
Software Testing - SDLC ModelSoftware Testing - SDLC Model
Software Testing - SDLC Model
 
4. The Software Development Process - Testing
4. The Software Development Process - Testing4. The Software Development Process - Testing
4. The Software Development Process - Testing
 
Software testing
Software testingSoftware testing
Software testing
 
A COMPOSITION ON SOFTWARE TESTING
A COMPOSITION ON SOFTWARE TESTINGA COMPOSITION ON SOFTWARE TESTING
A COMPOSITION ON SOFTWARE TESTING
 
Object oriented sad 6
Object oriented sad 6Object oriented sad 6
Object oriented sad 6
 
Software testing
Software testingSoftware testing
Software testing
 
WHITE BOX TESTING ashu.pptx
WHITE BOX TESTING ashu.pptxWHITE BOX TESTING ashu.pptx
WHITE BOX TESTING ashu.pptx
 

Kürzlich hochgeladen

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
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
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
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
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
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
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
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
 

Kürzlich hochgeladen (20)

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
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
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
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
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 

Software testing methods

  • 1. Software Testing Methods A quick review on existing approaches, their benefits and pitfalls.
  • 2. Basic Testing Methods Basically, testing methods can be classified in this fields:  Dynamic or Static  The Box Approach  White Box  Black Box  Gray Box  Visual Testing
  • 3. Testing Levels classifications Based on which level of software you want to test, we can implement the testing methods in these levels:  Unittesting  Integration testing  System testing
  • 4. Testing Goals and Aims  Performance testing  Usability testing  Scalability testing  Software Stress testing  Recovery testing  Security testing  Conformance testing  Smoke testing  Compatibility testing  System testing  Alpha testing  Beta testing
  • 5. Basic Testing Methods Dynamic or Static  The Box Approach  White Box  Black Box  Gray Box  Visual Testing
  • 6. Static Testing  It is generally not detailed testing, but checks mainly for the sanity of the code, algorithm, or document.  primarily syntax checking of the code and/or manually reviewing the code or document to find errors.  Mainly implemented in black-box point of view  Bugs discovered at this stage are less expensive to fix them later.
  • 7. Dynamic Testing  Dynamic Testing involves working with the software, giving input values and checking if the output is as expected.  Unit Tests, Integration Tests, System Tests and Acceptance Tests are few of the Dynamic Testing methodologies.  In the dynamic testing, testing begins before the software becomes completed.
  • 8. Basic Testing Methods  Dynamic or Static The Box Approach  White Box  Black Box  Gray Box  Visual Testing
  • 9. White box  testing the internal of the software, the methods and it’s components to specify it can meet the needs of the end user.  The following types of testing fall under the white box testing technique - Unit Testing, Integration Testing
  • 10. Black-Box  examining the functionality without knowing any information about how it is made.  The tester is only aware of what the software is supposed to do, not how it does it.  The following types of testing fall under the Black box testing technique - System Testing, Acceptance Testing.
  • 11. Gray Box Testing  Involves having knowledge of internal data structures and algorithms for purposes of designing tests  The tester is not required to have full access to the software's source code
  • 12. Basic Testing Methods  Dynamic or Static  The Box Approach  White Box  Black Box  Gray Box  Visual Testing
  • 13. Visual Testing  Recording of the entire test process – capturing everything that occurs on the test system in video format.  It is suitable to apply in agile projects, since agile methods require greater communication between testers and developers and collaboration within small teams.
  • 14. Testing Levels classifications Unit testing  Integration testing  System testing
  • 15. Unit testing A unit test is a procedure used to verify that a particular module of source code is working properly.  The test cases should be written for each peace of code, functions and methods  This type of testing is mostly done by the developers and not by end-users.
  • 16. Testing Levels classifications  Unit testing Integration testing  System testing
  • 17. Integration testing  Integration Testing involves with verifying the interfaces of system components in software design.  Tries to show the mistakes in interactions and interfaces between system modules.  To approaches is suggested for Integration Testing* :  Bottom-Up  Top-Down * Refer to the documents for further information(Integration Testing.pdf)
  • 18. Testing Levels classifications  Unittesting  Integration testing System testing
  • 19. System Testing  Mainly testing the system to meet its requirements.  Elaborating that how the third-party systems or any external system is interacting with the system.
  • 20. Section 2 : Software Testing Practices In this section, we’ll take a look at how testing can be implemented in popular project management methodologies: 1. Waterfall development 2. Extreme Programming 3. Scrum 4. Agile
  • 21. Waterfall Development  Positive Points  The software is ready, and every step of testing process will be completely mature and sensible.  The test reporting results are clear and enables the management to specify which decision should be taken.
  • 22. Waterfall Development  Negative Points  It assumes that the system is completely ready, So It happens pretty late.  Fixing the errors found can be so expensive.  Running a script for one user without errors doesn't prove anything.  Running all scripts together make it very difficult to tune and troubleshoot  Running a single large test (or even a few of them) gives minimal information about the system behavior.
  • 23. Section 2 : Software Testing Practices 1. Waterfall development 2. Extreme Programming 3. Scrum 4. Agile
  • 24. Extreme Programming  Rather than designing whole of the system at the start of the project, the preliminary design work is reduced to solving the simple tasks that have already been identified.  The developers communicate directly with customers and other developers to understand the initial requirements.  During the XP, developers usually work in pairs to test the code.
  • 25. Extreme Programming  Benefits  The best method when the customer doesn’t have a clear understanding of the details of the new system.  When the technology used to develop the system is new compared to other technologies.  When the team size is not very large (usually 2 to 12 people).
  • 26. Extreme Programming  Pitfalls:  All code must have Unit tests.  All code must pass all Unit tests before it can be released.  When a Bug is found tests are created before the bug is addressed (a bug is not an error in logic, it is a test you forgot to write)
  • 27. Section 3 : Testing Methods, Benefits and Pitfalls  Static Testing  White Box Testing  Black Box Testing  Unit Testing  Integration Testing  System Testing
  • 28. Static Testing  Benefits  Capture defects early, so saves rework cost  Checklist-based approach  Focuses on coverage  Group perspective  Highest probability of finding defects  Pitfalls:  Time-consuming  Cannot test data dependencies  High skill levels on each field required
  • 29. Testing methods: benefits and pitfalls  Static Testing  White Box Testing  Black Box Testing  Unit Testing  Integration Testing  System Testing
  • 30. White Box Testing Dynamic testing implements in white-box testing methods.  Benefits  Forces test developer in implementation  Approximates the partitioning done by execution equivalence  Reveals errors in "hidden" code  As the knowledge of internal coding structure is prerequisite, it becomes very easy to find out which type of input/data can help in testing the application effectively.  It helps in optimizing the code.  It helps in removing the extra lines of code, which can bring in hidden defects.
  • 31. White Box Testing  Pitfalls:  Expensive  Miss cases omitted in the code  A skilled tester is needed to carry out this type of testing, which increases the cost.  It is nearly impossible to look into every bit of code to find out hidden errors  Not looking at the code in a runtime environment. (The OS, environment and third-party situations can result in finding bugs that it cannot recognize )  Very few white-box tests can be done without modifying the program
  • 32. Testing methods: benefits and pitfalls  StaticTesting  White Box Testing  Black Box Testing  UnitTesting  Integration Testing  System Testing
  • 33. Black Box Testing  Benefits  Black box tests are reproducible.  The environment the program is running is also tested.  The invested effort can be used multiple times.  More effective on larger units of code than glass box testing  Tester needs no knowledge of implementation, including specific programming languages  Tests are done from a user's point of view  Will help to expose any ambiguities or inconsistencies in the specifications  Efficient when used on Larger systems
  • 34. Black Box Testing  Benefits  Tester and developer are independent of each other, test is balanced and unprejudiced  Tester can be non-technical.  There is no need of having detailed functional knowledge of system to the tester.  Tests will be done from an end user's point of view. Because end user should accept the system. (Look for acceptance testing)  Testing helps to identify the vagueness and contradiction in functional specifications.  Test cases can be designed as soon as the functional specifications are complete
  • 35. Black Box Testing  Pitfalls:  The results are often overestimated.  Not all properties of a software product can be tested  The reason for a failure is not found.  Only a small number of possible inputs can actually be tested, to test every possible input stream would take nearly forever  Without clear and concise specifications, test cases are hard to design  There may be unnecessary repetition of test inputs if the tester is not informed of test cases the programmer has already tried  May leave many program paths untested  Cannot be directed toward specific segments of code which may be very complex (and therefore more error prone)
  • 36. Black Box Testing  Pitfalls:  Most testing related research has been directed toward glass box testing  Test cases are tough and challenging to design, without having clear functional specifications  It is difficult to identify tricky inputs, if the test cases are not developed based on specifications.  It is difficult to identify all possible inputs in limited testing time. So writing test cases is slow and difficult  Chances of having unidentified paths during this testing  Chances of having repetition of tests that are already done by programmer.
  • 37. Testing methods: benefits and pitfalls  StaticTesting  White Box Testing  Black Box Testing  Unit Testing  Integration Testing  System Testing
  • 38. Unit Testing  Benefits:  Unit testing provides a strict, written contract that the piece of code must satisfy.  allows the programmer to re-factor code at a later date, and make sure the module still works correctly  Unit testing helps eliminate uncertainty in the pieces themselves and can be used in a bottom-up testing style approach.  Unit testing provides a sort of "living document".
  • 39. Unit Testing  Pitfalls:  Unit-testing will not catch every error in the program, will not catch integration errors  A unit test can only show the presence of errors; it cannot show the absence of errors.
  • 40. Testing methods: benefits and pitfalls  Static Testing  White Box Testing  Black Box Testing  Unit Testing  Integration Testing  System Testing
  • 41. Integration Testing  Bottom-Up Approach  Benefits  Helpfulif errors like deep down in the dependency structure.  Test conditions are easier to create.  Observation results are reasonable easy.  Reduced effort in creating stub modules.
  • 42. Integration Testing  Bottom-Up Approach  Pitfalls:  Need to create stub modules.(It is easier than creating stub code)  The entire system is subjected to the small amount of test.(because the top modules are included in the tests at the final stage).
  • 43. Integration Testing  Top-Down Approach  Benefits:  If major defects are more likely at the top level modules top-down is beneficial.  Getting I/O functions early can ease test writing.  Early demonstration of the main functionality can be helpful in highlighting requirements issue and the in boosting morale.
  • 44. Integration Testing  Top-Down Approach  Pitfalls:  Too much effort on stubs.  Stub complexity can introduce errors.  Defining stubs can be difficult if some code is yet to be written.  It may be impossible accurately to reproduce test conditions.  Some observation maybe possible to make.  Encourages the idea that test and development can overlap.  Encourages deferring full testing of modules (until lower level modules can complete.)
  • 45. Testing methods: benefits and pitfalls  Static Testing  White Box Testing  Black Box Testing  Unit Testing  Integration Testing System Testing
  • 46. System Testing System testing mainly is a sort of Black Box testing, to get more detailed information see black box testing benefits and pitfalls.
  • 47. My Opinion  Using the Black Box Approach with Integration testing method – Top-Down view.  Breaking the system down into sub systems at the first step of each process.  Specify one person to run the test parts.  Make a simple documentation for each part with expecting features point of view.