30
1 Metamorphic Testing Tsong Yueh Chen Swinburne University of Technology 20 th CREST Open Workshop

Metamorphic Testing - University College Londoncrest.cs.ucl.ac.uk/cow/20/slides/COW20_Chen.pdf · Metamorphic Testing • Some Characteristics – Necessary properties of the problem

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Metamorphic Testing - University College Londoncrest.cs.ucl.ac.uk/cow/20/slides/COW20_Chen.pdf · Metamorphic Testing • Some Characteristics – Necessary properties of the problem

1

Metamorphic Testing

Tsong Yueh Chen Swinburne University of Technology

20th CREST Open Workshop

Page 2: Metamorphic Testing - University College Londoncrest.cs.ucl.ac.uk/cow/20/slides/COW20_Chen.pdf · Metamorphic Testing • Some Characteristics – Necessary properties of the problem

2

Oracle Problem

•  Oracle - a mechanism to verify the correctness of the outputs

•  Oracle Problem – absence of oracle or too expensive to apply the oracle

Page 3: Metamorphic Testing - University College Londoncrest.cs.ucl.ac.uk/cow/20/slides/COW20_Chen.pdf · Metamorphic Testing • Some Characteristics – Necessary properties of the problem

3

A Motivating Example

•  sin function –  sin(0o )=0 –  sin(30o)=0.5

•  Suppose the program returns: sin(29.8o )=0.51234 incorrect sin(29.8o )=0.49876 correct?

Page 4: Metamorphic Testing - University College Londoncrest.cs.ucl.ac.uk/cow/20/slides/COW20_Chen.pdf · Metamorphic Testing • Some Characteristics – Necessary properties of the problem

4

A Motivating Example

•  sin function has the following properties –  sin(x)= sin(x+360) – ……

•  Execute the program with sin(389.8o ) compare sin(29.8o ) and sin(389.8o )

Page 5: Metamorphic Testing - University College Londoncrest.cs.ucl.ac.uk/cow/20/slides/COW20_Chen.pdf · Metamorphic Testing • Some Characteristics – Necessary properties of the problem

5

Metamorphic Testing (A Simplified Form)

•  Source (original) test cases – generated according to certain strategies

•  Follow-up test cases could be constructed from the successful test cases with reference to certain properties of the problem

•  Such properties are known as metamorphic relations

Page 6: Metamorphic Testing - University College Londoncrest.cs.ucl.ac.uk/cow/20/slides/COW20_Chen.pdf · Metamorphic Testing • Some Characteristics – Necessary properties of the problem

6

Metamorphic Testing

•  Some Characteristics –  Necessary properties of the problem – not

restricted to identity relations and numeric relations

– Multiple executions – at least one source test case and one follow-up test case

– Follow-up test cases may depend on the outputs of the source test cases

Page 7: Metamorphic Testing - University College Londoncrest.cs.ucl.ac.uk/cow/20/slides/COW20_Chen.pdf · Metamorphic Testing • Some Characteristics – Necessary properties of the problem

7

Metamorphic Testing

•  test case – metamorphic test group •  test outcome of pass or failure – test

outcome of satisfaction or violation of a metamorphic relation

Page 8: Metamorphic Testing - University College Londoncrest.cs.ucl.ac.uk/cow/20/slides/COW20_Chen.pdf · Metamorphic Testing • Some Characteristics – Necessary properties of the problem

8

Metamorphic Testing

•  Aimed at alleviating the oracle problem •  A property-based testing method –

providing a new perspective to design test cases

•  Metamorphic relation

Page 9: Metamorphic Testing - University College Londoncrest.cs.ucl.ac.uk/cow/20/slides/COW20_Chen.pdf · Metamorphic Testing • Some Characteristics – Necessary properties of the problem

9

Categories of Research in MT

•  Use of MT to test application domains which have oracle problem

•  Integration of MT with other software analysis and testing methods

•  Its own theory

Page 10: Metamorphic Testing - University College Londoncrest.cs.ucl.ac.uk/cow/20/slides/COW20_Chen.pdf · Metamorphic Testing • Some Characteristics – Necessary properties of the problem

10

Testing Software with Oracle Problem

•  Bioinformatics programs •  Embedding systems •  Machine learning software •  Optimization systems •  …..

Page 11: Metamorphic Testing - University College Londoncrest.cs.ucl.ac.uk/cow/20/slides/COW20_Chen.pdf · Metamorphic Testing • Some Characteristics – Necessary properties of the problem

11

Integration with Other Methods

•  Slicing – metamorphic slice •  Spectrum Based Fault Localizations (SBFL) •  Symbolic execution – semi-proving which

supports debugging, testing and proving

Page 12: Metamorphic Testing - University College Londoncrest.cs.ucl.ac.uk/cow/20/slides/COW20_Chen.pdf · Metamorphic Testing • Some Characteristics – Necessary properties of the problem

12

Metamorphic Slices

•  Slicing may be the most important concept in software analysis

•  Conventional slices are data-based •  Metamorphic slices are also property-based •  Many applications of slicing assume the

existence of a test oracle

Page 13: Metamorphic Testing - University College Londoncrest.cs.ucl.ac.uk/cow/20/slides/COW20_Chen.pdf · Metamorphic Testing • Some Characteristics – Necessary properties of the problem

13

Existing SBFL Techniques

•  A test suite – the test outcome of each test case is known (oracle assumed)

•  A program spectrum – execution slice •  A risk evaluation formula to assign a risk

value of being faulty to each statement

Page 14: Metamorphic Testing - University College Londoncrest.cs.ucl.ac.uk/cow/20/slides/COW20_Chen.pdf · Metamorphic Testing • Some Characteristics – Necessary properties of the problem

14

SBFL Without Oracle

•  slice – metamorphic slice •  test case – metamorphic test group •  pass or failure of a test case – satisfaction or

violation of a metamorphic test group

Page 15: Metamorphic Testing - University College Londoncrest.cs.ucl.ac.uk/cow/20/slides/COW20_Chen.pdf · Metamorphic Testing • Some Characteristics – Necessary properties of the problem

15

Integration with Symbol Execution

•  Proving metamorphic relations – metamorphic proving

•  Sometimes able to prove program •  Providing useful information to debug

Page 16: Metamorphic Testing - University College Londoncrest.cs.ucl.ac.uk/cow/20/slides/COW20_Chen.pdf · Metamorphic Testing • Some Characteristics – Necessary properties of the problem

16

Theory for Metamorphic Testing

•  Metamorphic Relations – Necessary properties involving multiple inputs

•  Identification or generation of MRs

– Many MRs •  Set of MRs treated as input domain – selection

strategies for MRs •  Prioritization of MRs

Page 17: Metamorphic Testing - University College Londoncrest.cs.ucl.ac.uk/cow/20/slides/COW20_Chen.pdf · Metamorphic Testing • Some Characteristics – Necessary properties of the problem

17

Generation of MRs

•  Is it feasible to identify or generate MRs?

Page 18: Metamorphic Testing - University College Londoncrest.cs.ucl.ac.uk/cow/20/slides/COW20_Chen.pdf · Metamorphic Testing • Some Characteristics – Necessary properties of the problem

18

Generation of MRs

•  Should target at – Development of guidelines or systematic

methods for a specific type of application domains

– Development of semi-automated methods

Page 19: Metamorphic Testing - University College Londoncrest.cs.ucl.ac.uk/cow/20/slides/COW20_Chen.pdf · Metamorphic Testing • Some Characteristics – Necessary properties of the problem

19

Prioritization of MRs

Consider sin(x)

MR1: sin(x) = sin(x + 2 π) MR2: sin(x) = -sin(x + π) MR3: sin(-x)= -sin(x) MR4: sin(x) = sin(π-x) MR5: sin(x) = -sin(2 π - x) …

Page 20: Metamorphic Testing - University College Londoncrest.cs.ucl.ac.uk/cow/20/slides/COW20_Chen.pdf · Metamorphic Testing • Some Characteristics – Necessary properties of the problem

20

Priorization Approaches

•  Usage profile •  Algorithm

Page 21: Metamorphic Testing - University College Londoncrest.cs.ucl.ac.uk/cow/20/slides/COW20_Chen.pdf · Metamorphic Testing • Some Characteristics – Necessary properties of the problem

21

Usage Profile

§  sin(x) §  Electrical engineers

§  sin(x) = sin(x + 2 π)

§  Surveyors §  sin(-x)= -sin(x) §  sin(x) = sin(π-x)

Page 22: Metamorphic Testing - University College Londoncrest.cs.ucl.ac.uk/cow/20/slides/COW20_Chen.pdf · Metamorphic Testing • Some Characteristics – Necessary properties of the problem

22

Algorithm §  A problem may be solved by more than one

algorithm – sorting, adaptive random testing §  The same algorithm may be implemented in

different ways

Page 23: Metamorphic Testing - University College Londoncrest.cs.ucl.ac.uk/cow/20/slides/COW20_Chen.pdf · Metamorphic Testing • Some Characteristics – Necessary properties of the problem

23

Example

§  Shortest Path problem: SP(G, a, b) using forward expansion •  |SP(G, a, b)| = |SP(G, a, c)| +|SP(G, c, b)| •  |SP(G, a, b)| = |SP(G, b, a)|

Page 24: Metamorphic Testing - University College Londoncrest.cs.ucl.ac.uk/cow/20/slides/COW20_Chen.pdf · Metamorphic Testing • Some Characteristics – Necessary properties of the problem

24

A Test Case Selection Strategy

•  Observation: MT reveals bugs in some software that has been used and tested by conventional testing methods for a long time.

schedule and print_token •  A testing method for end-users

Page 25: Metamorphic Testing - University College Londoncrest.cs.ucl.ac.uk/cow/20/slides/COW20_Chen.pdf · Metamorphic Testing • Some Characteristics – Necessary properties of the problem

25

End-User Software Engineering §  Source test case selection strategy – any

available; otherwise special values, random or ad hoc selection

§  Selection of MRs – § usage profile § end-user’s domain knowledge § coding

Page 26: Metamorphic Testing - University College Londoncrest.cs.ucl.ac.uk/cow/20/slides/COW20_Chen.pdf · Metamorphic Testing • Some Characteristics – Necessary properties of the problem

26

Specifications

Is MT a Black-Box Method?

Page 27: Metamorphic Testing - University College Londoncrest.cs.ucl.ac.uk/cow/20/slides/COW20_Chen.pdf · Metamorphic Testing • Some Characteristics – Necessary properties of the problem

27

Example

−+−=!5!3

)sin(53 xxxx

Page 28: Metamorphic Testing - University College Londoncrest.cs.ucl.ac.uk/cow/20/slides/COW20_Chen.pdf · Metamorphic Testing • Some Characteristics – Necessary properties of the problem

28

Example

•  MR1 sin(-x) = -sin(x) •  MR2: sin(x) = sin(x + 2 π)

Page 29: Metamorphic Testing - University College Londoncrest.cs.ucl.ac.uk/cow/20/slides/COW20_Chen.pdf · Metamorphic Testing • Some Characteristics – Necessary properties of the problem

29

Conclusion

Page 30: Metamorphic Testing - University College Londoncrest.cs.ucl.ac.uk/cow/20/slides/COW20_Chen.pdf · Metamorphic Testing • Some Characteristics – Necessary properties of the problem

30

Thanks