SlideShare ist ein Scribd-Unternehmen logo
1 von 107
Where are we? Specification Design Testing Code &  Test Quality Assurance
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],What are we going to discuss today?
[object Object],[object Object],[object Object],[object Object],Which is the aim of SW Testing ?
What Testing Shows? errors requirements conformance performance an indication of quality © SEPA
SW Testing starts with coding But, Quality Assurance is a continuous process Testing is an incremental process.  Starts from small modules and integrated to higher level modules. But, planning the testing process should be started early in system engineering state. When Testing Starts?
When Testing Starts? SystemEngineering Requirement Analysis Design Coding Test Plan Unit Test Integration Test ValidationTest SystemTest plans plans System test plan. SW+HW Function performance etc. BB some GB BB GB Acceptance Test Developer Tester Developer Tester Tester User
Quality Assurance:   monitoring and improving the whole SW development process.  Includes, Verification  : Are we building right SW? and Validation   : Did we build the SW right? Requirement   Specification     SW Verify Validate walkthrough, inspection static, dynamic Testing is  part of  SW Quality Assurance essential
Testing is the process of    exercising  a program  with the  intent of finding errors   within set time and effort prior to delivery to the end user. Not to show that a SW is working correctly! OK! Why Testing such Essential? Testing not only executing
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Simple Errors may Cause Terrible Disasters
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Can’t we avoid errors if we program carefully?
Testing should be planned well ,[object Object],[object Object],[object Object],[object Object],[object Object]
Exhaustive Testing There are  10 14   possible paths! If we execute one test per millisecond, it would take  3,170 years  to test this program!! © SEPA loop < 20 X
Test Cases ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Test Cases (Example) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Testing is a ‘destructive’ process? ,[object Object],[object Object],[object Object],[object Object],[object Object]
Why need independent tester? Developer Independent tester Advantage : Already knew the system. but, will test &quot;gently&quot; and, is driven by &quot;delivery&quot; Disadvantage : Must learn the system but, will attempt to break it and, is driven by quality © SEPA
Testability  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],A set of good characteristics of a SW that has a high degree of testability
What we learned ? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
What are we going to discuss now? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
SW Testing and Purposes ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Two Important Testing Techniques Black-Box  : To test the functionality, behavior and performance against its specification. Implementation logic is not necessary White-Box  : To test the correctness of the internal logic of a module. Therefore, Implementation detail is necessary © SEPA boundary-value equivalent Partition white-box methods black-box methods basis-path control structure
Black-Box Testing Functional, Behavior, Performance, requirements (expected output) events input output Internal logic not required © SEPA
White-Box Testing Based on “coverage” :   goal is to ensure that all the statements and conditions have been executed  at least once  … statement edge path To test the internal logic © SEPA
Why Cover? logic errors and incorrect assumptions  are inversely proportional to a path's  execution probability we often  believe   that a path is not  likely to be executed;  in fact, reality is  often counter intuitive typographical errors are random;  it's  likely that untested paths will contain  some  © SEPA
PATH coverage not feasible There are  10 14   possible paths! If we execute one test per millisecond, it would take  3,170 years  to test this program!! © SEPA loop < 20 X
Select Most Suitable Paths - but how? Linearly Independent Paths  : each new path introduces at least one different executable or simple conditional statement OR a new edge © SEPA This also ensures  statement and edge coverage :  every statement (and edge) is executed at least once loop < 20 X
Basis-Path Testing - A White-Box test ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Flow Graph    Basic Structures ,[object Object],[object Object],[object Object],A; B; if ( C ) D; else E; F; case G { g1 : H; g2 : I; else : J; } K; A B C E F D G J K I H
Flow Graph    Basic Structures ,[object Object],[object Object],while (L) M; N; do { O; } while (P); Q; NODE REGION EDGE L M N O P Q
Flow Graph    Basic Structures ,[object Object],[object Object],if R AND S T; else U; V; if R OR S T; else U; V; R S T U V R S U T V
Flow Graph    Basic Structures ,[object Object],[object Object],While R AND S T; V; While R OR S T; V; S T V R S T V R
BASIS-PATH example  Module :  search ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
BASIS-PATH example  Module :  search ( An Implementation) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],6 1 2 3 4 5 7 8 5 2 1 3 4 8 6 7
Coverage ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],5 2 1 3 4 8 6 7
Cyclomatic Complexity (  V(G) ) Number of simple conditions + 1  OR  Number of enclosed areas + 1 OR  Edges - Nodes + 2 In this case, V(G) = 4 ,[object Object],[object Object],5 2 1 3 4 8 6 7
Cyclomatic Complexity A number of industry studies have indicated  that the higher V(G), the higher the probability  or errors. V(G) modules modules in this range are  more error prone © SEPA
Basis Path Testing- Independent Paths Next, we derive the  independent paths: Since V(G) = 4, there are four paths Path 1:  1,2,4,7,8 Path 2:  1,2,4,5,7,8 Path 3:  1,2,4,5,6,8 Path 4:  1,2,3,2,4,.….,8 Finally, we derive test cases to exercise these  paths. 5 2 1 3 4 8 6 7
Basis Path Testing- TEST CASES Path 1:  1,2,4,7,8 N=0 , target=2 ,( A is empty ) Path 2:  1,2,4,5,7,8 N=1, target =2,  A[1]= 4( any number > 2) Path 3:  1,2,4,5,6,8 N=1, target =2,  A[1]= 2 Path 4:  1,2,3, 2, 4,.….,8 N=1, target =2,  A[1]= 1 ( any number <2) But, more general cases are better; FALSE FALSE TRUE FALSE 5 2 1 3 4 8 6 7
BASIS-PATH another example (  Module: GCD ) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Statement coverage : (X=4, Y=3)   (X=3, Y=4) Edge coverage : same BASIS-PATH   DRAW Flow-Graph!! FIND independent paths CHOOSE test cases
Graph Matrices -  a SW tool   ,[object Object],[object Object],Weight - shows just a link available or some other measures like execution probability 2 1 3 4 1 2 3 4 1 2 3 4 from to 1 1 1 1
Some Other White-Box Testing Methods ,[object Object],[object Object],[object Object]
Loop Testing Nested  Loops Concatenated  Loops Unstructured  Loops Simple  loop © SEPA
Loop Testing: Simple Loops © SEPA Minimum conditions—Simple Loops 1.  skip the loop entirely 2.  only one pass through the loop 3.  two passes through the loop 4.  m passes through the loop  m < n 5.  (n-1), n, and (n+1) passes through  the loop where n is the maximum number  of allowable passes
Loop Testing- for module Search ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],N=2, target =2  A[1]=1, A[2]=3 N=1, target =2  A[1]=4  ? Check for redundancy  with already selected test cases
Loop Testing: Nested Loops © SEPA Start at the innermost loop. Set all outer loops to their  minimum iteration parameter values. Test the min+1, typical, max-1 and max for the  innermost loop, while holding the outer loops at their  minimum values. Move out one loop and set it up as in step 2, holding all  other loops at typical values. Continue this step until  the outermost loop has been tested. If the loops are independent of one another  then treat each as a simple loop else* treat as nested loops for example, the final loop counter value of loop 1 is  used to initialize loop 2. Nested Loops Concatenated Loops
Conditional Testing ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Data-Flow Tesing ,[object Object],[object Object],[object Object]
What are we going to discuss now? ,[object Object],[object Object],[object Object],[object Object],[object Object]
Black-Box Testing ,[object Object],[object Object],[object Object]
Black-Box Testing ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Black-Box Testing Methods ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Equivalence Partitioning user queries mouse picks output formats prompts FK input data © SEPA
Sample Equivalence Classes user supplied commands responses to system prompts file names computational data physical parameters  bounding values initiation values output data formatting responses to error messages graphical data (e.g., mouse picks) data outside bounds of the program  physically impossible data proper value supplied in wrong place Valid data Invalid data © SEPA
Equivalence Partitioning { doubleDigit} ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Equivalence Partitioning  (e.g doubleDigit ) ,[object Object],VALID INVALID INVALID d < 10 105 - 5 7 22 d > 10 leap leap
Equivalence Partitioning for  Typical input   ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Equivalence Partitioning for  Typical input   ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Equivalence Partitioning (e.g leap ) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Equivalence Partitioning (e.g leap ) ,[object Object],VALID INVALID INVALID 400/year 2205 1750 1903 1904 1900 2000 leap leap 4 / year 4 / year  but 100 / year 100/year but 400 /  year
Equivalence Partitioning (e.g SEARCH ) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Equivalence Partitioning (e.g SEARCH ) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Boundary Value Analysis &quot;Bugs lurk in corners  and congregate at  boundaries ...&quot; Boris Beizer WHY ?  - unknown Select test cases to cover all the boundary values of input and output data elements and data structures © SEPA
Boundary Value Analysis user queries mouse picks output formats prompts FK input data output domain input domain © SEPA
Boundary Value Analysis {   doubleDigit  } ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],-5  0   6  9   30  99   105 -1  0   1  8  9   10    98  99  100
Boundary Value Analysis e.g [ SEARCH ) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Boundary Value Analysis {   SEARCH  } ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Ex:  If the SEARCH module also need to return a suitable location (say ‘pos’) for a non existing target in A, modify the specification and find suitable WB and BB test cases
Other Black Box Techniques ,[object Object],[object Object],[object Object],[object Object]
Testing is an incremental process   SystemEngineering Requirement Analysis Design Coding Test Plan Unit Test Integration Test ValidationTest SystemTest plans plans System test plan. SW+HW Function performance etc. BB some GB BB GB Acceptance Test Developer Tester Developer Tester Tester User
Unit Testing module to be tested test cases results software engineer interface  local data structures boundary conditions error handling paths global data effects independent paths loops, conditions ©SEPA
Unit Test Environment Module stub stub driver RESULTS test cases not stand-alone Stubs and drivers are overheads and  should be small enough to throw away after  their use  ©SEPA
DRIVER- example from case-study ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
STUB- example from case-study ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],void getProcessDetail (instance SI, int duration ) { cout >> “in the getProcessDetail”; }
SW Integration Strategies ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],©SEPA
Top Down Integration top module is tested with  stubs stubs are replaced one at  a time, &quot;depth first&quot; as new modules are integrated,  some subset of tests is re-run A B C D E F G Regression test ©SEPA
Bottom-Up Integration drivers are replaced one at a  time, &quot;depth first&quot; A B C D E F G as new modules are integrated,  Regression test some subset of tests is re-run. May be automated ©SEPA
Cluster-based Integration Worker modules are grouped into  builds and integrated A B C D E F G cluster ©SEPA
Integration Example- Case study processDetail ProcessReporter getProcessDetail determineEndDetail displayProcessRepor t getStartDetail getDuration addTime addDate getStartTime leap getStartDate daysInMonth processReport A cluster for validation
Integration Strategies- A comparison ,[object Object],[object Object],[object Object],[object Object]
High Order Testing validation test system test Acceptance tests alpha and beta test other specialized testing ©SEPA
Validation Testing ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
System Testing ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Acceptance Tests Developer’s site customer Alpha Test Beta Test Customer’s site ©SEPA By customers in their normal environment developer customer
Debugging:  A Diagnostic Process ©SEPA
The Debugging Process test cases results Debugging suspected causes identified causes corrections regression tests new test cases ©SEPA
Debugging Effort time required to diagnose the symptom and determine the cause time required to correct the error and conduct regression tests ©SEPA
Symptoms & Causes symptom cause symptom and cause may be  geographically separated  symptom may disappear when  another problem is fixed cause may be due to a  combination of non-errors  cause may be due to a system  or compiler error cause may be due to  assumptions that everyone  believes symptom may be intermittent/irregular ©SEPA
Consequences of Bugs damage mild annoying disturbing serious extreme catastrophic infectious Bug Type Bug Categories: function-related bugs,  system-related bugs, data bugs, coding bugs,  design bugs, documentation bugs, standards  violations, etc. ©SEPA
Debugging Techniques brute force / testing Backtracking Cause elimination by Binary partition induction deduction deduction deduction ©SEPA
Debugging: Final Thoughts Don't run off half-cocked,  think about the  symptom you're seeing. Use tools (e.g., dynamic debugger) to gain  more insight. If at an impasse,  get help from someone else. Be absolutely sure to  conduct regression tests when you do &quot;fix&quot; the bug. 1. 2. 3. 4. ©SEPA
Object Oriented Testing ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Why wait until classes  are coded? ,[object Object],OOTesting begins by Evaluating OOAnalysis and OODesign models Seamless transition- everything is class and requests Analysis level model ==> Design level model ==> code Class1 Class2 request1 Class1 Class2 request1 Class1 Class2 request1
public class Date  { private int day, month, year; public Date( ) { day=0; month=0;year=0; } public Date(int day, int month, int year)  { this.day = day; this.month = month; this.year = year; } public boolean leap( ) {  // should change to private return  ((year % 400 == 0)||    ((year % 100 > 0) && (year % 4 ==0))); } } public class Instance { private Date date; private Time time; public Instance(Date date, Time time){ this.date = date; this.time = time; } public void getInstance() { date.getDate(); time.getTime(); } } getDate( ) Date day month year getDate( ) displDate( ) addDate( ) dInMonth( ) leap( ) Instance date time getInstance( ) displInstance( ) addInstance( ) Date Day : integer month : integer year : integer getDate( ) displDate( ) addDate(d: integer,  nD:Date) -dInMonth( ) -leap( ) Instance date:Date time:Time getInstance( ) displInstance( ) addInstance( )
Minimum testable component is a class ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Unit Testing is Class Testing in OO
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],BlueJ - Java implementation Minimum testable component is a class
Integrating Classes ,[object Object],[object Object],[object Object],[object Object],[object Object]
Structure Chart: hierarchical Class Collaborations: network ProcessReporter getProcessDetail getStartDetail getDuration getStartTime getStartDate Process: Instance:Start Date:Start Time:Start 1.disInst(  ) 2. disDate(  ) 6. addDate( ) 3.disTime(  ) 4. addTime( ) Instance:End 8.Instance(  ) Date:End Time:End 9. disDate(  ) 10. disTime(  ) 5. Time(  )
Use Based Integration ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
CASE STUDY - SEQUENCE DIAGRAM
Cluster Based Integration ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Cluster : A group of classes that collaborate to perform  a particular request Start with receiver classes Instance:Start Date:Start Time:Start 1. addInst( ) 4. addDate( ) 2. addTime( ) Instance:End 8.Instance(  ) Date:End Time:End 10. disDate(  ) 9. disTime(  ) 7. Date(  ) 3. Time(  ) 5. dInMon(  ) 6. leap( )
Unit Testing - Class Level Testing ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Partition Testing ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],One representative for each partition
State-Based Partitioning ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],number limit balance open( ) setup( ) close( ) viewbalance( ) viewLimit( ) deposit( ) withdraw( ) Account
Attribute -Based Partitioning ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],number limit balance open( ) setup( ) close( ) viewbalance( ) viewLimit( ) deposit( ) withdraw( ) Account
Category - Based Partitioning ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],number limit balance open( ) setup( ) close( ) viewbalance( ) viewLimit( ) deposit( ) withdraw( ) Account
Random Testing - Class Level ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Scenario Based Testing ,[object Object],[object Object],[object Object],[object Object]

Weitere ähnliche Inhalte

Was ist angesagt?

Software Testing Maturity Model and Assessment by Abstracta
Software Testing Maturity Model and Assessment by AbstractaSoftware Testing Maturity Model and Assessment by Abstracta
Software Testing Maturity Model and Assessment by AbstractaKalei White
 
Test strategy &-testplanning
Test strategy &-testplanningTest strategy &-testplanning
Test strategy &-testplanningsrivinayak
 
Test Process Maturity Measurement and Related Measurements
Test Process Maturity Measurement and Related MeasurementsTest Process Maturity Measurement and Related Measurements
Test Process Maturity Measurement and Related MeasurementsSTAG Software Private Limited
 
Quality assurance k.meenakshi
Quality assurance   k.meenakshiQuality assurance   k.meenakshi
Quality assurance k.meenakshiMeenakshiK19
 
Essential Test Management and Planning
Essential Test Management and PlanningEssential Test Management and Planning
Essential Test Management and PlanningTechWell
 
PMP : Webinar on Quality Planning
PMP : Webinar  on Quality PlanningPMP : Webinar  on Quality Planning
PMP : Webinar on Quality PlanningSaket Bansal
 
Professor Yakub Aliyu Product Quality Non Conformance presentation -v1.4_11...
Professor Yakub  Aliyu  Product Quality Non Conformance presentation -v1.4_11...Professor Yakub  Aliyu  Product Quality Non Conformance presentation -v1.4_11...
Professor Yakub Aliyu Product Quality Non Conformance presentation -v1.4_11...Professor Yakub Aliyu
 
iSQI Certification Days ISTQB Advanced Kari Kakkonen
iSQI Certification Days ISTQB Advanced Kari KakkoneniSQI Certification Days ISTQB Advanced Kari Kakkonen
iSQI Certification Days ISTQB Advanced Kari KakkonenIevgenii Katsan
 
Test Management Training
Test Management TrainingTest Management Training
Test Management Trainingsuhasreddy1
 
Isabel Evans - Working Ourselves out of a Job: A Passion For Improvement - Eu...
Isabel Evans - Working Ourselves out of a Job: A Passion For Improvement - Eu...Isabel Evans - Working Ourselves out of a Job: A Passion For Improvement - Eu...
Isabel Evans - Working Ourselves out of a Job: A Passion For Improvement - Eu...TEST Huddle
 
Software engineering quality assurance and testing
Software engineering quality assurance and testingSoftware engineering quality assurance and testing
Software engineering quality assurance and testingBipul Roy Bpl
 
How to take organizations to higher testing maturity suresh bose anagha mahaj...
How to take organizations to higher testing maturity suresh bose anagha mahaj...How to take organizations to higher testing maturity suresh bose anagha mahaj...
How to take organizations to higher testing maturity suresh bose anagha mahaj...Anagha Mahajan
 
Corrective and preventive action plan CAPA report form
Corrective and preventive action plan  CAPA report formCorrective and preventive action plan  CAPA report form
Corrective and preventive action plan CAPA report formConnie Dello Buono
 
Gray areas of vda 6.3 process auditors
Gray areas of vda 6.3 process auditors Gray areas of vda 6.3 process auditors
Gray areas of vda 6.3 process auditors Kiran Walimbe
 
Quality management interview questions
Quality management interview questionsQuality management interview questions
Quality management interview questionsselinasimpson2301
 
Test Case Point Analysis
Test Case Point AnalysisTest Case Point Analysis
Test Case Point Analysisvuqn
 

Was ist angesagt? (20)

Software Testing Maturity Model and Assessment by Abstracta
Software Testing Maturity Model and Assessment by AbstractaSoftware Testing Maturity Model and Assessment by Abstracta
Software Testing Maturity Model and Assessment by Abstracta
 
Test strategy &-testplanning
Test strategy &-testplanningTest strategy &-testplanning
Test strategy &-testplanning
 
Test Process Maturity Measurement and Related Measurements
Test Process Maturity Measurement and Related MeasurementsTest Process Maturity Measurement and Related Measurements
Test Process Maturity Measurement and Related Measurements
 
Quality assurance k.meenakshi
Quality assurance   k.meenakshiQuality assurance   k.meenakshi
Quality assurance k.meenakshi
 
Essential Test Management and Planning
Essential Test Management and PlanningEssential Test Management and Planning
Essential Test Management and Planning
 
PMP : Webinar on Quality Planning
PMP : Webinar  on Quality PlanningPMP : Webinar  on Quality Planning
PMP : Webinar on Quality Planning
 
TMMi Implementation Guideline
TMMi Implementation GuidelineTMMi Implementation Guideline
TMMi Implementation Guideline
 
Test management
Test managementTest management
Test management
 
Attribute measurement analysis
Attribute measurement analysis Attribute measurement analysis
Attribute measurement analysis
 
Professor Yakub Aliyu Product Quality Non Conformance presentation -v1.4_11...
Professor Yakub  Aliyu  Product Quality Non Conformance presentation -v1.4_11...Professor Yakub  Aliyu  Product Quality Non Conformance presentation -v1.4_11...
Professor Yakub Aliyu Product Quality Non Conformance presentation -v1.4_11...
 
iSQI Certification Days ISTQB Advanced Kari Kakkonen
iSQI Certification Days ISTQB Advanced Kari KakkoneniSQI Certification Days ISTQB Advanced Kari Kakkonen
iSQI Certification Days ISTQB Advanced Kari Kakkonen
 
Test Management Training
Test Management TrainingTest Management Training
Test Management Training
 
Isabel Evans - Working Ourselves out of a Job: A Passion For Improvement - Eu...
Isabel Evans - Working Ourselves out of a Job: A Passion For Improvement - Eu...Isabel Evans - Working Ourselves out of a Job: A Passion For Improvement - Eu...
Isabel Evans - Working Ourselves out of a Job: A Passion For Improvement - Eu...
 
Software engineering quality assurance and testing
Software engineering quality assurance and testingSoftware engineering quality assurance and testing
Software engineering quality assurance and testing
 
Quality management
Quality managementQuality management
Quality management
 
How to take organizations to higher testing maturity suresh bose anagha mahaj...
How to take organizations to higher testing maturity suresh bose anagha mahaj...How to take organizations to higher testing maturity suresh bose anagha mahaj...
How to take organizations to higher testing maturity suresh bose anagha mahaj...
 
Corrective and preventive action plan CAPA report form
Corrective and preventive action plan  CAPA report formCorrective and preventive action plan  CAPA report form
Corrective and preventive action plan CAPA report form
 
Gray areas of vda 6.3 process auditors
Gray areas of vda 6.3 process auditors Gray areas of vda 6.3 process auditors
Gray areas of vda 6.3 process auditors
 
Quality management interview questions
Quality management interview questionsQuality management interview questions
Quality management interview questions
 
Test Case Point Analysis
Test Case Point AnalysisTest Case Point Analysis
Test Case Point Analysis
 

Andere mochten auch

Cause effect graphing technique
Cause effect graphing techniqueCause effect graphing technique
Cause effect graphing techniqueAnkush Kumar
 
Quality capability roadmap
Quality capability roadmapQuality capability roadmap
Quality capability roadmapAnand Iyer
 
Reduction of NOX using SCR technology
Reduction of NOX using SCR technologyReduction of NOX using SCR technology
Reduction of NOX using SCR technologyMuthineniamulya
 
Black box testing or behavioral testing
Black box testing or behavioral testingBlack box testing or behavioral testing
Black box testing or behavioral testingSlideshare
 
Effective Techniques to control gaseous & particulate pollution
Effective Techniques to control gaseous & particulate pollutionEffective Techniques to control gaseous & particulate pollution
Effective Techniques to control gaseous & particulate pollutionShristi Soni
 
Perfume advert analysis
Perfume advert analysisPerfume advert analysis
Perfume advert analysisHannah Marshh
 
Lift station backup options
Lift station backup optionsLift station backup options
Lift station backup optionsBrian Gongol
 
201008 Software Testing Notes (part 1/2)
201008 Software Testing Notes (part 1/2)201008 Software Testing Notes (part 1/2)
201008 Software Testing Notes (part 1/2)Javier Gonzalez-Sanchez
 
Software Testing Techniques
Software Testing TechniquesSoftware Testing Techniques
Software Testing TechniquesKiran Kumar
 
Air pollution control methods and equipments
Air pollution control methods and equipmentsAir pollution control methods and equipments
Air pollution control methods and equipmentsJinto Cv
 
Characteristics of a good test
Characteristics of a good testCharacteristics of a good test
Characteristics of a good testALMA HERMOGINO
 

Andere mochten auch (14)

Cause effect graphing technique
Cause effect graphing techniqueCause effect graphing technique
Cause effect graphing technique
 
Quality capability roadmap
Quality capability roadmapQuality capability roadmap
Quality capability roadmap
 
Blackbox
BlackboxBlackbox
Blackbox
 
Reduction of NOX using SCR technology
Reduction of NOX using SCR technologyReduction of NOX using SCR technology
Reduction of NOX using SCR technology
 
Black box testing or behavioral testing
Black box testing or behavioral testingBlack box testing or behavioral testing
Black box testing or behavioral testing
 
Effective Techniques to control gaseous & particulate pollution
Effective Techniques to control gaseous & particulate pollutionEffective Techniques to control gaseous & particulate pollution
Effective Techniques to control gaseous & particulate pollution
 
Asme sec viii div 1 icb
Asme sec viii div 1 icbAsme sec viii div 1 icb
Asme sec viii div 1 icb
 
Perfume advert analysis
Perfume advert analysisPerfume advert analysis
Perfume advert analysis
 
Lift station backup options
Lift station backup optionsLift station backup options
Lift station backup options
 
201008 Software Testing Notes (part 1/2)
201008 Software Testing Notes (part 1/2)201008 Software Testing Notes (part 1/2)
201008 Software Testing Notes (part 1/2)
 
Software Testing Techniques
Software Testing TechniquesSoftware Testing Techniques
Software Testing Techniques
 
Air pollution control methods and equipments
Air pollution control methods and equipmentsAir pollution control methods and equipments
Air pollution control methods and equipments
 
Pressure vessel types
Pressure vessel typesPressure vessel types
Pressure vessel types
 
Characteristics of a good test
Characteristics of a good testCharacteristics of a good test
Characteristics of a good test
 

Ähnlich wie Where are we? Specification Design Testing Code &amp; Test Quality Assurance

1414_lecturueueueueuueueeueueueuusuee_7.ppt
1414_lecturueueueueuueueeueueueuusuee_7.ppt1414_lecturueueueueuueueeueueueuusuee_7.ppt
1414_lecturueueueueuueueeueueueuusuee_7.pptabdulbasetalselwi
 
Chapter 8 Testing Tactics.ppt Software engineering
Chapter 8 Testing Tactics.ppt Software engineeringChapter 8 Testing Tactics.ppt Software engineering
Chapter 8 Testing Tactics.ppt Software engineeringAnasHassan52
 
Qat09 presentations dxw07u
Qat09 presentations dxw07uQat09 presentations dxw07u
Qat09 presentations dxw07uShubham Sharma
 
Software Testing Tecniques
Software Testing TecniquesSoftware Testing Tecniques
Software Testing Tecniquesersanbilik
 
CS8494 SOFTWARE ENGINEERING Unit-4
CS8494 SOFTWARE ENGINEERING Unit-4CS8494 SOFTWARE ENGINEERING Unit-4
CS8494 SOFTWARE ENGINEERING Unit-4SIMONTHOMAS S
 
Model Driven Testing: requirements, models & test
Model Driven Testing: requirements, models & test Model Driven Testing: requirements, models & test
Model Driven Testing: requirements, models & test Gregory Solovey
 
Parasoft .TEST, Write better C# Code Using Data Flow Analysis
Parasoft .TEST, Write better C# Code Using  Data Flow Analysis Parasoft .TEST, Write better C# Code Using  Data Flow Analysis
Parasoft .TEST, Write better C# Code Using Data Flow Analysis Engineering Software Lab
 
Basic software-testing-concepts
Basic software-testing-conceptsBasic software-testing-concepts
Basic software-testing-conceptsmedsherb
 
DSR Testing (Part 1)
DSR Testing (Part 1)DSR Testing (Part 1)
DSR Testing (Part 1)Steve Upton
 
Software Engineering (Testing techniques)
Software Engineering (Testing techniques)Software Engineering (Testing techniques)
Software Engineering (Testing techniques)ShudipPal
 
Software Engineering (Testing techniques)
Software Engineering (Testing techniques)Software Engineering (Testing techniques)
Software Engineering (Testing techniques)ShudipPal
 

Ähnlich wie Where are we? Specification Design Testing Code &amp; Test Quality Assurance (20)

Testing
TestingTesting
Testing
 
1414_lecturueueueueuueueeueueueuusuee_7.ppt
1414_lecturueueueueuueueeueueueuusuee_7.ppt1414_lecturueueueueuueueeueueueuusuee_7.ppt
1414_lecturueueueueuueueeueueueuusuee_7.ppt
 
Chapter 8 Testing Tactics.ppt
Chapter 8 Testing Tactics.pptChapter 8 Testing Tactics.ppt
Chapter 8 Testing Tactics.ppt
 
Chapter 8 Testing Tactics.ppt Software engineering
Chapter 8 Testing Tactics.ppt Software engineeringChapter 8 Testing Tactics.ppt Software engineering
Chapter 8 Testing Tactics.ppt Software engineering
 
Qat09 presentations dxw07u
Qat09 presentations dxw07uQat09 presentations dxw07u
Qat09 presentations dxw07u
 
Debug me
Debug meDebug me
Debug me
 
Test Techniques
Test TechniquesTest Techniques
Test Techniques
 
Testing techniques
Testing techniquesTesting techniques
Testing techniques
 
Software Testing Tecniques
Software Testing TecniquesSoftware Testing Tecniques
Software Testing Tecniques
 
CS8494 SOFTWARE ENGINEERING Unit-4
CS8494 SOFTWARE ENGINEERING Unit-4CS8494 SOFTWARE ENGINEERING Unit-4
CS8494 SOFTWARE ENGINEERING Unit-4
 
testing
testingtesting
testing
 
Model Driven Testing: requirements, models & test
Model Driven Testing: requirements, models & test Model Driven Testing: requirements, models & test
Model Driven Testing: requirements, models & test
 
Parasoft .TEST, Write better C# Code Using Data Flow Analysis
Parasoft .TEST, Write better C# Code Using  Data Flow Analysis Parasoft .TEST, Write better C# Code Using  Data Flow Analysis
Parasoft .TEST, Write better C# Code Using Data Flow Analysis
 
Basic software-testing-concepts
Basic software-testing-conceptsBasic software-testing-concepts
Basic software-testing-concepts
 
Testing
TestingTesting
Testing
 
DSR Testing (Part 1)
DSR Testing (Part 1)DSR Testing (Part 1)
DSR Testing (Part 1)
 
Slides chapters 13-14
Slides chapters 13-14Slides chapters 13-14
Slides chapters 13-14
 
Testing
TestingTesting
Testing
 
Software Engineering (Testing techniques)
Software Engineering (Testing techniques)Software Engineering (Testing techniques)
Software Engineering (Testing techniques)
 
Software Engineering (Testing techniques)
Software Engineering (Testing techniques)Software Engineering (Testing techniques)
Software Engineering (Testing techniques)
 

Mehr von Kiran Kumar

User Interface Standards
User Interface StandardsUser Interface Standards
User Interface StandardsKiran Kumar
 
Banking Overview
Banking OverviewBanking Overview
Banking OverviewKiran Kumar
 
Winrunner Vs QTP
Winrunner Vs QTPWinrunner Vs QTP
Winrunner Vs QTPKiran Kumar
 
Security Testing
Security TestingSecurity Testing
Security TestingKiran Kumar
 
Software Testing
Software TestingSoftware Testing
Software TestingKiran Kumar
 
Software Testing
Software TestingSoftware Testing
Software TestingKiran Kumar
 
Software Testing
Software TestingSoftware Testing
Software TestingKiran Kumar
 
Software Testing Techniques
Software Testing TechniquesSoftware Testing Techniques
Software Testing TechniquesKiran Kumar
 
Testing Fundamentals
Testing FundamentalsTesting Fundamentals
Testing FundamentalsKiran Kumar
 
Software Quality Testing
Software Quality TestingSoftware Quality Testing
Software Quality TestingKiran Kumar
 

Mehr von Kiran Kumar (11)

User Interface Standards
User Interface StandardsUser Interface Standards
User Interface Standards
 
Banking Overview
Banking OverviewBanking Overview
Banking Overview
 
Winrunner Vs QTP
Winrunner Vs QTPWinrunner Vs QTP
Winrunner Vs QTP
 
Security Testing
Security TestingSecurity Testing
Security Testing
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
Testing
TestingTesting
Testing
 
Software Testing Techniques
Software Testing TechniquesSoftware Testing Techniques
Software Testing Techniques
 
Testing Fundamentals
Testing FundamentalsTesting Fundamentals
Testing Fundamentals
 
Software Quality Testing
Software Quality TestingSoftware Quality Testing
Software Quality Testing
 

Kürzlich hochgeladen

Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 

Kürzlich hochgeladen (20)

Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 

Where are we? Specification Design Testing Code &amp; Test Quality Assurance

  • 1. Where are we? Specification Design Testing Code & Test Quality Assurance
  • 2.
  • 3.
  • 4. What Testing Shows? errors requirements conformance performance an indication of quality © SEPA
  • 5. SW Testing starts with coding But, Quality Assurance is a continuous process Testing is an incremental process. Starts from small modules and integrated to higher level modules. But, planning the testing process should be started early in system engineering state. When Testing Starts?
  • 6. When Testing Starts? SystemEngineering Requirement Analysis Design Coding Test Plan Unit Test Integration Test ValidationTest SystemTest plans plans System test plan. SW+HW Function performance etc. BB some GB BB GB Acceptance Test Developer Tester Developer Tester Tester User
  • 7. Quality Assurance: monitoring and improving the whole SW development process. Includes, Verification : Are we building right SW? and Validation : Did we build the SW right? Requirement Specification SW Verify Validate walkthrough, inspection static, dynamic Testing is part of SW Quality Assurance essential
  • 8. Testing is the process of exercising a program with the intent of finding errors within set time and effort prior to delivery to the end user. Not to show that a SW is working correctly! OK! Why Testing such Essential? Testing not only executing
  • 9.
  • 10.
  • 11.
  • 12. Exhaustive Testing There are 10 14 possible paths! If we execute one test per millisecond, it would take 3,170 years to test this program!! © SEPA loop < 20 X
  • 13.
  • 14.
  • 15.
  • 16. Why need independent tester? Developer Independent tester Advantage : Already knew the system. but, will test &quot;gently&quot; and, is driven by &quot;delivery&quot; Disadvantage : Must learn the system but, will attempt to break it and, is driven by quality © SEPA
  • 17.
  • 18.
  • 19.
  • 20.
  • 21. Two Important Testing Techniques Black-Box : To test the functionality, behavior and performance against its specification. Implementation logic is not necessary White-Box : To test the correctness of the internal logic of a module. Therefore, Implementation detail is necessary © SEPA boundary-value equivalent Partition white-box methods black-box methods basis-path control structure
  • 22. Black-Box Testing Functional, Behavior, Performance, requirements (expected output) events input output Internal logic not required © SEPA
  • 23. White-Box Testing Based on “coverage” : goal is to ensure that all the statements and conditions have been executed at least once … statement edge path To test the internal logic © SEPA
  • 24. Why Cover? logic errors and incorrect assumptions are inversely proportional to a path's execution probability we often believe that a path is not likely to be executed; in fact, reality is often counter intuitive typographical errors are random; it's likely that untested paths will contain some © SEPA
  • 25. PATH coverage not feasible There are 10 14 possible paths! If we execute one test per millisecond, it would take 3,170 years to test this program!! © SEPA loop < 20 X
  • 26. Select Most Suitable Paths - but how? Linearly Independent Paths : each new path introduces at least one different executable or simple conditional statement OR a new edge © SEPA This also ensures statement and edge coverage : every statement (and edge) is executed at least once loop < 20 X
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36. Cyclomatic Complexity A number of industry studies have indicated that the higher V(G), the higher the probability or errors. V(G) modules modules in this range are more error prone © SEPA
  • 37. Basis Path Testing- Independent Paths Next, we derive the independent paths: Since V(G) = 4, there are four paths Path 1: 1,2,4,7,8 Path 2: 1,2,4,5,7,8 Path 3: 1,2,4,5,6,8 Path 4: 1,2,3,2,4,.….,8 Finally, we derive test cases to exercise these paths. 5 2 1 3 4 8 6 7
  • 38. Basis Path Testing- TEST CASES Path 1: 1,2,4,7,8 N=0 , target=2 ,( A is empty ) Path 2: 1,2,4,5,7,8 N=1, target =2, A[1]= 4( any number > 2) Path 3: 1,2,4,5,6,8 N=1, target =2, A[1]= 2 Path 4: 1,2,3, 2, 4,.….,8 N=1, target =2, A[1]= 1 ( any number <2) But, more general cases are better; FALSE FALSE TRUE FALSE 5 2 1 3 4 8 6 7
  • 39.
  • 40.
  • 41.
  • 42. Loop Testing Nested Loops Concatenated Loops Unstructured Loops Simple loop © SEPA
  • 43. Loop Testing: Simple Loops © SEPA Minimum conditions—Simple Loops 1. skip the loop entirely 2. only one pass through the loop 3. two passes through the loop 4. m passes through the loop m < n 5. (n-1), n, and (n+1) passes through the loop where n is the maximum number of allowable passes
  • 44.
  • 45. Loop Testing: Nested Loops © SEPA Start at the innermost loop. Set all outer loops to their minimum iteration parameter values. Test the min+1, typical, max-1 and max for the innermost loop, while holding the outer loops at their minimum values. Move out one loop and set it up as in step 2, holding all other loops at typical values. Continue this step until the outermost loop has been tested. If the loops are independent of one another then treat each as a simple loop else* treat as nested loops for example, the final loop counter value of loop 1 is used to initialize loop 2. Nested Loops Concatenated Loops
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52. Equivalence Partitioning user queries mouse picks output formats prompts FK input data © SEPA
  • 53. Sample Equivalence Classes user supplied commands responses to system prompts file names computational data physical parameters bounding values initiation values output data formatting responses to error messages graphical data (e.g., mouse picks) data outside bounds of the program physically impossible data proper value supplied in wrong place Valid data Invalid data © SEPA
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62. Boundary Value Analysis &quot;Bugs lurk in corners and congregate at boundaries ...&quot; Boris Beizer WHY ? - unknown Select test cases to cover all the boundary values of input and output data elements and data structures © SEPA
  • 63. Boundary Value Analysis user queries mouse picks output formats prompts FK input data output domain input domain © SEPA
  • 64.
  • 65.
  • 66.
  • 67.
  • 68. Testing is an incremental process SystemEngineering Requirement Analysis Design Coding Test Plan Unit Test Integration Test ValidationTest SystemTest plans plans System test plan. SW+HW Function performance etc. BB some GB BB GB Acceptance Test Developer Tester Developer Tester Tester User
  • 69. Unit Testing module to be tested test cases results software engineer interface local data structures boundary conditions error handling paths global data effects independent paths loops, conditions ©SEPA
  • 70. Unit Test Environment Module stub stub driver RESULTS test cases not stand-alone Stubs and drivers are overheads and should be small enough to throw away after their use ©SEPA
  • 71.
  • 72.
  • 73.
  • 74. Top Down Integration top module is tested with stubs stubs are replaced one at a time, &quot;depth first&quot; as new modules are integrated, some subset of tests is re-run A B C D E F G Regression test ©SEPA
  • 75. Bottom-Up Integration drivers are replaced one at a time, &quot;depth first&quot; A B C D E F G as new modules are integrated, Regression test some subset of tests is re-run. May be automated ©SEPA
  • 76. Cluster-based Integration Worker modules are grouped into builds and integrated A B C D E F G cluster ©SEPA
  • 77. Integration Example- Case study processDetail ProcessReporter getProcessDetail determineEndDetail displayProcessRepor t getStartDetail getDuration addTime addDate getStartTime leap getStartDate daysInMonth processReport A cluster for validation
  • 78.
  • 79. High Order Testing validation test system test Acceptance tests alpha and beta test other specialized testing ©SEPA
  • 80.
  • 81.
  • 82. Acceptance Tests Developer’s site customer Alpha Test Beta Test Customer’s site ©SEPA By customers in their normal environment developer customer
  • 83. Debugging: A Diagnostic Process ©SEPA
  • 84. The Debugging Process test cases results Debugging suspected causes identified causes corrections regression tests new test cases ©SEPA
  • 85. Debugging Effort time required to diagnose the symptom and determine the cause time required to correct the error and conduct regression tests ©SEPA
  • 86. Symptoms & Causes symptom cause symptom and cause may be geographically separated symptom may disappear when another problem is fixed cause may be due to a combination of non-errors cause may be due to a system or compiler error cause may be due to assumptions that everyone believes symptom may be intermittent/irregular ©SEPA
  • 87. Consequences of Bugs damage mild annoying disturbing serious extreme catastrophic infectious Bug Type Bug Categories: function-related bugs, system-related bugs, data bugs, coding bugs, design bugs, documentation bugs, standards violations, etc. ©SEPA
  • 88. Debugging Techniques brute force / testing Backtracking Cause elimination by Binary partition induction deduction deduction deduction ©SEPA
  • 89. Debugging: Final Thoughts Don't run off half-cocked, think about the symptom you're seeing. Use tools (e.g., dynamic debugger) to gain more insight. If at an impasse, get help from someone else. Be absolutely sure to conduct regression tests when you do &quot;fix&quot; the bug. 1. 2. 3. 4. ©SEPA
  • 90.
  • 91.
  • 92. public class Date { private int day, month, year; public Date( ) { day=0; month=0;year=0; } public Date(int day, int month, int year) { this.day = day; this.month = month; this.year = year; } public boolean leap( ) { // should change to private return ((year % 400 == 0)|| ((year % 100 > 0) && (year % 4 ==0))); } } public class Instance { private Date date; private Time time; public Instance(Date date, Time time){ this.date = date; this.time = time; } public void getInstance() { date.getDate(); time.getTime(); } } getDate( ) Date day month year getDate( ) displDate( ) addDate( ) dInMonth( ) leap( ) Instance date time getInstance( ) displInstance( ) addInstance( ) Date Day : integer month : integer year : integer getDate( ) displDate( ) addDate(d: integer, nD:Date) -dInMonth( ) -leap( ) Instance date:Date time:Time getInstance( ) displInstance( ) addInstance( )
  • 93.
  • 94.
  • 95.
  • 96. Structure Chart: hierarchical Class Collaborations: network ProcessReporter getProcessDetail getStartDetail getDuration getStartTime getStartDate Process: Instance:Start Date:Start Time:Start 1.disInst( ) 2. disDate( ) 6. addDate( ) 3.disTime( ) 4. addTime( ) Instance:End 8.Instance( ) Date:End Time:End 9. disDate( ) 10. disTime( ) 5. Time( )
  • 97.
  • 98. CASE STUDY - SEQUENCE DIAGRAM
  • 99.
  • 100. Cluster : A group of classes that collaborate to perform a particular request Start with receiver classes Instance:Start Date:Start Time:Start 1. addInst( ) 4. addDate( ) 2. addTime( ) Instance:End 8.Instance( ) Date:End Time:End 10. disDate( ) 9. disTime( ) 7. Date( ) 3. Time( ) 5. dInMon( ) 6. leap( )
  • 101.
  • 102.
  • 103.
  • 104.
  • 105.
  • 106.
  • 107.