140 likes | 272 Views
Efficient Reuse of Domain-Specific Test Knowledge: An Industrial Case in the Smart Card Domain. Nicolas Devos , Christophe Ponsard , Jean-Christophe Deprez Software and System Engineering CETIC research center Charleroi, Belgium nd | cp | jcd @cetic.be.
E N D
Efficient Reuse of Domain-Specific Test Knowledge:An Industrial Case in the Smart Card Domain Nicolas Devos, Christophe Ponsard, Jean-Christophe Deprez Software and System Engineering CETIC research center Charleroi, Belgium nd | cp | jcd @cetic.be Renaud Bauvin, BenedicteMoriau, Guy Anckaerts, Quality, Security and Control STMicroelectronics Belgium Zaventem, Belgium renaud.bauvin | benedicte.moriau | guy.anckaerts @st.com
Introduction • A significant research effort has been spent on automating the testing process, from replay, to the use of scripting, keyword abstraction and even automated test generation from models (MBT- Model-Based testing) • Questioning Pattern or QPattern, facilitates sharing test strategies across projects in the same domain and between test team members. • A specific domain from which the test reuse problem is strongly present and which is at the source of the present work is the smart card domain.
Main Contribution • Processes for facilitating the recording, classification and application of QPattern to instantiate test cases, • A comprehensive QPattern library elicited from current practices and validated on few applications in the smart card sector, • A software tooling support for managing the Qpattern related processes in the smart card industry, • A case study to validate a few issues related to the return-on-investment of using QPatterns in the smart card sector.
QUESTIONING PATTERNS FOR TEST STRATEGY REUSE • A QPattern groups a set of test-related questions on a given aspect to be tested • each test case template must be mapped to at least one test type • Questions are formalized • Questions can be separated in two categories: • Structural patterns & Technical patterns • The links between patterns are formalised using rules referring to other pattern Ids. • A pattern hierarchy is defined using a ‘Parent’ link.
QUESTIONING PATTERNS FOR TEST STRATEGY REUSE • Advantages: • The pattern library forms a body of knowledge • answering to a series of pertinent questions systematically guiding the tester to identify relevant classes of test cases for the system under test. • The regular structure of the QPattern library makes it easy to propose tool support.
INDUSTRIAL CASE ON SMART CARD APPLICATIONS • A. The Smart Card Context • GET CHALLENGE & EXTERNAL AUTHENTICATE • Internal data • finite state machines • B. Smart Card Testing and Challenges
INDUSTRIAL CASE ON SMART CARD APPLICATIONS • C. Specific Tool Support for the Smart Card Domain • Pattern Instantiation Tool • support instantiating the patterns, generating • test plans and test scripts • Pattern Maintenance Tool • defining and managing the evolution of the patterns content.
D. Initializing the QPatternLibrary • 1) Organisation and Awareness • Interviews were then conducted within the whole team • 2) Domain Specific Modelling
3) QPatternIdentification • Interview-> Variability points->QPatterns • 4) QPatternStructuring • Partial view of the result
E. Instantiation and Evolution of the QPattern Library to Project • 1) Instantiation(iteration) • 2) Evolution • Comparing the resulting list of tests to existing test scripts allows identifying the reformulation of questions and tests and adding the missing tests or patterns
F. Validation in the Smart Card Sector • tested on 4 projects of incremental complexity: starting from a toy project with 3 commands, less than 10 data elements (internal/incoming/outgoing included) to a real application with around 20 commands including commands of different type, internal state machines, etc.
1) About Adoption and Knowledge Transfer • 2) About Specifications Completeness • 3) About Test Case Standardisation and Completeness • G. Threat to Validity • Scalability of the approach • Maturity • Transposition to other domains