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

combinatorial test set generation
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Combinatorial Test Set Generation:

Concepts, Implementation, Case Study

  • Drs. Vadim V. Zaytsev

22 June 2004

slide-2
SLIDE 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

slide-3
SLIDE 3

Contents of the project

  • Testing

– Combinatorial test data generation – Differential approach

  • Grammarware

– XML Schema as grammar description formalism – XML validators as grammar-based software

http://www.cs.vu.nl/grammarware/

2

slide-4
SLIDE 4

Combinatorial exploration

Explosion

...

Term

Grammar

Term Term Term Term Term Term Term Term Term Term Term Term

. . .

Adversary of stochastic testing

3

slide-5
SLIDE 5

Explosion examples

Cardinalities per depth

1 2 3 4 5 6 10 100 1000 10000 100000 1000000 10000000 100000000 1000000000 1

Number of generated terms grows fast with depth and eventually explodes (becomes greater than 18446744073709551616).

4

slide-6
SLIDE 6

Controlled explosion

...

Term

Grammar

Recursion control Depth control

Term Term Term Term Term Term Term Term Term Term Term Term

. . .

+ other mechanisms

5

slide-7
SLIDE 7

Control mechanisms

  • depth control

– intuitive definition

  • recursion control

– nested unfolding of sorts

  • equivalence control

– building equivalence classes

6

slide-8
SLIDE 8

Control mechanisms (contd.)

  • balance control

– limit the preceding levels

  • combination control

– limit Cartesian product – pair-wise testing

  • context control

– enforce context conditions

7

slide-9
SLIDE 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

slide-10
SLIDE 10

Design of Geno

Grammar TDGenerator Test data Grammarware Output

Grammar-based testing tool generates terms in a combinatorial way.

9

slide-11
SLIDE 11

Work on Geno

XSD XML Parsing Mapping Terms XSD Constructors Serialisation Mapping XML grammar test data Sorts and

Change the input language: grammar adaptation; change the output language: serialisation.

10

slide-12
SLIDE 12

Case study with Geno

TDGenerator GOOD/BAD Decider Validator Validator YES XML XSD NO YES

...

NO

11

slide-13
SLIDE 13

XML validators

  • C# .NET-based

– wrapper written

  • Sun Multi-Schema XML Validator 1.2

– used as is

  • Python XSV

– wrapper written

12

slide-14
SLIDE 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

slide-15
SLIDE 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

slide-16
SLIDE 16

BUGS — 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

slide-17
SLIDE 17

Thanks for your attention!

16