ISTQB / ISEB Foundation Exam Practice - 4

13,163 views

Published on

ISTQB / ISEB Foundation Exam Practice - 4

Published in: Technology, Education
4 Comments
13 Likes
Statistics
Notes
No Downloads
Views
Total views
13,163
On SlideShare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
796
Comments
4
Likes
13
Embeds 0
No embeds

No notes for slide

ISTQB / ISEB Foundation Exam Practice - 4

  1. 1. Chapter 4 Software Testing ISTQB / ISEB Foundation Exam Practice 1 Principles 2 Lifecycle 3 Static testing 4 Dynamic test 5 Management 6 Tools techniques Dynamic Testing Techniques
  2. 2. 1 2 3 ISTQB / ISEB Foundation Exam Practice 4 5 6 Dynamic Testing Techniques Contents What is a testing technique? Black and White box testing Black box test techniques White box test techniques Error Guessing
  3. 3. Why dynamic test techniques?  Exhaustive testing (use of all possible inputs and conditions) is impractical - must use a subset of all possible test cases - must have high probability of detecting faults  Need thought processes that help us select test cases more intelligently - test case design techniques are such thought processes
  4. 4. What is a testing technique?  a procedure for selecting or designing tests  based on a structural or functional model of the software  successful at finding faults  'best' practice  a way of deriving good test cases  a way of objectively measuring a test effort Testing should be rigorous, thorough and systematic
  5. 5. Advantages of techniques  Different people: similar probability find faults - gain some independence of thought  Effective testing: find more faults - focus attention on specific types of fault - know you're testing the right thing  Efficient testing: find faults with less effort - avoid duplication - systematic techniques are measurable Using techniques makes testing much more effective
  6. 6. Measurement  Objective assessment of thoroughness of testing (with respect to use of each technique) - useful for comparison of one test effort to another  E.g. Project A Project B 60% Equivalence 40% Equivalence partitions partitions 50% Boundaries 45% Boundaries 75% Branches 60% Branches
  7. 7. 1 2 3 ISTQB / ISEB Foundation Exam Practice 4 5 6 Dynamic Testing Techniques Contents What is a testing technique? Black and White box testing Black box test techniques White box test techniques Error Guessing
  8. 8. Three types of systematic technique Static (non-execution) • examination of documentation, source code listings, etc. Functional (Black Box) • based on behaviour / functionality of software Structural (White Box) • based on structure of software
  9. 9. Some test techniques Static Dynamic Reviews etc. Static Analysis Behavioural Inspection Walkthroughs Structural Non-functional Functional Desk-checking etc. etc. Equivalence Control Usability Partitioning Data Flow Flow Performance etc. Boundary Value Analysis etc. Statement Symbolic Cause-Effect Graphing Execution Branch/Decision Arcs Random Definition Branch Condition LCSAJ -Use State Transition Branch Condition Combination
  10. 10. Black box versus white box? Black box appropriate Acceptance at all levels but dominates higher levels of testing System White box used predominately Integration at lower levels to compliment Component black box
  11. 11. 1 2 3 ISTQB / ISEB Foundation Exam Practice 4 5 6 Dynamic Testing Techniques Contents What is a testing technique? Black and White box testing Black box test techniques White box test techniques Error Guessing
  12. 12. Black Box test design and measurement techniques  Techniques defined in BS 7925-2 - Equivalence partitioning - Boundary value analysis Also a measurement technique? - State transition testing = Yes - Cause-effect graphing = No - Syntax testing - Random testing  Also defines how to specify other techniques
  13. 13. Equivalence partitioning (EP) - divide (partition) the inputs, outputs, etc. into areas which are the same (equivalent) - assumption: if one value works, all will work - one from each partition better than all from one invalid valid invalid 0 1 100 101
  14. 14. Boundary value analysis (BVA) - faults tend to lurk near boundaries - good place to look for faults - test values on both sides of boundaries invalid valid invalid 0 1 100 101
  15. 15. Example: Loan application 2-64 chars. Customer Name Account number 6 digits, 1st non-zero Loan amount requested Term of loan £500 to £9000 Monthly repayment 1 to 30 years Term: Minimum £10 Repayment: Interest rate: Total paid back:
  16. 16. Customer name Number of characters: 1 2 64 65 invalid valid invalid Valid characters: A-Z Any -‟ a-z space other Conditions Valid Invalid Valid Invalid Partitions Partitions Boundaries Boundaries Customer 2 to 64 chars < 2 chars 2 chars 1 chars name valid chars > 64 chars 64 chars 65 chars invalid chars 0 chars
  17. 17. Account number valid: non-zero first character: invalid: zero number of digits: 5 6 7 invalid invalid valid Conditions Valid Invalid Valid Invalid Partitions Partitions Boundaries Boundaries Account 6 digits < 6 digits 100000 5 digits number 1st non-zero > 6 digits 999999 7 digits 1st digit = 0 0 digits non-digit
  18. 18. Loan amount 499 500 9000 9001 invalid valid invalid Conditions Valid Invalid Valid Invalid Partitions Partitions Boundaries Boundaries Loan 500 - 9000 < 500 500 499 amount >9000 9000 9001 0 non-numeric null
  19. 19. Condition template Conditions Valid Tag Invalid Tag Valid Tag Invalid Tag Partitions Partitions Boundaries Boundaries Customer 2 - 64 chars V1 < 2 chars X1 2 chars B1 1 char D1 name valid chars V2 > 64 chars X2 64 chars B2 65 chars D2 invalid char X3 0 chars D3 Account 6 digits V3 < 6 digits X4 100000 B3 5 digits D4 number 1st non-zero V4 > 6 digits X5 999999 B4 7 digits D5 st 1 digit = 0 X6 0 digits D6 non-digit X7 Loan 500 - 9000 V5 < 500 X8 500 B5 499 D7 amount >9000 X9 9000 B6 9001 D8 0 X10 non-integer X11 null X12
  20. 20. Design test cases Test Description Expected Outcome New Tags Case Covered 1 Name: John Smith Term: 3 years V1, V2, Acc no: 123456 Repayment: 79.86 V3, V4, Loan: 2500 Interest rate: 10% V5 ..... Term: 3 years Total paid: 2874.96 2 Name: AB Term: 1 year B1, B3, Acc no: 100000 Repayment: 44.80 B5, ..... Loan: 500 Interest rate: 7.5% Term: 1 year Total paid: 537.60
  21. 21. Why do both EP and BVA?  If you do boundaries only, you have covered all the partitions as well - technically correct and may be OK if everything works correctly! - if the test fails, is the whole partition wrong, or is a boundary in the wrong place - have to test mid- partition anyway - testing only extremes may not give confidence for typical use scenarios (especially for users) - boundaries may be harder (more costly) to set up
  22. 22. Test objectives? Condition Valid Tag Invalid Tag Valid Tag Invalid Tag Partition Partition Boundary Boundary  For a thorough approach: VP, IP, VB, IB  Under time pressure, depends on your test objective - minimal user-confidence: VP only? - maximum fault finding: VB first (plus IB?)
  23. 23. Decision tables  explore combinations of inputs, situations or events,  it is very easy to overlook specific combinations of input  start by expressing the input conditions of interest so that they are either TRUE or FALSE – record found – policy expired – file exists – account in credit – code valid – due date > current date
  24. 24. Example: student access A university computer system allows students an allocation of disc space depending on their projects. If they have used all their allotted space, they are only allowed restricted access, i.e. to delete files, not to create them. This is assuming they have logged on with a valid username and password. What are the input and output conditions?
  25. 25. List the input and output conditions • list the „input Input Conditions conditions‟ in the first Valid username column of the table Valid password Account in credit • list the „output Output Conditions conditions‟ under the Login accepted input conditions Restricted access
  26. 26. Determine input combinations  add columns to the table for each unique combination of input conditions.  each entry in the table may be either „T‟ for true, „F‟ for false. Input Conditions Valid username T T T T F F F F Valid password T T F F T T F F Account in credit T F T F T F T F
  27. 27. Rationalise input combinations  some combinations may be impossible or not of interest  some combinations may be „equivalent‟  use a hyphen to denote “don‟t care” Input Conditions Valid username F T T T Valid password - F T T Account in credit - - F T
  28. 28. Complete the table  determine the expected output conditions for each combination of input conditions Input Conditions Valid username F T T T Valid password - F T T Account in credit - - F T Output Conditions Login accepted F F T T Restricted access - - T F
  29. 29. Determine test case groups  each column is at least one test case Input Conditions Valid username F T T T Valid password - F T T Account in credit - - F T Output Conditions Login accepted F F T T Restricted access - - T F Tags A B C D
  30. 30. Design test cases  usually one test case for each column but can be none or several Test Description Expected Outcome Tag 1 Username BrbU Invalid username A 2 Username Invalid username A usernametoolong 3 Username BobU Invalid password B Password abcd 4 Valid user, no disc Restricted access C space 5 Valid user with disc Unrestricted access D space
  31. 31. Rationalising outputs  if outputs or effects are mutually exclusive, I.e. T occurs in only one place in each column, we can combine them  for example: X T F F is equivalent to: Y F T F Z F F T Output X Y Z
  32. 32. Rationalising dangers  rationalising is based on assumptions  assumptions may be wrong!  assumptions should be stated  assumptions may change over time  be aware of the dangers - filling in the full table may find errors which will be missed if you rationalise - it is possible to rationalise too far
  33. 33. Extending decision tables  Entries can be more than just „true‟ or „false‟ - completing table needs to be done carefully - rationalising becomes more important  E.g. Code = 1, 2, or 3 1 1 1 1 2 2 2 2 3 3 3 3 Exp.date < now T T F F T T F F T T F F Class A product T F T F T F T F T F T F
  34. 34. Decision Tables in relation to EP and BVA Input value Output value FALSE TRUE
  35. 35. 1 2 3 ISTQB / ISEB Foundation Exam Practice 4 5 6 Dynamic Testing Techniques Contents What is a testing technique? Black and White box testing Black box test techniques White box test techniques Error Guessing
  36. 36. White Box test design and measurement techniques  Techniques defined in BS 7925-2 - Statement testing Also a measurement technique? - Branch / Decision testing = Yes - Data flow testing = No - Branch condition testing - Branch condition combination testing - Modified condition decision testing - LCSAJ testing  Also defines how to specify other techniques
  37. 37. Using structural coverage Spec Enough Software tests? Tests Results OK? What's covered? More tests Coverage OK? Stronger structural techniques (different structural elements) Increasing coverage
  38. 38. The test coverage trap Function exercised, better testing insufficient structure Functional testedness Structure exercised, insufficient function % Statement % Decision % Condition Combination Structural testedness 100% coverage does Coverage is not not mean 100% tested! Thoroughness
  39. 39. Statement coverage Statement coverage is normally measured by a software tool.  percentage of executable statements exercised by a test suite number of statements exercised ? = total number of statements  example: - program has 100 statements - tests exercise 87 statements - statement coverage = 87% Typical ad hoc testing achieves 60 - 75%
  40. 40. Example of statement coverage 1 read(a) Test Input Expected 2 IF a > 6 THEN case output 3 b=a 1 7 7 4 ENDIF 5 print b As all 5 statements are „covered‟ by this test case, we have achieved Statement 100% statement coverage numbers
  41. 41. Decision coverage Decision coverage is normally measured by a software tool. (Branch coverage)  percentage of decision outcomes exercised by a test suite number of decisions outcomes exercised False = ? total number of decision outcomes True  example: - program has 120 decision outcomes - tests exercise 60 decision outcomes - decision coverage = 50% Typical ad hoc testing achieves 40 - 60%
  42. 42. Paths through code 1234 12 12 123 ? ? ? ? ? ?
  43. 43. Paths through code with loops 1 2 3 4 5 6 7 8 …. for as many times as it is possible to go round ? the loop (this can be unlimited, i.e. infinite)
  44. 44. Wait Example 1 Wait for card to be inserted Yes Valid Display IF card is a valid card THEN card? “Enter.. display “Enter PIN number” No IF PIN is valid THEN Reject Valid Yes Select select transaction PIN? card trans... ELSE (otherwise) No display “PIN invalid” ELSE (otherwise) Display “PIN in.. reject card End End
  45. 45. Example 2 Read Read A Yes Yes A>0 A=21 IF A > 0 THEN IF A = 21 THEN No No Print Print “Key” ENDIF ENDIF End 3 - Cyclomatic complexity: _____ - Minimum tests to achieve: 1 • Statement coverage: ______ • Branch coverage: _____ 3
  46. 46. Example 3 Read Read A Yes No Read B A>0 B=0 Print IF A > 0 THEN No Yes Yes IF B = 0 THEN Print A>21 Print Print “No values” No ELSE Print B IF A > 21 THEN End Print A 4 - Cyclomatic complexity: _____ ENDIF ENDIF - Minimum tests to achieve: ENDIF 2 • Statement coverage: ______ • Branch coverage: _____ 4
  47. 47. Yes Read A<0 Print Example 4 No Read A Note: there Print Read B are 4 paths IF A < 0 THEN Yes Print “A negative” B<0 Print ELSE No Print “A positive” Print ENDIF IF B < 0 THEN Print “B negative” End ELSE 3 - Cyclomatic complexity: _____ Print “B positive” ENDIF - Minimum tests to achieve: • Statement coverage: ______ 2 • Branch coverage: _____ 2
  48. 48. Yes Read A<0 Print Example 5 No Read A Read B Yes B<0 Print IF A < 0 THEN No Print “A negative” ENDIF IF B < 0 THEN End Print “B negative” ENDIF 3 - Cyclomatic complexity: _____ - Minimum tests to achieve: 1 • Statement coverage: ______ • Branch coverage: _____ 2
  49. 49. Yes Read A<0 Print Example 6 No Read A IF A < 0 THEN Yes A>0 Print Print “A negative” No ENDIF IF A > 0 THEN Print “A positive” End ENDIF 3 - Cyclomatic complexity: _____ - Minimum tests to achieve: 2 • Statement coverage: ______ • Branch coverage: _____ 2
  50. 50. 1 2 3 ISTQB / ISEB Foundation Exam Practice 4 5 6 Dynamic Testing Techniques Contents What is a testing technique? Black and White box testing Black box test techniques White box test techniques Error Guessing
  51. 51. Non-systematic test techniques  Trial and error / Ad hoc  Error guessing / Experience-driven  User Testing  Unscripted Testing A testing approach that is only rigorous, thorough and systematic is incomplete
  52. 52. Error-Guessing  always worth including  after systematic techniques have been used  can find some faults that systematic techniques can miss  a „mopping up‟ approach  supplements systematic techniques Not a good approach to start testing with
  53. 53. Error Guessing: deriving test cases  Consider: - past failures - intuition - experience - brain storming - “What is the craziest thing we can do?”
  54. 54. 1 2 3 ISTQB / ISEB Foundation Exam Practice 4 5 6 Dynamic Testing Techniques Summary: Key Points Test techniques are „best practice‟: help to find faults Black Box techniques are based on behaviour White Box techniques are based on structure Error Guessing supplements systematic techniques

×