Test data generation for covering functionality of database applications
This presentation is the property of its rightful owner.
Sponsored Links
1 / 23

Test data generation for covering functionality of database applications PowerPoint PPT Presentation


  • 81 Views
  • Uploaded on
  • Presentation posted in: General

Test data generation for covering functionality of database applications . Authors: Sergey Zelenov, Vitaly Omelchenko, Evgeny Kostychev Institute for System Programming at the Russian Academy of Sciences Moscow, Russian Federation . Target. Source. Extract. Load. Transform.

Download Presentation

Test data generation for covering functionality of database applications

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Test data generation for covering functionality of database applications

Test data generation for covering functionality of database applications

Authors: Sergey Zelenov, Vitaly Omelchenko, Evgeny Kostychev

Institute for System Programming

at the Russian Academy of Sciences

Moscow, Russian Federation


Database applications

Target

Source

Extract

Load

Transform

Database - applications

Change

Change

extraction source data

changing values of source data

transformation of input data

loading data

changing in the target some data


Problem

Problem

Cartesian product

combinatorial explosion

problem of analyzing test results


Test data generation for covering functionality of database applications

Goal

  • cover all branches of the functionality

  • test set → min

    Ideally

  • one test data set per one functionality branch


Hierarchy of combinators

Hierarchy of combinators

X

Y

field1

field2

field3

field4

Cartesian product

Cartesian product

All X with any Y

All Y with any X


Comparison of the tools

Comparison of the tools


Method description

Documentation analysis

Formalization of requirements

Formulation coverage

criteria

Generation

of test data

Normative

documents

Catalogue of

requirements

Coverage

criteria

Model of

the SUT

Test

set

CRITERIA

- …

- …

- …

- …

Method description


Example bank credit system

ExampleBank credit system

  • the client type (V, U)

  • the credit type (A, B)bonus or penalty

  • the repaid sum


Test data generation for covering functionality of database applications

Documentation analysis

Formalization of requirements

Formulation coverage

criteria

Generation

of test data

Normative

documents

Catalogue of

requirements

Coverage

criteria

Model of

the SUT

Test

set

CRITERIA

- …

- …

- …

- …


1 requirements elicitation

A

1. Requirements elicitation

Repay< Monthly

Repay > Debt

Monthly  ≤  Repay  ≤  Debt

VIP

USUAL

VIP

USUAL

Loan‘B’

Loan‘A’

Loan‘B’

Loan‘A’

Penalty0

Penalty3%

Bonus 5%

Bonus 2%

Bonus 1%

Refund

B

e-mail is specified

Notification


Test data generation for covering functionality of database applications

Documentation analysis

Formalization of requirements

Formulation coverage

criteria

Generation

of test data

Normative

documents

Catalogue of

requirements

Coverage

criteria

Model of

the SUT

Test

set

CRITERIA

- …

- …

- …

- …


Test data generation for covering functionality of database applications

A

2. Formalization of requirements

P< MP

P > D

MP  ≤  P  ≤  D

“V”

“U”

“U”

“V”

“B”

“B”

“A”

“A”

A.I P<MP && CL="V" =>penalty 0;

P<MP && CL="U" =>

penalty 3%;

A.II.1MP≤P≤D && (CL="V" && CR="B" || CL="U" && CR="A")

=> bonus 2%;

A.II.2 MP≤P≤D && CL="V" && CR="A" => bonus 5%;

A.II.3 MP≤P≤D && CL="U" && CR="B" => bonus 1%;

A.III P>D => refund.

B. E≠"" => notification.

refund

-3%

+5%

0

+2%

+1%

B

e-mail

Notification


Test data generation for covering functionality of database applications

Documentation analysis

Formalization of requirements

Formulation coverage

criteria

Generation

of test data

Normative

documents

Catalogue of

requirements

Coverage

criteria

Model of

the SUT

Test

set

CRITERIA

- …

- …

- …

- …


3 formulation of coverage criteria

3. Formulation of coverage criteria

The division rules for parameter P

  • MP = D

  • MP < D

P=MP

P>MP

P<MP

P=D

P=MP

MP=D

P>D

P<MP

MP<P<D


Test data generation for covering functionality of database applications

A

P< MP

P > D

MP  ≤  P  ≤  D

The division rules for parameters CL and CR

  • P < MP → 2 subsets (CL)

  • MP ≤ P ≤ D → 4 subsets (CL × CR)

  • P > D → 1 set

“V”

“U”

“U”

“V”

“B”

“B”

“A”

“A”

refund

-3%

+5%

0

+2%

+1%


Test data generation for covering functionality of database applications

The division rules for the parameter E

  • 2 subsets (empty, non-empty)

B

e-mail

Notification


Test data generation for covering functionality of database applications

A

P< MP

P > D

MP  ≤  P  ≤  D

Independent aspects

“V”

“U”

“U”

“V”

“B”

“B”

“A”

“A”

0

-3%

+5%

0

+2%

+1%

B

e-mail

Notification


Test data generation for covering functionality of database applications

Documentation analysis

Formalization of requirements

Formulation coverage

criteria

Generation

of test data

Normative

documents

Catalogue of

requirements

Coverage

criteria

Model of

the SUT

Test

set

CRITERIA

- …

- …

- …

- …


4 generation of test data

4. Generation of test data

Description of

DB scheme

Pinery

Test set

Test set

Test set

Test set

Configuration


Test data generation for covering functionality of database applications

Configuration of Pinery

  • Constraints on values of one field

    • MP = { 6 };

    • D = { 6, 30 };

    • E = { "", "[email protected]" };

    • P[MP<D] = {MP-1, MP, (MP+D)/2, D, D+1};

    • P[MP=D] = {MP - 1, D, D + 1};

    • CL[ P<MP ] = { "V", "U" };

    • CR[ P<MP ] = { "A" };

    • ….


Test data generation for covering functionality of database applications

A

P< MP

P > D

MP  ≤  P  ≤  D

“V”

“U”

“U”

“V”

“B”

“B”

“A”

“A”

0

-3%

+5%

0

+2%

+1%

  • Constraints on combination method for several fields

    • combinator( CREDITS ) =

      Diagonal(

      Depend(

      Depend(

      Product(MP, D),

      P),

      Product(CL, CR) ),

      E );

B

e-mail

Notification


Results

Results

  • Our method: 22 tuples

  • Cartesian product: 64 tuples

    Economy increases if

  • possible values of fields ↗

  • number of independent aspects ↗


Thank you

Thank you !


  • Login