Requirement-Based Automated Aspect Verification
Boris Vaysburg
Boris Vaysburg Illinois Institute of Technology 2
Outline
Problem StatementProposed ApproachAspectual RequirementsAutomated Model and Test GenerationAspect-oriented Regression TestingConclusion
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
Boris Vaysburg Illinois Institute of Technology 4
Aspect Testing
Input
Output
Boris Vaysburg Illinois Institute of Technology 5
Aspect Testing
Input
Output
Boris Vaysburg Illinois Institute of Technology 6
Aspect Testing
Input
Output
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
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
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.
Boris Vaysburg Illinois Institute of Technology 10
Automated Aspect Testing
IndividualUML
Requirements
TestSuite
UML ModelGeneration
RequirementSpecifications
RequirementSpecifications
RequirementSpecifications
TestGeneration
ProblemReport
Test StrategyAspect Selection
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
Boris Vaysburg Illinois Institute of Technology 12
Example of Requirement
R1 The system shall accept PIN
Wait for PIN
PIN Entered
PIN/
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
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
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
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
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
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
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
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
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
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
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
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
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
Thank You