Making Model-Based Testing More Agile: a Use Case Driven Approach



From this document you will learn the answers to the following questions:

What should the three different testing modes be used in an agile project?

On what date did the Haifa Verification Conference take place?

What is a requirement goal in agile testing?

Similar documents
Standard Glossary of Terms Used in Software Testing. Version 3.01

Utilizing Domain-Specific Modelling for Software Testing

Model-Based Testing with a General Purpose Keyword-Driven Test Automation Framework

The next step in test automation: computer-generated tests

Test Automation Framework

Model-based Testing: Next Generation Functional Software Testing

ISTQB Certified Tester. Foundation Level. Sample Exam 1

Technical versus non-technical skills in test automation

Test Automation: A Project Management Perspective

About metrics and reporting in model-based robot assisted functional testing

Software Testing, Mythology & Methodologies

Testing Introduction. IEEE Definitions

SOFTWARE TESTING TRAINING COURSES CONTENTS

Emerging Trends in Software Testing Introduction to course

Industrial Adoption of Automatically Extracted GUI Models for Testing

Codeless Test Automation for Web Apps

Introduction to Automated Testing

TTCN-3, Qtronic and SIP

MODEL BASED TEST DESIGN FOR PERFORMANCE TESTING AND OTHER NON-FUNCTIONAL REQUIREMENTS MATTIAS ARMHOLT ERICSSON AB

Application Modelling

(Refer Slide Time: 01:52)

Industrial Adoption of Automatically Extracted GUI Models for Testing

Creating an Automated Software Testing Center of Excellence

Near Future of Automated Software Testing

Regression Testing Based on Comparing Fault Detection by multi criteria before prioritization and after prioritization

The Importance of Defect Tracking in Software Development

Why Test Automation Fails

WHITE PAPER on Test Automation Framework Using MBT. Dec 2013

Example Software Development Process.

SPECIFICATION BY EXAMPLE. Gojko Adzic. How successful teams deliver the right software. MANNING Shelter Island

Do Your IT Housekeeping with UC4 Workload Automation Suite

Solutions for Quality Management in a Agile and Mobile World

Chapter 4 Software Lifecycle and Performance Analysis

Quality is the responsibility of the whole team

Smarter Balanced Assessment Consortium. Recommendation

Model-Based Spotify. Kristian Karl

Model based testing tools. Olli Pekka Puolitaival

Automated testing for Mobility New age applications require New age Mobility solutions

Best Practices for Improving the Quality and Speed of Your Agile Testing

Chapter 5. Regression Testing of Web-Components

Agile QA Process. Anand Bagmar Version 1.

Observability and Controllability Issues in Conformance Testing of Web Service Compositions

Higher Focus on Quality. Pressure on Testing Budgets. ? Short Release Cycles. Your key to Effortless Automation. OpKey TM

Structuring Product-lines: A Layered Architectural Style

Model Driven Testing AGEDIS Architecture Interfaces and Tools

An Automated Model Based Approach to Test Web Application Using Ontology

The role of integrated requirements management in software delivery.

ájoƒ ùdg á«hô dg áµلªÿg Yesser Overall SDLC Process Definition

D25-2. Agile and Scrum Introduction

a new generation software test automation framework - CIVIM

GUI Testing On Android Application

SoMA. Automated testing system of camera algorithms. Sofica Ltd

Table of contents. Enterprise Resource Planning (ERP) functional testing best practices: Ten steps to ERP systems reliability

Binary Bug - Automatic Binary Trading

An Automated Testing Tool Using UI Structure

Intelligent Human Machine Interface Design for Advanced Product Life Cycle Management Systems

A Technology Based Solution to Move Client Server Applications to Java /.NET in Native 3-Tier Web Code Structures

PROJECT MANAGEMENT PLAN CHECKLIST

HL7 V2 Implementation Guide Authoring and Management Tool --Presentation to IHE-PCD

Testing of safety-critical software some principles

What is the best automation testing approach?

Part I. Introduction

Use software to define silicon p. 15

Quality Assurance - Karthik

Managing Agile Projects in TestTrack GUIDE

Agenda. The Need 4 Speed. Promises of test automation. Quality of the test case. Quality of the test case

How To Improve A Test Process

RUN THE RIGHT RACE. Keep pace with quickening release cycles. Discover automation with the human touch. CHOOSE A TEST TO RUN BELOW

International Journal of Advanced Engineering Research and Science (IJAERS) Vol-2, Issue-11, Nov- 2015] ISSN:

Ten steps to better requirements management.

Software Tool for Implementing RSA Algorithm

Metrics in Software Test Planning and Test Design Processes

What s New in Ghost Solution Suite 3.0

Designing a Software Test Automation Framework

Manage Software Development in LabVIEW with Professional Tools

Software Development Life Cycle (SDLC)

Testing Mobile Applications

A Framework of Model-Driven Web Application Testing

Comparative Study of Automated testing techniques for Mobile Apps

Standard Glossary of Terms Used in Software Testing. Version 3.01

SOFTWARE TESTING PROCESSES PRESENTATION

Visionet IT Modernization Empowering Change

AUTOMATED TESTING and SPI. Brian Lynch

Chapter 3. Technology review Introduction

Continuous User Experience Development

Keywords document, agile documentation, documentation, Techno functional expert, Team Collaboration, document selection;

Getting Started With Automated Testing. Michael Kelly

Functional Validation of SAP Implementation

Transcription:

Making Model-Based Testing More Agile: a Use Case Driven Approach 1 Oct 23 26, 2006 @ Haifa Verification Conference, Israel Mika Katara and Antti Kervinen Tampere University of Technology, Finland

2 Agenda 1. Background 2. Motivation 3. Use-case driven MBT 4. Coverage language 5. Test generation algorithm

3 Background: Generations of GUI Test Automation Data-Driven Scripts Keywords, Action words Structured Test Scripts Capture Replay, Spaghetti Scripts See e.g. Software Test Automation: Effective use of test execution tools By Mark Fewster and Dorothy Graham, Addison Wesley, 1999.

4 and the Future? Model-based testing Automated test execution Manual testing

5 TEMA Project: Academic & Industrial Collaboration Tampere University of Technology/ TEKES, the Finnish Funding Agency for Technology and Innovation Nokia Conformiq Software F-Secure Plenware Group Mercury Interactive A general goal of the project: Industrial deployment of MBT in GUI testing of Symbian S60 smart phones Nokia alone has cumulatively shipped 50 million S60 enabled devices by end of February 2006 (Source: www.s60.com) Disclaimer: these slides represent the views of the presenter, not necessarily the views of the above or any other parties

6 Pros and Cons of Model-Based Testing Pros: Higher level of abstraction helps to concentrate on the right things details are hidden Better chances when fighting against the increasing complexity Models (small ones) can be visualized easier than code better comprehension Automatic test generation better coverage Maintenance should be easier also not much studied subject Cons: Based on reported industrial experiences deployment can be very challenging Modular treatment of large models Bubbles don t crash easier to ignore real problems

7 Domain-Specific Test Modeling of Product Families Domain-specific modeling prefers a stable domain In a product family context there are some parts that stay the same and some things that change Our context: Symbian OS, an operating system for smart phones The look & feel stays the same across the family of phones using S60 GUI platform on top of Symbian OS In our approach, the smart phones are tested through a GUI using commercial test automation software For this purpose, we have defined a domain-specific test modeling language based on action words and keywords

9 Example Action Machine S60 Camera application, action word model Wake TS awverifynocam awstartcam awdeletephoto awcreatemms Sleep TS awverifycam awverifyphoto awverifymms awquit awtakephoto awcancelmms Sleep TS Wake TS Sleep TS Wake TS Allow<UseImage>

10 Example Refinement Machine S60 Camera application, keyword model kwverifytext <Camera> start_awverifycam start_awstartcam kwpresskey<softleft> end_awverifycam kwpresskey<softright> end_awstartcam kwselectmenu<camera>

11 TEMA 3-Tier Test Model Architecture Test Control Tier Test model selection, coverage objectives Test finished, verdict Action Tier: Action Machines Execute high level action Execution finished Keyword Tier: Refinement Machines Execute event Execution status: success or failure Adapter and SUT Antti Kervinen, Mika Maunumaa, and Mika Katara : "Controlling Testing using Three-Tier Model Architecture", Proc. Second Workshop on Model Based Testing (MBT 2006), Vienna, Austria, March 2006.

12 Motivation: Why was this paper written? Even with domain-specific modeling language and model recording it s very difficult to get testers to create test models Comments from industrial partners: If you could disguise your MBT method as an agile approach, it would be much more easier to sell it inside our company. Conventional test automation scripts can be directly derived from requirements, there is a clear mapping between the test and the requirements. MBT lacks this which makes it impractical.

13 Experiences so far Based on our experiences with the prototype implementation of our testing tools, the biggest obstacles in the practical use of our methodology concern the creation of the action word models Moreover, even though the domain-specific language can help domainexperts without programming skills to build models, there is no clear relationship between the models created for testing, and other artifacts, especially the requirements and design documents Another related question is about requirements coverage How can we know when some requirement has been covered by the generated tests?

14 Different Testing Modes We have initially identified three different testing modes that should be supported in an agile project: Firstly, smoke tests are needed for verifying that a build has been successful However, we do not restrict to a static sequence of tests such as in conventional test automation Instead, we may set limits on the duration the test and explore the test model on a breadth-first fashion within those limits Secondly, we need to be able to cover certain requirements Goals are often set in terms of requirements coverage: for example, at least requirements R2 and R4 should be tested Thirdly, we would like to do serious bug hunting In this case our primary motivation is not to cover certain requirements or to stop within few minutes; we try to find as many defects as possible However, requirements can be used to guide the test generation also in this mode Furthermore, the coverage data obtained in the previous test could be used to avoid retesting the same paths again

15 What is a Use Case? Use cases are one of the most popular way to capture requirements The definition of a use case varies in the literature We will use an informal use case format, including three elements: name, identifier and the basic course of action, which is a sequence of event descriptions corresponding to the high-level interaction between the user and the system We will use the following informal use case as a running example: Name: Alice asks Bob to meet for lunch Identifier: UC1 Basic course of action: 1. Alice sends Bob an SMS asking him to meet for lunch 2. Bob replies by sending a multimedia message containing a picture of a bumper taken at a traffic jam and a text I will call you when I ll get there 3. After a while, Bob calls to Alice, but she is talking to Carol so the line is busy 4. After a few minutes Alice calls back to Bob and they agree to meet at the cafeteria All use cases are not equally important: In order to cope with this, some risk-based testing practices should be deployed The use cases must be prioritized based on some formal risk analysis or customer intuition

16 Use Case Driven MBT Since our domain is quite restricted, experts can handle the actual test modeling while testers define test objectives based on use cases On the one hand, use cases should be familiar to most system level testers On the other hand, use cases can help us to solve one re-occurring problem in modelbased testing, i.e., how to restrict the set of generated tests

17 An Action Word Sequence Based on a Use Case

18 Translation into a Sentence in the Coverage Language Example use case: Use cases with the same priority are combined using and and use cases with different priorities with then operator!

19 Coverage Language Design principles: 1. Syntax should be concise and readable 2. Elements can be required to be covered in a free order (and) or in some specific order (then) 3. There can be alternative coverage criteria (or) 4. Criteria can relate to both test environment and test model (action) A test criterion can be fulfilled, for example, if the test run has already taken too long, if some resources in the test system are running low, or if some elements in the test model are covered in sufficient detail 5. Execution paths in the test model must not be restricted by the language We keep the roles of the coverage criteria and the test model separate The test model (alone) specifies what can be tested, whereas the coverage criteria specifies the stopping condition for test runs This enables us to combine different criteria with and, then, and or freely

20 On-line Test Generation Algorithm Greedy bounded-depth search

21 Conclusions There is a mismatch between the artifact produced in agile projects and those needed by conventional MBT We presented an approach for using informal use cases to drive on-line test generation and facilitate reporting in term of requirements coverage The approach is domain-specific and relies on the existence of domain and MBT experts to develop the behavioral test models We also introduced the associated coverage language and test generation algorithm Prototype tools are being developed, industrial case studies have been scheduled For further information contact: Mika Katara mika.katara@tut.fi Visit our web site at http://practise.cs.tut.fi (TEMA project)