• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
ISTQB / ISEB Foundation Exam Practice - 4
 

ISTQB / ISEB Foundation Exam Practice - 4

on

  • 9,591 views

ISTQB / ISEB Foundation Exam Practice - 4

ISTQB / ISEB Foundation Exam Practice - 4

Statistics

Views

Total Views
9,591
Views on SlideShare
9,591
Embed Views
0

Actions

Likes
2
Downloads
444
Comments
4

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

14 of 4 previous next Post a comment

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    ISTQB / ISEB Foundation Exam Practice - 4 ISTQB / ISEB Foundation Exam Practice - 4 Presentation Transcript

    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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:
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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?)
    • 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
    • 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?
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • Decision Tables in relation to EP and BVA Input value Output value FALSE TRUE
    • 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
    • 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
    • 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
    • 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
    • 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%
    • 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
    • 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%
    • Paths through code 1234 12 12 123 ? ? ? ? ? ?
    • 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)
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • Error Guessing: deriving test cases  Consider: - past failures - intuition - experience - brain storming - “What is the craziest thing we can do?”
    • 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