combinatorial test set generation
play

Combinatorial Test Set Generation: Concepts, Implementation, Case - PowerPoint PPT Presentation

Combinatorial Test Set Generation: Concepts, Implementation, Case Study Drs. Vadim V. Zaytsev 22 June 2004 Legal stuff Supervisor: Prof.dr. Hendrik Brinksma, UT Ext.Supervisor: Dr.ing. Ralf L ammel, VU&CWI Hosting


  1. Combinatorial Test Set Generation: Concepts, Implementation, Case Study Drs. Vadim V. Zaytsev 22 June 2004

  2. Legal stuff • Supervisor: Prof.dr. Hendrik Brinksma, UT • Ext.Supervisor: Dr.ing. Ralf L¨ ammel, VU&CWI • Hosting organisation: Vrije Universiteit Amsterdam • Contributes to a collaboration between Dr. Wolfram Schulte from MSR/FSE and Dr.ing. Ralf L¨ ammel from VU&CWI ( Geno project). 1

  3. Contents of the project • Testing – Combinatorial test data generation – Differential approach • Grammar ware – XML Schema as grammar description formalism – XML validators as grammar-based software http://www.cs.vu.nl/grammarware/ 2

  4. Combinatorial exploration Grammar Explosion Term Term Term Term Term Term Term Term Term Term Term Term Term ... . . . Adversary of stochastic testing 3

  5. Explosion examples Cardinalities per depth 1000000000 100000000 10000000 1000000 100000 10000 1000 100 10 1 1 2 3 4 5 6 Number of generated terms grows fast with depth and eventually explodes (becomes greater than 18446744073709551616). 4

  6. Controlled explosion Grammar Term Depth control Term Term Recursion control Term Term Term Term Term Term Term Term Term Term ... . . . + other mechanisms 5

  7. Control mechanisms • depth control – intuitive definition • recursion control – nested unfolding of sorts • equivalence control – building equivalence classes 6

  8. Control mechanisms (contd.) • balance control – limit the preceding levels • combination control – limit Cartesian product – pair-wise testing • context control – enforce context conditions 7

  9. What to test in the XML • levels of XML file conformance • levels of XML processor conformance • grammar features: attributes, references, . . . • advanced features: namespaces, schema-related markup, . . . • secondary features: header, scalability, . . . 8

  10. Design of Geno TDGenerator Grammar Test data Grammarware Output Grammar-based testing tool generates terms in a combinatorial way. 9

  11. Work on Geno Constructors Serialisation Sorts and Parsing Terms grammar test data Mapping Mapping XML XSD XML XSD Change the input language: grammar adaptation; change the output language: serialisation. 10

  12. Case study with Geno TDGenerator XML XSD Validator Validator ... YES NO YES NO Decider GOOD/BAD 11

  13. XML validators • C# .NET-based – wrapper written • Sun Multi-Schema XML Validator 1.2 – used as is • Python XSV – wrapper written 12

  14. Results • The infrastructure of the XML-based data generator • The case study : XHTML Strict 1.1 — — — • Generation process visualisation • Illustration and rationalisation of control mechanisms 13

  15. Scenarios • Huge valid test data set • Grammar mutation • Point-wise stress testing Depth Sorts Constructors Terms Terms of reached in the signature total the root sort Valid 8 234 478 9914261 37240 Mutation 5 234 684 347339 64247 Stress 1000 5 6 1500 499 14

  16. B UGS — better say “differences” • Third outcome: lax validation, warnings, etc • Duplicate attribute drives C# and Python APIs mad • Stress testing — — — • FOR cycle • Running in parallel 15

  17. Thanks for your attention! 16

Recommend


More recommend