130 likes | 322 Views
Test Cases for CAS - UML/AS (1). Model(s): Final Changed to use 1 orthogonal region to meet the required behaviour Requirements markup incomplete (little effort). Test Cases for CAS - UML/AS (2). 15 of the available mutation operators applicable 20 locations
E N D
Test Casesfor CAS - UML/AS (1) • Model(s): • Final • Changed to use 1 orthogonal region to meet the required behaviour • Requirements markup incomplete (little effort)
Test Casesfor CAS - UML/AS (2) • 15 of the available mutation operators applicable • 20 locations • 111 mutants (no equivalent ones!) • 152 generated TCs(minimal search depth, no optim.) • manual and gen. TCs avaliable in svnrepository)
Test Casesfor CAS - UML/AS (3) Test cases Mutants
Test Casesfor CAS - UML/AS (4): • Strongest generated test case covers 75% of mutants, weakest only 1 mutant • Weakest test case is needed! (short, quiescence) • Longest 4 test cases from minimal set from the 8 mutants cover 96% • Test cases for „guard false“ mutation operator cover over 90 % • 1 mutant is found by manual tests but not by guard false mut-op • All mutants from minimal set are located at transitions • Changing code chunks covers removing the containing code snippet
Test Casesfor CAS - UML/AS (5): • Open issues: • Generatetestcasesformissingmutations (whenavailable) • Applyrequirementstracing (toolsincomplete) • ApplytestcasestoSimulink model and HIL • Supply XSLT conversion style sheetto FFA • Review/evaluatetestcases • Inter-Track verifications: • Coverageofmutantsbywhite box tests • Use Action System as an oracleforwhite box testing
Test Casesfor RELAB - UML/AS (1): • Model: • Final • Split intoseveral model variantsbyenablingonly a subsetoftheinputs • Startup phase • Nodriver • ISOBUS errors • Errors and Joystick X axismove (1 Position) • Equivalenceclassesforjoystickpositionsyielding different displayimages • Equivalenceclasseswithborders
Test Casesfor RELAB - UML/AS (2): • Mutants applied: • Available subset is applied • 13 mutations operators • 233 Mutants • Test cases generated • 66 (non-duplicate) test cases for nodriver variant available in SVN repository • TCG isongoingat TUG
Test Casesfor RELAB - UML/AS (3): • Open issues: • Complete test case generation for current mutation set • Extend test cases for rest of mutation operators • Applyrequirementstracing (toolsincomplete) • ApplytestcasestoPTD • AlreadysuppliedXSLT conversion style sheettoRELAB • Review/evaluatetestcases • Inter-Track verifications: • Coverageofmutantsbywhite box tests • Use Action System as an oracleforwhite box testing
Test CasesforELEKTRA - UML/AS (1): • Model: • Some elements still modeled incomplete • Does not yet import cleanly into VIATRA (OCL errors) • Mutantsapplied: • None • Test cases generated: • None
Test Casesfor ELEKTRA - UML/AS (2): • Open issues: • Complete model • Manually model minimal station in UML • Check forerrors in OOAS trafo • Get ELEKTRA model exportofmeetingstation • Configurestationimporttool • Applyimport • Generatemutants • Generatetestcases • „Partial Order Reduction“ testcasesforapplicationtotestenvironment • Add requirementsinfoto model fortracing
Test CasesforELPult- UML/AS (1): • Model: • Has errors within OOAS trafo • Mutantsapplied: • None • Test cases generated: • None
Test CasesforELPult- UML/AS (2): • Open issues: • Fix model andtest OOAS trafo • Get ELEKTRA model exportofmeetingstation • Configurestationimporttool • Applyimport • Generatemutants • Generatetestcases • Add requirementsinfointo model fortracing
Mutation Operators • Init values, constants, OCL /AGSL literals: • Constant Value Variation Step • Enum Value Exchange • Set Constant Value to Zero/Max • States: • Remove State Entry/Exit Action • Exchange State Entry/Exit Action Method • Transitions: • Remove Transition • Exchange Transition Source/Target • Exchange Transition Trigger • Triggers • Exchange Trigger Signal • Minimally Change Time Trigger Duration • Substantially Change Time Trigger Duration • Minimize/Maximize Time Trigger Dur. • Modify Change Trigger Expression • Exchange Call Trigger Method • Guards: • Fix Guard Value • Invert Guard • Modify Guard Expression • Effect: • Remove Effect • Exchange Effect Method • Modify Effect Body • OCL: • Fix Expression • Negate Expression • Fix Subexpression • Negate Subexpression • Modify Boolean Operator • Modify Relational Operator • Modify Arithmetic Operator • Modify Set Operator • Modify Quantifier • AGSL: • Remove Statement • Reorder Statement • Fix Parameter/Property • Modify Parameter/Property • Modify Operator • Fix Operand • Modify Operand • Fix Result