Two Futures of Software Testing

Similar documents
DevelopSense Newsletter Volume 2, Number 2

Activities, Exercises, Assignments Copyright 2009 Cem Kaner 1

The Nature of Exploratory Testing

IT4305: Rapid Software Development Part 2: Structured Question Paper

Developing the Right Test Documentation

How to get the most out of EuroSTAR 2013

Developing Software Testing Courses for Your Staff

Deploying Agile Practices in Organizations: A Case Study

Getting Started with Deliberate Practice

BBST: Black Box Software Testing. Cem Kaner, J.D., Ph.D. Florida Institute of Technology. Workshop on Teaching Software Testing

DIGITAL GAMING & INTERACTIVE MEDIA BACHELOR S DEGREE. Junior Year. Summer (Bridge Quarter) Fall Winter Spring GAME Credits.

A process by any other name

Book Review: Build Lean: Transforming construction using Lean Thinking by Adrian Terry & Stuart Smith

Critical Thinking in Everyday Life: 9 Strategies

A GENERIC SPLIT PROCESS MODEL FOR ASSET MANAGEMENT DECISION-MAKING

Why Pay Attention to Race?

Process improvement, The Agile Way! By Ben Linders Published in Methods and Tools, winter

MSW POLICY, PLANNING & ADMINISTRATION (PP&A) CONCENTRATION

Top Ten Persuasive Strategies Used on the Web - Cathy SooHoo, 5/17/01

Changing User Attitudes to Reduce Spreadsheet Risk

Strategic Practice: Career Practitioner Case Study

From Self Hosted to SaaS Our Journey (LEC107648)

Program Assessment and Alignment

Implementing a tool to Support KAOS-Beta Process Model Using EPF

The Success Principles How to Get from Where You Are to Where You Want to Be

A BOOK IN A SLIDESHOW. The Dragonfly Effect JENNIFER AAKER & ANDY SMITH

No Parent Left Behind

TU-E2090 Research Assignment in Operations Management and Services

The Lean And Six Sigma Sinergy

Introduction to CRC Cards

Major Milestones, Team Activities, and Individual Deliverables

Bluetooth mlearning Applications for the Classroom of the Future

writing good objectives lesson plans writing plan objective. lesson. writings good. plan plan good lesson writing writing. plan plan objective

Thesis-Proposal Outline/Template

Calculators in a Middle School Mathematics Classroom: Helpful or Harmful?

Quality in University Lifelong Learning (ULLL) and the Bologna process

Cognitive Thinking Style Sample Report

Virtually Anywhere Episodes 1 and 2. Teacher s Notes

Testing A Moving Target: How Do We Test Machine Learning Systems? Peter Varhol Technology Strategy Research, USA

Teaching Task Rewrite. Teaching Task: Rewrite the Teaching Task: What is the theme of the poem Mother to Son?

IBM Software Group. Mastering Requirements Management with Use Cases Module 6: Define the System

Ministry of Education, Republic of Palau Executive Summary

A Coding System for Dynamic Topic Analysis: A Computer-Mediated Discourse Analysis Technique

The Role of Architecture in a Scaled Agile Organization - A Case Study in the Insurance Industry

A Pipelined Approach for Iterative Software Process Model

Visit us at:

Naviance / Family Connection

I N T E R P R E T H O G A N D E V E L O P HOGAN BUSINESS REASONING INVENTORY. Report for: Martina Mustermann ID: HC Date: May 02, 2017

AGENDA LEARNING THEORIES LEARNING THEORIES. Advanced Learning Theories 2/22/2016

Geo Risk Scan Getting grips on geotechnical risks

A cognitive perspective on pair programming

ECON 365 fall papers GEOS 330Z fall papers HUMN 300Z fall papers PHIL 370 fall papers

Politics and Society Curriculum Specification

babysign 7 Answers to 7 frequently asked questions about how babysign can help you.

Five Challenges for the Collaborative Classroom and How to Solve Them

The open source development model has unique characteristics that make it in some

Knowledge based expert systems D H A N A N J A Y K A L B A N D E

PREP S SPEAKER LISTENER TECHNIQUE COACHING MANUAL

Generating Test Cases From Use Cases

Life and career planning

WELCOME! Of Social Competency. Using Social Thinking and. Social Thinking and. the UCLA PEERS Program 5/1/2017. My Background/ Who Am I?

Certified Six Sigma Professionals International Certification Courses in Six Sigma Green Belt

White Paper. The Art of Learning

Helping your child succeed: The SSIS elementary curriculum

Financial Aid Services

Introduction. 1. Evidence-informed teaching Prelude

Ministry of Education General Administration for Private Education ELT Supervision

PROCESS USE CASES: USE CASES IDENTIFICATION

University of Toronto Mississauga Degree Level Expectations. Preamble

An Empirical Analysis of the Effects of Mexican American Studies Participation on Student Achievement within Tucson Unified School District

Rubric for Scoring English 1 Unit 1, Rhetorical Analysis

EDITORIAL: ICT SUPPORT FOR KNOWLEDGE MANAGEMENT IN CONSTRUCTION

What is Teaching? JOHN A. LOTT Professor Emeritus in Pathology College of Medicine

Notes on The Sciences of the Artificial Adapted from a shorter document written for course (Deciding What to Design) 1

RAJASTHAN CENTRALIZED ADMISSIONS TO BACHELOR OF PHYSIOTHERAPY COURSE-2017 (RCA BPT-2017) INFORMATION BOOKLET

The Entrepreneurial Mindset Syllabus

Introduction 1 MBTI Basics 2 Decision-Making Applications 44 How to Get the Most out of This Booklet 6

Tap vs. Bottled Water

How People Learn Physics

The SREB Leadership Initiative and its

Improving software testing course experience with pair testing pattern. Iyad Alazzam* and Mohammed Akour

Positive turning points for girls in mathematics classrooms: Do they stand the test of time?

content First Introductory book to cover CAPM First to differentiate expected and required returns First to discuss the intrinsic value of stocks

On-Line Data Analytics

high writing writing high contests. school students student

EECS 571 PRINCIPLES OF REAL-TIME COMPUTING Fall 10. Instructor: Kang G. Shin, 4605 CSE, ;

Red Flags of Conflict

Urban Analysis Exercise: GIS, Residential Development and Service Availability in Hillsborough County, Florida

Lean UX: Applying Lean Principles to Improve User Experience

Quiz for Teachers. by Paul D. Slocumb, Ed.D. Hear Our Cry: Boys in Crisis

STABILISATION AND PROCESS IMPROVEMENT IN NAB

ReFresh: Retaining First Year Engineering Students and Retraining for Success

The Rise and Fall of the

Editor s Welcome. Summer 2016 Lean Six Sigma Innovation. You Deserve More. Lean Innovation: The Art of Making Less Into More

Chamilo 2.0: A Second Generation Open Source E-learning and Collaboration Platform

How to make your research useful and trustworthy the three U s and the CRITIC

ACC 380K.4 Course Syllabus

Mini Lesson Ideas for Expository Writing

Requirements-Gathering Collaborative Networks in Distributed Software Projects

CLASSROOM MANAGEMENT INTRODUCTION

Transcription:

WWW.QUALTECHCONFERENCES.COM Europe s Premier Software Testing Event World Forum Convention Centre, The Hague, Netherlands The Future of Software Testing Two Futures of Software Testing Michael Bolton, DevelopSense, Canada

Two Futures of Software Testing Michael Bolton DevelopSense EuroSTAR November, 2008

Who I Am Michael Bolton (not the singer, not the guy in Office Space) DevelopSense, Toronto, Canada mb@developsense.com +1 (416) 992-8378 http://www.developsense.com

Acknowledgements James Bach some of the material comes from the Rapid Software Testing Course, of which James is the senior author and I am co-author Cem Kaner Bret Pettichord Jerry Weinberg Richard Feynman

Ground Rules There are many strong opinions expressed in this presentation You are welcome and encouraged to challenge and debate them at any time you can share them, too, of course It s up to you to decide whether to apply these ideas in your context don t let anyone (other than, perhaps, your boss) tell you what to do

What is Testing? Testing is questioning the product in order to evaluate it --- James Bach This is the operational definition that we use when we re talking amongst skilled testers.

What is Testing? Testing is a process of empirical technical investigation done on behalf of stakeholders with the intention of revealing quality-related information of the kind that they seek --- Cem Kaner This is the definition that we use when we re trying to emphasize that testers need skills. These definitions are not intended to disagree.

The Four Schools of Testing Bret Pettichord, The Four Schools of Software Testing. Presentation at the Workshop on Teaching Software Testing, Melbourne, FL, 2003. http://www.testingeducation.org/conference/wtst_pettichord_fsofst2.pdf This was an important attempt to understand testing cultures and communities and their principles It s most useful when the communities are viewed sympathetically

The Four Schools of Testing The Analytical or Mathematical School testing is fundamentally an analytical activity; programs can be proven correct by flowcharts and formulae The Routine or Process School testing should be procedurally structured an repeatable, not dependent upon individuals The Quality Control School testers are the owners of quality on the project The Context-Driven School testing must respond and adapt to context the other schools may have valuable things to teach us nothing will guarantee perfect testing

The Dark Future: The Plan is Everything Testing shall be a rigorously planned and controlled process all planning and tests prepared in advance we test only according to documented requirements all testing is verification testing All projects shall take two years (minimum) to give us time to plan All requests for change politely refused

The Dark Future: Change is Controlled Nothing is more important than following our process strictly our clients will understand, of course if they have want to change the requirements, they should have known that from the beginning By insisting that requirements don t change, we can eradicate project risk

The Dark Future: Measurement We measure requirements scope by counting requirements developer output by counting lines of code complexity by counting code branches test coverage by counting test cases product quality by counting bugs the value of testers by counting bug reports

The Dark Future: Putting The Testers In Charge Testers are the quality gatekeepers Testers refuse to test until they have been supplied with complete, unambiguous, up-todate requirements documents Testers sign off on project readiness Testers can block releases

The Dark Future: Promoting Orthodoxy Testers must be certified Testing doesn t require skilled labour All testers have the same skills Testers must be isolated from developers All tests must be scripted Ad hoc testing is banned; variation suppressed Exploration and investigation are luxuries that we cannot afford

The Dark Future: Automation is King Humans are too fallible to detect defects By eliminating the human element, we can eliminate variability and uncertainty Sure, automation takes time and effort to prepare, therefore we must slow down development to let testing (particularly automation) catch up

The Dark Future: Pathologies Places knowledge and learning up front, at the beginning of the project when we know the least about it! Thinking and learning through the project are ignored Treats testing as unskilled work Machines are trusted; human cognition is devalued Measurement is riddled with basic critical thinking errors primarily reification error and rotten construct validity

The Dark Future: Pathologies Testers implicitly run the project when it s convenient for management to let them Even though testers are essentially powerless, they do get blamed for lapses even though bugs have been created by others even though bugs are hidden When testers fail, it s because they should have better requirements, they should have told their bosses and developers what to do

The worst thing about the dark future is

The Bright Future: Skill Is Central Tester skill is at the centre of testing Important skills include critical thinking recognizing bias and thinking errors general systems thinking coping with complexity context-driven thinking coping with changing situations scientific thinking designing and performing experiments cognitive skills learning and using lots of observational modes writing, recording, and reporting diversification of skills and tactics rapid learning programming but not necessarily for all testers

What IS Quality? Quality is value to some person. ---Jerry Weinberg Value is what someone will do (or pay) to have their requirements met Quality is necessarily subjective Decisions about quality are political decisions who has the power and authority to make them?

The Bright Future: Testing is a Service Testing provides services for the rest of the project community The primary role of testing is to provide quality-related information to management Testers do excellent work with insufficient or barely sufficient information under extreme time pressure with the tools that are available (or that they develop quickly) in a way that stands up to scrutiny even when everyone else is breaking the rules Management makes management decisions

The Bright Future: Information In Context Testers are expert communicators Testers identify and frame context to make sure that testing matches the mission Testers seek alternative test approaches, explanations, and perspectives to reduce the possibility that we ll miss important problems Testers are skeptical (but not cynical) empiricists Testers reject bogus metrics most metrics that we currently use in testing are bogus see Kaner and Bond, Software Engineering Metrics: What Do They Measure and How Do We Know?

The Bright Future: Test Activities Testers actively question the product in order to evaluate it Testers focus on risk Testers continuously develop new questions Testing is investigative, as well as confirmatory as in the agile model, developers handle the bulk of the confirmatory testing effort at the unit level where automation is inexpensive and feedback is immediate Testers develop skill in exploratory testing parallel test design, test execution, and learning

The Bright Future: Change Happens Testers expect and embrace change Confirmatory testing serves as a change detector We would love it if the developers embraced unit tests and TDD because it would allow us to obtain greater coverage in less time but ultimately that s their business (and management s), NOT ours Investigative testing changes rapidly depending on what is being investigated and discovered, so test artifacts are lightweight, where appropriate efficient (leaving us more time to run tests) produced in service of a genuine purpose not clerical or bureaucratic not overinvested not wasteful

The Bright Future: Machines Do Mechanical Work Automation assists the testing effort machines do high-speed, simple-oracle tasks people do high-skill, high-cognition tasks Testers do not work from scripts testers do excellent work with concise guidance where recording is important, keep records Testers work from far more than requirements documents testers apply inference, conference, and reference heuristics testers are general-systems thinkers

The Bright Future: Testers Collaborate Many (even most) testers are co-located with developers Testers provide extremely rapid feedback Testers and developers collaborate on testability controllability (scriptable interfaces, easy reconfiguration) visibility (on-screen status, log files) Many testers learn to program many, but not all most testers learn regular expressions and spreadsheet skills test ideas are captured using flexible and lightweight tools

The Bright Future: Narratives vs. Numbers Testers compose, edit, and narrate cogent stories about the product how it can work how it might fail and about their testing what they did, and why what they didn t do, and why and why the testing was good enough Test managers encourage management to reject deceptive quantitative measures example: counting test cases example: counting bugs Testers don t supply numbers without a story

The Bright Future: Testers Focus on the Mission If the mission requires lots of documentation and data, we supply it but we regularly check to make sure that it s adding value I guarantee that someone will leave this presentation claiming that I advocate no documentation, ever I don t advocate that, and this is the documented proof I advocate no documentation that wastes time and effort If the mission requires lots of automated testing, we develop it but we don t stop brain-engaged exploratory tests If the mission requires us to suspend our skills, we do on the understanding that someone else is responsible for the quality of our work

Testers Light The Way This is our role. We see things for what they are. We make informed decisions about quality possible, because we think critically about software. We let management make those decisions.

Testers Light The Way We also think critically about our own work. We question our context and our choices, both of which evolve over time. We question testing folklore. Testing is NOT mythodology.

Learning More: Finding Bugs Lessons Learned in Software Testing by Cem Kaner, James Bach, and Bret Pettichord Testing Computer Software Cem Kaner, Jack Falk, and Hung Quoc Nguyen How to Break Software Whittaker How to Break Software Security Whittaker and Thompson Testing Applications on the Web Hung Quoc Nguyuen Hacking Web Applications Exposed Joel Scambray and Mike Shema

Learning More: Testing Philosophy The Pleasure of Finding Things Out Richard Feynman. Read his Appendix to the Challenger Report. Surely You re Joking, Dr. Feynman! Adventures of a Curious Character Richard Feynman What Do You Care About What Other People Think? Richard Feynman Quality Software Management Vols. 1 4 Jerry Weinberg Anything by Jerry Weinberg

Learning More: Other Wonderful Stuff Please Understand Me David Kiersey The Myers-Briggs Type Inventory, which provides insight into your own preferences and why other people seem to think so strangely The Visual Display of Quantitative Information Edward Tufte How to present information in persuasive, compelling, and beautiful ways A Pattern Language Christopher Alexander et. al A book about architecture even more interesting as a book about thinking and creating similar but unique things like computer programs and tests for them Better Software a most unfortunate name of a most wonderful magazine The Amplifying Your Effectiveness Conference held every November in Phoenix, AZ See http://www.ayeconference.com for details

Learning More: On the Net StickyMinds http://www.stickyminds.com Risks Digest http://catless.ncl.ac.uk/risks Cem Kaner http://www.kaner.com James Bach http://www.satisfice.com Michael Bolton http://www.developsense.com The Florida Institute of Technology http://www.testingeducation.org http://www.testingeducation.org/bbst/index.html

Our Work Is Never Done

Who I Am Michael Bolton (not the singer, not the guy in Office Space) DevelopSense, Toronto, Canada mb@developsense.com +1 (416) 992-8378 http://www.developsense.com