1 / 10

WP1 Requirements and State of the Art

WP1 Requirements and State of the Art. Test-Case Generation Survey Bernhard Aichernig, TU Graz. TCG Techniques - Survey. D1.2 – State of the art Surveys 2 parts: D1.2a: on "Test-Case Generation Techniques" coordinated and edited by TUG literature research

lavina
Download Presentation

WP1 Requirements and State of the Art

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. WP1Requirements and State of the Art Test-Case Generation Survey Bernhard Aichernig, TU Graz

  2. TCG Techniques - Survey • D1.2 – State of the art Surveys 2 parts: • D1.2a: on "Test-Case Generation Techniques" • coordinated and edited by TUG • literature research • structured according to modelling styles • 219 references • public upon request • D1.2b: on "Tool Integration, Requirements Tracing" • coordinated and edited by BME • basis for WP2 work • Further: Questionnaire on partner know-how • in MOGENTES-related topics • organised by TUG • non-public

  3. Models – In a Nutshell (1) • Model-Based Specification • VDM, Z, B, JML, Spec#, CIRCUS, ALLOY, OCL, PiSPEC • Challenge: Sequence Finding (Build FSM) • Examples in Survey: Z, B • Abstract Data-Types (algebraic) • Raise, OBJ, Larch, CASL, ELOTOS (data part) • Test whether implementation fulfills axioms (Challenge: Equality!) • Examples in Survey: Container for Natural Numbers, Sort • Process Algebras • CCS, CSP, LOTOS • Specify behavior • Currently no example in survey • Test-case generation, e.g. based on LTS

  4. Models – In a Nutshell (2) • Labeled Transition Systems • LTS, IOSTS • LTS: Transition system; Labels (e.g. input/output symbols) on edges; • Test case generation: e.g. test purpose multiplied with Spec • Kripke Structures, Temporal Logic • Example: LTL properties for a brake • Test case generation: e.g. by model checking (counter example) • EFSM, State Charts • State Charts similar to hybrid automata („do“ keyword) • Example in Survey: UML state diagram for ATM withdrawl • Test: State/Transition Equivalence • Hybrid • Hybrid Automata • Hybrid I/O Transition Systems

  5. Tools – Model Based Spec. • Random Testing • JET • JML annotations • test data generation • Directed Testing (White Box) • DART, EXE, CUTE / jCUTE, Pex • Implementation gets instrumented • Do symbolic and concrete execution • From symbolic execution: Calculate input data to get high coverage (branches!) • Multi Strategy • Spec Explorer • Model-Program • State exploration

  6. Tools – Testing from LTS • Testing with Purposes • TGV, STG • Purpose some LTS • Multiply specification with purpose and generate tests • AGATHA • Symbolic execution of STS • Purpose is a sub-tree • Random • TorX • On-The-Fly • Fault based (mutation) • Mutate specification, extract discriminating sequence, use sequence as test purpose

  7. Tools – Testing with Model Checkers • Coverage Criteria • UPPAAL • Testing real-time systems • Supports generation of test suites that satisfy certain coverage criteria • FShell (white box) • White-Box testing of C programs • Uses CBMC • Control Flow Graph coverage by employing SAT solver

  8. Tools – Testing from EFSM, State Charts • Purposes • Autolink • Creates TTCN test suites • Spec given in SDL, Purpose in MSC • TDE/UML • Takes UML behavior models annotated with additional test data. E.g., coverage requirements, constraints • Generates test cases for C++/Java • Eclipse Plug-In

  9. Fault Injection Techniques • Provided by SP • Gives an overview of different techniques to inject faults into embedded designs • Fault injection is used as experimental dependability validation method.

  10. Case Studies • GSM 11-11 • B-Testing-Tool used for test case generation • Successful • AGEDIS • TGV, GOTCHA used for test case generation • Most interesting: „Lessons learnt“ • ASML EUV machine • Model-based integration and testing method • Addresses costly integration problems • TorX used for test case generation • Successful

More Related