26
Requirement-Based Automated Aspect Verification Boris Vaysburg

Requirement-Based Automated Aspect Verification Boris Vaysburg This presentation will probably involve audience discussion, which will create action items

Embed Size (px)

Citation preview

Page 1: Requirement-Based Automated Aspect Verification Boris Vaysburg This presentation will probably involve audience discussion, which will create action items

Requirement-Based Automated Aspect Verification

Boris Vaysburg

Page 2: Requirement-Based Automated Aspect Verification Boris Vaysburg This presentation will probably involve audience discussion, which will create action items

Boris Vaysburg Illinois Institute of Technology 2

Outline

Problem StatementProposed ApproachAspectual RequirementsAutomated Model and Test GenerationAspect-oriented Regression TestingConclusion

Page 3: Requirement-Based Automated Aspect Verification Boris Vaysburg This presentation will probably involve audience discussion, which will create action items

Boris Vaysburg Illinois Institute of Technology 3

Aspect Testing

Testing of aspects is challengingA single aspect affects multiple areas of the systemAffects of an aspect are not localized with respect to system functionalityIncreasingly difficult to track aspect influence as system goes through revisions

Page 4: Requirement-Based Automated Aspect Verification Boris Vaysburg This presentation will probably involve audience discussion, which will create action items

Boris Vaysburg Illinois Institute of Technology 4

Aspect Testing

Input

Output

Page 5: Requirement-Based Automated Aspect Verification Boris Vaysburg This presentation will probably involve audience discussion, which will create action items

Boris Vaysburg Illinois Institute of Technology 5

Aspect Testing

Input

Output

Page 6: Requirement-Based Automated Aspect Verification Boris Vaysburg This presentation will probably involve audience discussion, which will create action items

Boris Vaysburg Illinois Institute of Technology 6

Aspect Testing

Input

Output

Page 7: Requirement-Based Automated Aspect Verification Boris Vaysburg This presentation will probably involve audience discussion, which will create action items

Boris Vaysburg Illinois Institute of Technology 7

Limitation of Existing Methods

Limited support of aspect verification on requirement levelSupport for generation of tests against the entire system only– No selective aspect testing– No regression testing with respect to system aspects

Page 8: Requirement-Based Automated Aspect Verification Boris Vaysburg This presentation will probably involve audience discussion, which will create action items

Boris Vaysburg Illinois Institute of Technology 8

Proposed Approach

Approach to automatically track affect of aspectual requirements on the systemProvide support for automated aspect testing:– Selectively verify aspect functionality– Regression test affect of aspects on new system functionality

Automated model-based test generation directly from specificationBased on UML for formal descriptionIndividual aspect requirements mapped into system model

Page 9: Requirement-Based Automated Aspect Verification Boris Vaysburg This presentation will probably involve audience discussion, which will create action items

Boris Vaysburg Illinois Institute of Technology 9

Automated Aspect Testing

Automatically create UML system model from individual requirementsGenerate system-level test suite from the system modelGenerate aspect test suites from the system test suite.

Page 10: Requirement-Based Automated Aspect Verification Boris Vaysburg This presentation will probably involve audience discussion, which will create action items

Boris Vaysburg Illinois Institute of Technology 10

Automated Aspect Testing

IndividualUML

Requirements

TestSuite

UML ModelGeneration

RequirementSpecifications

RequirementSpecifications

RequirementSpecifications

TestGeneration

ProblemReport

Test StrategyAspect Selection

Page 11: Requirement-Based Automated Aspect Verification Boris Vaysburg This presentation will probably involve audience discussion, which will create action items

Boris Vaysburg Illinois Institute of Technology 11

System Specifications

Comprised of individual requirements– Functional requirements– Aspectual Requirements

• Performance• Security

Textual requirements maybe ambiguousEach requirement has:– Requirements ID– Textual description– Formal UML specification

Page 12: Requirement-Based Automated Aspect Verification Boris Vaysburg This presentation will probably involve audience discussion, which will create action items

Boris Vaysburg Illinois Institute of Technology 12

Example of Requirement

R1 The system shall accept PIN

Wait for PIN

PIN Entered

PIN/

Page 13: Requirement-Based Automated Aspect Verification Boris Vaysburg This presentation will probably involve audience discussion, which will create action items

Boris Vaysburg Illinois Institute of Technology 13

Example of Requirement

R2 If entered amount exceeds account balance, produce error, disregard action

State

State

amount/[amount > account balance]

produce error

Page 14: Requirement-Based Automated Aspect Verification Boris Vaysburg This presentation will probably involve audience discussion, which will create action items

Boris Vaysburg Illinois Institute of Technology 14

Automated Model Generation

Individual requirements (functional and aspectual) collected from system engineersSystem model generated from individual requirementsRequirement marking preserved

Page 15: Requirement-Based Automated Aspect Verification Boris Vaysburg This presentation will probably involve audience discussion, which will create action items

Boris Vaysburg Illinois Institute of Technology 15

AutomatedTest Case Generation

Tests generated from UML system modelSupport for various testing strategies– State coverage– Transition coverage– Path coverage

Tests mapped to individual requirements

Page 16: Requirement-Based Automated Aspect Verification Boris Vaysburg This presentation will probably involve audience discussion, which will create action items

Boris Vaysburg Illinois Institute of Technology 16

Test Generation

PINCard/

PIN/[pin!=actualPin]

MenuPIN/

[pin==actualPin]/print menu

Transaction

balance/print balance

withdrawal/balance :=

balance - amount

continue/

exit/eject card

exit/eject card

exit/eject card

Page 17: Requirement-Based Automated Aspect Verification Boris Vaysburg This presentation will probably involve audience discussion, which will create action items

Boris Vaysburg Illinois Institute of Technology 17

Test Generation

PINCard/

PIN/[pin!=actualPin]

MenuPIN/

[pin==actualPin]/print menu

Transaction

balance/print balance

withdrawal/balance :=

balance - amount

continue/

exit/eject card

exit/eject card

exit/eject card

Page 18: Requirement-Based Automated Aspect Verification Boris Vaysburg This presentation will probably involve audience discussion, which will create action items

Boris Vaysburg Illinois Institute of Technology 18

Test Generation

PINCard/

PIN/[pin!=actualPin]

MenuPIN/

[pin==actualPin]/print menu

Transaction

balance/print balance

withdrawal/balance :=

balance - amount

continue/

exit/eject card

exit/eject card

exit/eject card

State

State

amount/[amount > account balance]

produce error

Pointcut

Page 19: Requirement-Based Automated Aspect Verification Boris Vaysburg This presentation will probably involve audience discussion, which will create action items

Boris Vaysburg Illinois Institute of Technology 19

Test Generation

PINCard/

PIN/[pin!=actualPin]

MenuPIN/

[pin==actualPin]/print menu

Transaction

balance/print balance

withdrawal/balance :=

balance - amount

continue/

exit/eject card

exit/eject card

exit/eject card

State

State

amount/[amount > account balance]

produce error

Pointcut

Page 20: Requirement-Based Automated Aspect Verification Boris Vaysburg This presentation will probably involve audience discussion, which will create action items

Boris Vaysburg Illinois Institute of Technology 20

Test Generation

PINCard/

PIN/[pin!=actualPin]

MenuPIN/

[pin==actualPin]/print menu

Transaction

balance/print balance

withdrawal/balance :=

balance - amount

continue/

exit/eject card

exit/eject card

exit/eject card

State

State

amount/[amount > account balance]

produce error

Pointcut

Page 21: Requirement-Based Automated Aspect Verification Boris Vaysburg This presentation will probably involve audience discussion, which will create action items

Boris Vaysburg Illinois Institute of Technology 21

Aspect-basedRegression Testing

Automatically detect model changesAutomatically detect affect of an aspect on the system changes

PINCard/

PIN/[pin!=actualPin]

MenuPIN/

[pin==actualPin]/print menu

Transaction

balance/print balance

withdrawal/balance :=

balance - amount

continue/

exit/eject card

exit/eject card

exit/eject card

State

State

amount/[amount > account balance]

produce error

Pointcut

Page 22: Requirement-Based Automated Aspect Verification Boris Vaysburg This presentation will probably involve audience discussion, which will create action items

Boris Vaysburg Illinois Institute of Technology 22

PINCard/

PIN/[pin!=actualPin]

MenuPIN/

[pin==actualPin]/print menu

Transaction

balance/print b

withdrawal/b :=

b - amount

continue/

exit/eject card

exit/eject card

exit/eject card

transfer/b1 -= amountb2 += amount

Aspect-basedRegression Testing

Automatically detect model changesAutomatically detect affect of an aspect on the system changes

State

State

amount/[amount > account balance]

produce error

Pointcuts

Page 23: Requirement-Based Automated Aspect Verification Boris Vaysburg This presentation will probably involve audience discussion, which will create action items

Boris Vaysburg Illinois Institute of Technology 23

Conclusions

New approach to requirement-based aspect test generation– System-level test suites– Aspect-based selective testing– Aspect-based regression testing

May provide significant benefits:– Reduce number of test cases– Maintain test suite quality

Page 24: Requirement-Based Automated Aspect Verification Boris Vaysburg This presentation will probably involve audience discussion, which will create action items

Boris Vaysburg Illinois Institute of Technology 24

Proposed PhD Research

Continue review of existing methods/literatureFormalize the approach– Formalize model merging algorithm– Formalize test selection algorithm– Further study and formalize automated aspect-based

regression testingDesign and develop tool to support approachConduct experimental study

Page 25: Requirement-Based Automated Aspect Verification Boris Vaysburg This presentation will probably involve audience discussion, which will create action items

Boris Vaysburg Illinois Institute of Technology 25

References

Aldawud, M.O., “Aspect-Oriented Modeling With UML,” PhD DissertationClarke S., “Towards a Standard Design Language for AOSD,” Proceedings AOSD 2002Grundy, J., “Aspect-orinted Requirements Engineergin for Component-base Software Systems,” Proceedings IEEE Symposium on Requirements Engineering, 1999Rashid, A., et.al., “Modularisation and Composition of Aspectual Requirements,” Proceedings, AOSD 2003

Page 26: Requirement-Based Automated Aspect Verification Boris Vaysburg This presentation will probably involve audience discussion, which will create action items

Thank You