What do we know about exploratory testing? Implications for Practice

Slides:



Advertisements
Similar presentations
More and Better Test Ideas Rikard Edgren TIBCO Spotfire EuroSTAR share one-liner test ideas.
Advertisements

Test process essentials Riitta Viitamäki,
Thoughts on Systematic Exploratory Testing of Important Products James Bach, Satisfice, Inc.
Test Automation Success: Choosing the Right People & Process
Agile Testing and/or Agility in Testing? Juha Itkonen SoberIT Teknillinen Korkeakoulu Test Summit, , Savonlinna.
SEP1 - 1 Introduction to Software Engineering Processes SWENET SEP1 Module Developed with support from the National Science Foundation.
ACTIVELY ENGAGING THE STAKEHOLDER IN DEFINING REQUIREMENTS FOR THE BUSINESS, THE STAKEHOLDER, SOLUTION OR TRANSITION Requirements Elicitation.
Audit Guidance Using the Federal Information System Controls Audit Manual (FISCAM) to Achieve Audit Objectives in Financial and Performance Audits Mickie.
Performance Appraisal
Instant Data Analysis (IDA): Evaluating Usability in a Day Jesper Kjeldskov Mikael B. Skov Jan Stage.
COMP8130 and COMP4130 Adrian Marshall Verification and Validation Exploratory Testing Adrian Marshall.
Software Testing. “Software and Cathedrals are much the same: First we build them, then we pray!!!” -Sam Redwine, Jr.
© Pearson Education Limited, Chapter 6 Fact-finding Transparencies.
Testing - an Overview September 10, What is it, Why do it? Testing is a set of activities aimed at validating that an attribute or capability.
Hazard Analysis and Critical Control Points
Capability Maturity Model
Light64: Lightweight Hardware Support for Data Race Detection during Systematic Testing of Parallel Programs A. Nistor, D. Marinov and J. Torellas to appear.
Descriptive and Causal Research Designs
NETWORK RECRUITMENT IT SKILLS SURVEY March, 2013 NITESKE MARSHALL Network Recruitment MD DEVELOPING RELATIONSHIPS, DELIVERING RESULTS
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
Or how to find bugs faster…
An Educational Computer Based Training Program CBTCBT.
On the Testing Maturity of Software Producing Organizations Mats Grindal Jeff Offutt Jonas Mellin.
Developing Business Practice –302LON Introduction to Business and Management Research Unit: 6 Knowledgecast: 2.
N By: Md Rezaul Huda Reza n
Best Practices By Gabriel Rodriguez
Sampling: Theory and Methods
Assessing the SoP of MBE in the Embedded Systems Domain Xubo Miao MSc, School of Computing Supervisor: James R. Cordy.
Managerial Case Study 1 By Amy Albaugh, Michael Bolin, Yonathan Garnelo, Jason Contino.
Descriptive and Causal Research Designs
Mining and Analysis of Control Structure Variant Clones Guo Qiao.
© 2012 WIPRO LTD | 1 Structured Exploratory Testing – Method in Madness Vivek Devarajan Senior Consultant, Wipro Technologies.
STD/PASS/TAGS – Trade and Globalisation Statistics STD/SES/TAGS – Trade and Globalisation Statistics WPTGS 16 th – 18 th November 2009, Paris Software.
What Do We Know about Defect Detection Methods P. Runeson et al.; "What Do We Know about Defect Detection Methods?", IEEE Software, May/June Page(s):
Fact-finding Transparencies 1. ©Pearson Education 2009 Objectives When fact-finding techniques are used in the database system development lifecycle.
Experimentation in Computer Science (Part 1). Outline  Empirical Strategies  Measurement  Experiment Process.
Usability Testing Chapter 6. Reliability Can you repeat the test?
Worlds First Professional CDT Education By Martin Nilsson.
Database Analysis and the DreamHome Case Study
Putting Assessment into Practice - Library Websites Steve Burks, LIS Web Developer Saint Michael’s College Library
1 ©2013 Cengage Learning. All Rights Reserved. May not be scanned, copied or duplicated, or posted to a publicly accessible website, in whole or in part.
Faculty Satisfaction Survey Results October 2009.
Chapter Eleven The entire group of people about whom information is needed; also called the universe or population of interest. The process of obtaining.
McGraw-Hill/Irwin © 2003 The McGraw-Hill Companies, Inc., All Rights Reserved. 6-1 Chapter 6 CHAPTER 6 INTERNAL CONTROL IN A FINANCIAL STATEMENT AUDIT.
Experimentation in Computer Science (Part 2). Experimentation in Software Engineering --- Outline  Empirical Strategies  Measurement  Experiment Process.
CHAPTER OVERVIEW Say Hello to Inferential Statistics The Idea of Statistical Significance Significance Versus Meaningfulness Meta-analysis.
Final Year Project 1 (FYP 1) CHAPTER 1 : INTRODUCTION
World Conference – Next Generation Testing 08 – 12 July, Le-Meridien, Bangalore Mindmaps and Exploratory Testing Ajay Balamurgadas Meeta Prakash
Dynamic Testing.
A PROJECT REPORT On Total Quality Management in Manufacturing Organization In partial fulfillment o f the requirement for the award of the degree IN [
Company LOGO. Company LOGO PE, PMP, PgMP, PME, MCT, PRINCE2 Practitioner.
The Federal Telework Program U.S. Office of Personnel Management.
Introduction to Software Testing Maili Markvardt.
Verification vs. Validation Verification: "Are we building the product right?" The software should conform to its specification.The software should conform.
UKZN Employee Engagement Survey – 2013 Overall Report 1.
Evidence-Based Practice Working Group Focus Group Guide NCCCP Experiences with Using/Implementing the Template for Community Outreach (TCO) Brenda Adjei,
1 KULIAH 2B Survey Design PM Abdul Majid Ismail Ir.M Nawawiy Ir.Dwira.
Chapter 8 Introducing Inferential Statistics.
Logic of Hypothesis Testing
Concepts used for Analysis and Design
WHITEBOX TESTING APPROACH
Introducing ISTQB Agile Foundation Extending the ISTQB Program’s Support Further Presented by Rex Black, CTAL Copyright © 2014 ASTQB 1.
Chapter 10 – Software Testing
Capability Maturity Model
Capability Maturity Model
Manage testing by time boxes
SE2832- Introduction to Software Verification
Exploring Exploratory Testing
Exploratory Testing Techniques : Finding Software Defects.
Presentation transcript:

What do we know about exploratory testing? Implications for Practice

Exploratory testing Definition How it is used in industry How it performs in comparison with scripted testing Implications for practice

Definitions

Definition Exploratory software testing is a style of software testing that emphasizes the personal freedom and responsibility of the individual tester to continually optimize the value of her work by treating test-related learning, test design, test execution, and test result interpretation as mutually supportive activities that run in parallel throughout the project Cem Kaner

Further definitions Simultaneous learning, test design and test execution (James Bach) Any testing to the extent that the tester actively controls the design of the tests as those tests are performed and uses information gained while testing to design new and better tests Purposeful wandering, navigation through a space with a general mission, but without a pre-scripted route. Exploration involves continuous learning and experimenting. (Kaner, Bach and Petticord) Exploratory testing is not a testing technique. It is a way of thinking about testing. Techniques may be used in a exploratory way or support it.

Misconceptions ET is not structured, ad-hoc, does not provide tracking, and has no procedure for reporting defects Ways of giving structure to it: – Test heuristics (guided by project environment quality criteria, product elements) – Charters (goal, coverage, time-frame) – Time-boxing – Mission

There is a spectrum (cf. Jon Bach) Pure scripted freestyle vague scripts fragmented test cases charters roles Let yourself be distracted…You never know what you’ll find (explore interesting areas of the “search space”) Make sure to go back to your mission periodically Exploration Space (e.g. given by Mission) Cf. Kaner and Bach

Industry practice

Survey Practitioners in Estonia, Finland, and other countries (total 61 responses) Evenly distributed sample with regard to number of employees in company Testers are experienced (over 90% have two years of experience or more, over 40% five years and more) Primary roles were testers and test managers The software tested was mostly usability critical, performance critical, and safety critical

State of practice (1/3) 88% of respondents used exploratory testing (self-selection bias) Only a few people (25 % of respondents) are using a tool Mind map tools mostly used Only few tools used may indicate (a)The tool support is not sufficient/accessible (b)Practitioners do not feel a need for tool support

State of practice (2/3) ET is primarily used for system, integration acceptance, and usability testing, but also security testing. The most frequently implemented practices to support ET are time-boxing, sessions, mission statements or charters, defect log, and a test log

State of practice (3/3) Most significant benefits are: support of creativity, testing becomes interesting, and is Only few negative experiences

ET vs ST … and the need to experiment

Comparing ET and ST Experimental set-up – Two treatments, ET and ST – Subjects were 24 industry practitioners and 46 M.Sc. Students Instrumentation – Testing an open source text editor with seeded defects – ST group receives test design document and test reporting document restricting their exploration space; first do design then execution – ET group received test charter and logging document (Bach’s session based testing) Experimental data – True defects (considering difficulty of finding, type, severity) – False defects Also survey conducted

Comparison results (1/2) True defects – ET detected significantly more defects (8.342 mean defect count in comparison to for ST). – Within the same time frame ET was more effective Difficulty of defects – ET allows to find a significantly larger number of defects regardless of difficulty levels – ET achieved higher percentages for hard to find defects relative to other types of defects ModeETST Mode 0 = easiest25%35% Mode 140%44% Mode 225%18% Mode 3 = hardest10%3%

Comparison results (2/2) Type of defects – Overall ET found more defects in defect categories – ST revealed a higher percentage of GUI and usability defects (would be expected for ET) Severity of defects – ET detects more defects across all severity levels – ET detects more severe and critical defects, while ST detects more negligible, minor, and normal defects SeverityET (% distr.)ST (% distr) Negligible Minor Normal Severe Critical

Implications ET provides interesting results (powerful on larger parts of the system – integration, acceptance) Not widely used on unit testing level Finds different defects (scripted testing may complement) Overall empirical results indicate positive outcomes for ET Proposition: The effectiveness testing could be increased by combining both exploratory and scripted testing

Hybrid testing (HT) processes Advantages of one approach are often disadvantages of the other Developed a hybrid process combining exploratory and scripted testing Very early results indicate that: – For defect detection efficiency we should do ET – For high functional coverage we should do HT – If we would like to achieve the best from the combination we should do HT – ET performs best for experienced testers, but worse for less experienced