IMPORTANCE OF SOFTWARE TESTING SOFTWARE TESTING METHODOLOGIES SOFTWARE TESTING TECHNIQUES ➢ BLACK-BOX TECHNIQUES ➢ WHITE-BOX TECHNIQUES ➢ EXPERIENCED-BASED TECHNIQUES www.edureka.co
www.edureka.co
www.edureka.co Disasters Due to Software Flaws Power Blackout Launch Error Satellite Failure Plane Crashes Radioactive Overexposure Register Malfunction ETCS bugs Smart Ship Drowning
Best Quality Product www.edureka.co Save Time & Resources Used Customer Satisfaction Brings More ProfitUser Experience Business Optimization
www.edureka.co
www.edureka.co Software testing methodologies are the different strategies, approaches and ways of ensuring that a software application in particular is fully tested. 04 Leverages current technology investments 01 Single integrated testing environment 02 Complete testing solution from day one 03 Provides complete picture of software health
www.edureka.cowww.edureka.co Types of Software Testing Methodologies Agile Model Spiral Model V – Model Extreme Programming Scrum Model Testing Methodologies RAD Model Waterfall Model Incremental Model
www.edureka.cowww.edureka.co Requirements1 Design2 Implementation3 Verification4 Maintenance5 Waterfall Model is the basic life cycle model which was developed by Winston Royce in 1970. This model represents multiple stages or processes in a sequential manner that flows progressively downward.
www.edureka.co Easy to understand & functional Simple enough to manage Saves significant amount of time Allows for easy testing & analysis Allows for departmentalization Risky and uncertain Very short of flexibility Lack of visibility of current progress Can’t edit in testing phase Not suitable for large projects Advantages Disadvantages
www.edureka.co Verification & Validation Model V - Model is an extension of Waterfall Model where the process execution takes place in a sequential style in V-Shape. There exists a directly associated testing phase in every single phase of the development cycle. Coding2 Detailed Specifications High Level Design Requirements Analysis Integration Testing Operational Testing Unit Testing Review/Test
www.edureka.co Advantages ✓ Simple & easy to understand ✓ Easy to manage ✓ Suitable for small projects ✓ Beneficial ✓ Cost-effective when compared to Waterfall ✓ Overlapping is not present Disadvantages ✓ Absence of clear solutions that help eliminate the software defects ✓ No inherent ability to respond to changes ✓ Leads to testing being squeezed at the end
Incremental model is multi-waterfall-model of software testing. The whole incremental process is divided into the various number of cycles. An increment includes three cycles: software designing and realization, testing, and implementation. Requirements Design & Development Testing Implementation Design & Development Testing Implementation Design & Development Testing Implementation Build 1 Build 2 Build 3 Advantage: More flexible & highly effective Disadvantage: Costlier than waterfall model
www.edureka.cowww.edureka.co Agile Model, form of iterative & incremental approach involves development of software in incremental, rapid cycles. So, you have small incremental releases of the software, each one building on previous functionalities. Increment 1 Increment 2 Increment 3 Iterative – Incremental Agile Model Reqts Test Code Design Reqts Test Code Design Reqts Test Code Design
www.edureka.co Advantages Disadvantages Agile Testing Model offers following advantages: ➢ Adaptive approach that responds to changes favourable ➢ Improves the product quality ➢ Allows for direct communication ➢ Suitable for large & long-term projects ➢ Promotes teamwork ➢ Rapid methodology ➢ Minimum resource requirements ➢ Easy to manage Disadvantages of Agile Model include: ➢ Dependent on clear customer requirements upfront ➢ Increased maintainability risk ➢ Not suitable for complex projects ➢ Lacks documentation efficiency ➢ Chances of getting off-track as outcome are not clear ➢ Not suitable for complex projects
www.edureka.cowww.edureka.co The spiral model incorporates iterative development approach along with the systematic approach of the waterfall model. It is similar to the incremental model and emphasis on Risk Analysis.
www.edureka.co Advantages Disadvantages Can be costly model to use Requires lot of technical expertise Large number of intermediate stages Highly dependent on risk analysis phase Doesn’t work properly for smaller projects Low risk due to huge amount of risk analysis Requirement changes can be added easily Strong approval & documentation control Good fit for large, mission critical projects Offers rapid development of project
RAD, Rapid Application Development Testing Model, is also an incremental model of software development. But with RAD, the focus is on building a prototype that looks and acts like the final product — in order to test its usefulness. www.edureka.co Process Modeling Modeling data flow among functions Business Modeling Modeling data flow in terms of data & obejcts Data Modeling Defining functional process by mapping 2 previous results Using automated tools to convert model to actual code Application Generation Testing new components & performing integration tests Testing & Turnover Term # i 60-90 Days www.edureka.co
www.edureka.cowww.edureka.co Advantages Disadvantages Reduced development/testing cycle time Less cost and schedule risk due to time-box approach Enhances customer feedback, due to customer involvement throughout the cycle Requires high skilled resources Requires a system that can be modularized High cost estimation & hard to use with legacy systems
www.edureka.co
www.edureka.co SOFTWARE TESTING TECHNIQUES Exploratory Testing Error Guessing White-BoxTesting Statement Coverage Decision Coverage Condition Coverage Multiple Condition Black-BoxTesting TypesofSoftwareTesting Boundary Value Analysis Equivalence Partition Decision Tables State Transition Diagram Use Case Testing ExperienceBases Testing
www.edureka.co
EquivalencePartitioning www.edureka.co It’s a black-box testing technique, where you group the inputs with same attributes into partitions. Your task is to pick one condition out of each partition, which covers all possible scenarios, to execute test cases This way you can easily identify valid as well as invalid equivalence classes Ex. Testing input conditions accepting numbers from ‘01 to 10 and 20 to 30’ --- to 0 (invalid) 01 to 10 (valid) 11 to 19 (invalid) 20 to 30 (valid) 31 to --- (invalid) -2, 3, 15, 25, 45
BoundaryValueAnalysis www.edureka.co Boundary value analysis is the next part of Equivalence partitioning for designing test cases where test cases are selected at the edges of the equivalence classes. It is used to identify errors at boundaries rather than finding those exist in centre of input domain. It includes maximum, minimum, inside or outside edge, typical values or error values Ex. Testing input conditions accepting numbers form ‘1 to 10’ • Input Boundary values: 1, 10 • Values just below extreme edges: 0, 9 • Values just above extreme edges: 2, 11 Boundary values 0,1,2 and 9, 10, 11
DecisionTableBasedTechnique www.edureka.co Decision table-based testing aka Cause-effect table, is used for functions that respond to a combination of events or inputs. A Decision Table is a tabular representation of conditions versus test actions. Conditions are considered as inputs, while actions are considered as outputs. Rule 1 Rule 2 Rule 3 Rule 4 Rule 5 Rule 6 Rule 7 Rule 8 INPUT Name Email Message Output Submit F F F F F F F F F F F FT T T T T TT T T T T T F F F F F F F T
State Transition Diagram: Using this approach, the tester analyses the behaviour of an application under test (AUT) for different input conditions in a sequence. We can apply this when an application gives a different output for the same input, depending on what has happened in the earlier state. www.edureka.cowww.edureka.co On waiting list Confirmed Archived Null Requested Confirmed Room Requested Not Available Put on list User gives up Remove from list Room Available Decrement room count User Moves In User Vacates Increment room count Confirmed Room Available Decrement room count Customer Cancels Increment room count
UseCaseTesting www.edureka.co Use case testing is a functional testing technique, meaning programming skill is not required. ➢ Identify all scenarios from Use Case ➢ For each scenario, define at least one test case and condition ➢ For each scenario, determine the test data for the test System Start System Shutdown Session Invalid PIN Transaction Withdrawal Deposit Transfer Inquiry Operator Customer << include >> << extend >> ATM System Bank
www.edureka.co
www.edureka.co StatementCoverageor LineCoverage In this technique, every statement in the source code is executed at least once. Thereby, we can check what the source code is and is not expected to do. Doesn’t cover negative cases. DecisionCoverageor BranchCoverage This techniques covers all the branches of the code to make sure that no branches leads to abnormal behaviour. Each and every branch from each decision point is executed. INPUT A & B C = A + B IF C>100 PRINT “ITS DONE” INPUT A & B C = A + B IF C>100 PRINT “ITS DONE” ELSE PRINT “ITS PENDING”
ConditionCoverage or PredicateCoverage Condition coverage ensures whether all the individual Boolean expressions have been covered and evaluated to both TRUE and FALSE. Stronger criteria compared to line coverage. READ X, Y IF(X == 0 || Y == 0) PRINT ‘0’ MultipleCondition Coverage In this technique, all the possible combinations of the possible outcomes of conditions are tested at least once. #Test Case 1 – X = 0, Y = 55 #Test Case 2 – X = 5, Y = 0 READ X, Y IF(X == 0 || Y == 0) PRINT ‘0’ #Test Case 1 – X = 0, Y = 0 #Test Case 2 – X = 0, Y = 5 #Test Case 3 – X = 55, Y = 0 #Test Case 4 – X = 55, Y = 5 www.edureka.co
www.edureka.co
www.edureka.cowww.edureka.co Exploratory Testing Error Guessing Here, domain experts perform testing just by exploring the functionalities of the application without having the knowledge of the requirements. High severity bugs are found very quickly in this type of testing. Error guessing is one of the testing techniques used to find bugs in a software application based on the tester’s prior experience. In Error guessing, no specific rules are applied
Copyright © 2017, edureka and/or its affiliates. All rights reserved. www.edureka.co
www.edureka.co

What are Software Testing Methodologies | Software Testing Techniques | Edureka

  • 2.
    IMPORTANCE OF SOFTWARETESTING SOFTWARE TESTING METHODOLOGIES SOFTWARE TESTING TECHNIQUES ➢ BLACK-BOX TECHNIQUES ➢ WHITE-BOX TECHNIQUES ➢ EXPERIENCED-BASED TECHNIQUES www.edureka.co
  • 3.
  • 4.
    www.edureka.co Disasters Due toSoftware Flaws Power Blackout Launch Error Satellite Failure Plane Crashes Radioactive Overexposure Register Malfunction ETCS bugs Smart Ship Drowning
  • 5.
    Best Quality Product www.edureka.co SaveTime & Resources Used Customer Satisfaction Brings More ProfitUser Experience Business Optimization
  • 6.
  • 7.
    www.edureka.co Software testing methodologiesare the different strategies, approaches and ways of ensuring that a software application in particular is fully tested. 04 Leverages current technology investments 01 Single integrated testing environment 02 Complete testing solution from day one 03 Provides complete picture of software health
  • 8.
    www.edureka.cowww.edureka.co Types of SoftwareTesting Methodologies Agile Model Spiral Model V – Model Extreme Programming Scrum Model Testing Methodologies RAD Model Waterfall Model Incremental Model
  • 9.
    www.edureka.cowww.edureka.co Requirements1 Design2 Implementation3 Verification4 Maintenance5 Waterfall Model isthe basic life cycle model which was developed by Winston Royce in 1970. This model represents multiple stages or processes in a sequential manner that flows progressively downward.
  • 10.
    www.edureka.co Easy to understand& functional Simple enough to manage Saves significant amount of time Allows for easy testing & analysis Allows for departmentalization Risky and uncertain Very short of flexibility Lack of visibility of current progress Can’t edit in testing phase Not suitable for large projects Advantages Disadvantages
  • 11.
    www.edureka.co Verification & Validation Model V- Model is an extension of Waterfall Model where the process execution takes place in a sequential style in V-Shape. There exists a directly associated testing phase in every single phase of the development cycle. Coding2 Detailed Specifications High Level Design Requirements Analysis Integration Testing Operational Testing Unit Testing Review/Test
  • 12.
    www.edureka.co Advantages ✓ Simple &easy to understand ✓ Easy to manage ✓ Suitable for small projects ✓ Beneficial ✓ Cost-effective when compared to Waterfall ✓ Overlapping is not present Disadvantages ✓ Absence of clear solutions that help eliminate the software defects ✓ No inherent ability to respond to changes ✓ Leads to testing being squeezed at the end
  • 13.
    Incremental model ismulti-waterfall-model of software testing. The whole incremental process is divided into the various number of cycles. An increment includes three cycles: software designing and realization, testing, and implementation. Requirements Design & Development Testing Implementation Design & Development Testing Implementation Design & Development Testing Implementation Build 1 Build 2 Build 3 Advantage: More flexible & highly effective Disadvantage: Costlier than waterfall model
  • 14.
    www.edureka.cowww.edureka.co Agile Model, formof iterative & incremental approach involves development of software in incremental, rapid cycles. So, you have small incremental releases of the software, each one building on previous functionalities. Increment 1 Increment 2 Increment 3 Iterative – Incremental Agile Model Reqts Test Code Design Reqts Test Code Design Reqts Test Code Design
  • 15.
    www.edureka.co Advantages Disadvantages Agile TestingModel offers following advantages: ➢ Adaptive approach that responds to changes favourable ➢ Improves the product quality ➢ Allows for direct communication ➢ Suitable for large & long-term projects ➢ Promotes teamwork ➢ Rapid methodology ➢ Minimum resource requirements ➢ Easy to manage Disadvantages of Agile Model include: ➢ Dependent on clear customer requirements upfront ➢ Increased maintainability risk ➢ Not suitable for complex projects ➢ Lacks documentation efficiency ➢ Chances of getting off-track as outcome are not clear ➢ Not suitable for complex projects
  • 16.
    www.edureka.cowww.edureka.co The spiral modelincorporates iterative development approach along with the systematic approach of the waterfall model. It is similar to the incremental model and emphasis on Risk Analysis.
  • 17.
    www.edureka.co Advantages Disadvantages Can becostly model to use Requires lot of technical expertise Large number of intermediate stages Highly dependent on risk analysis phase Doesn’t work properly for smaller projects Low risk due to huge amount of risk analysis Requirement changes can be added easily Strong approval & documentation control Good fit for large, mission critical projects Offers rapid development of project
  • 18.
    RAD, Rapid ApplicationDevelopment Testing Model, is also an incremental model of software development. But with RAD, the focus is on building a prototype that looks and acts like the final product — in order to test its usefulness. www.edureka.co Process Modeling Modeling data flow among functions Business Modeling Modeling data flow in terms of data & obejcts Data Modeling Defining functional process by mapping 2 previous results Using automated tools to convert model to actual code Application Generation Testing new components & performing integration tests Testing & Turnover Term # i 60-90 Days www.edureka.co
  • 19.
    www.edureka.cowww.edureka.co Advantages Disadvantages Reduced development/testing cycletime Less cost and schedule risk due to time-box approach Enhances customer feedback, due to customer involvement throughout the cycle Requires high skilled resources Requires a system that can be modularized High cost estimation & hard to use with legacy systems
  • 20.
  • 21.
    www.edureka.co SOFTWARE TESTING TECHNIQUES Exploratory Testing Error Guessing White-BoxTesting StatementCoverage Decision Coverage Condition Coverage Multiple Condition Black-BoxTesting TypesofSoftwareTesting Boundary Value Analysis Equivalence Partition Decision Tables State Transition Diagram Use Case Testing ExperienceBases Testing
  • 22.
  • 23.
    EquivalencePartitioning www.edureka.co It’s a black-boxtesting technique, where you group the inputs with same attributes into partitions. Your task is to pick one condition out of each partition, which covers all possible scenarios, to execute test cases This way you can easily identify valid as well as invalid equivalence classes Ex. Testing input conditions accepting numbers from ‘01 to 10 and 20 to 30’ --- to 0 (invalid) 01 to 10 (valid) 11 to 19 (invalid) 20 to 30 (valid) 31 to --- (invalid) -2, 3, 15, 25, 45
  • 24.
    BoundaryValueAnalysis www.edureka.co Boundary value analysisis the next part of Equivalence partitioning for designing test cases where test cases are selected at the edges of the equivalence classes. It is used to identify errors at boundaries rather than finding those exist in centre of input domain. It includes maximum, minimum, inside or outside edge, typical values or error values Ex. Testing input conditions accepting numbers form ‘1 to 10’ • Input Boundary values: 1, 10 • Values just below extreme edges: 0, 9 • Values just above extreme edges: 2, 11 Boundary values 0,1,2 and 9, 10, 11
  • 25.
    DecisionTableBasedTechnique www.edureka.co Decision table-based testingaka Cause-effect table, is used for functions that respond to a combination of events or inputs. A Decision Table is a tabular representation of conditions versus test actions. Conditions are considered as inputs, while actions are considered as outputs. Rule 1 Rule 2 Rule 3 Rule 4 Rule 5 Rule 6 Rule 7 Rule 8 INPUT Name Email Message Output Submit F F F F F F F F F F F FT T T T T TT T T T T T F F F F F F F T
  • 26.
    State Transition Diagram:Using this approach, the tester analyses the behaviour of an application under test (AUT) for different input conditions in a sequence. We can apply this when an application gives a different output for the same input, depending on what has happened in the earlier state. www.edureka.cowww.edureka.co On waiting list Confirmed Archived Null Requested Confirmed Room Requested Not Available Put on list User gives up Remove from list Room Available Decrement room count User Moves In User Vacates Increment room count Confirmed Room Available Decrement room count Customer Cancels Increment room count
  • 27.
    UseCaseTesting www.edureka.co Use case testingis a functional testing technique, meaning programming skill is not required. ➢ Identify all scenarios from Use Case ➢ For each scenario, define at least one test case and condition ➢ For each scenario, determine the test data for the test System Start System Shutdown Session Invalid PIN Transaction Withdrawal Deposit Transfer Inquiry Operator Customer << include >> << extend >> ATM System Bank
  • 28.
  • 29.
    www.edureka.co StatementCoverageor LineCoverage In this technique,every statement in the source code is executed at least once. Thereby, we can check what the source code is and is not expected to do. Doesn’t cover negative cases. DecisionCoverageor BranchCoverage This techniques covers all the branches of the code to make sure that no branches leads to abnormal behaviour. Each and every branch from each decision point is executed. INPUT A & B C = A + B IF C>100 PRINT “ITS DONE” INPUT A & B C = A + B IF C>100 PRINT “ITS DONE” ELSE PRINT “ITS PENDING”
  • 30.
    ConditionCoverage or PredicateCoverage Condition coverageensures whether all the individual Boolean expressions have been covered and evaluated to both TRUE and FALSE. Stronger criteria compared to line coverage. READ X, Y IF(X == 0 || Y == 0) PRINT ‘0’ MultipleCondition Coverage In this technique, all the possible combinations of the possible outcomes of conditions are tested at least once. #Test Case 1 – X = 0, Y = 55 #Test Case 2 – X = 5, Y = 0 READ X, Y IF(X == 0 || Y == 0) PRINT ‘0’ #Test Case 1 – X = 0, Y = 0 #Test Case 2 – X = 0, Y = 5 #Test Case 3 – X = 55, Y = 0 #Test Case 4 – X = 55, Y = 5 www.edureka.co
  • 31.
  • 32.
    www.edureka.cowww.edureka.co Exploratory Testing Error Guessing Here,domain experts perform testing just by exploring the functionalities of the application without having the knowledge of the requirements. High severity bugs are found very quickly in this type of testing. Error guessing is one of the testing techniques used to find bugs in a software application based on the tester’s prior experience. In Error guessing, no specific rules are applied
  • 33.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. www.edureka.co
  • 34.