Boost your testing, go on a Bug Hunt Klaus Olsen Test Adviser, Softwaretest.dk.

Slides:



Advertisements
Similar presentations
Testing Relational Database
Advertisements

Tips for Training (module 6.2).
Program Management School Agile & ADDIE Add-Up (AAAU) Elliott Masies Learning 2012 October 21-24, 2012.
Test process essentials Riitta Viitamäki,
Automated Software Testing: Test Execution and Review Amritha Muralidharan (axm16u)
Learning and Teaching Conference 2012 Skill integration for students through in-class feedback and continuous assessment. Konstantinos Dimopoulos City.
A Portrait of Scrum Project Management By Nader Khorrami Rad Project Management Professional (PMP) Certified ScrumMaster (CSM) Professional Scrum Master.
Software Quality Assurance Inspection by Ross Simmerman Software developers follow a method of software quality assurance and try to eliminate bugs prior.
Tietojärjestelmien peruskurssi Software engineering Malin Brännback.
Project Plans CSCI102 - Systems ITCS905 - Systems MCS Systems.
March 25, 2002R McFadyen a lightweight approach to software development. about 5 years old has been used at: Bayerische Landesbank, Credit Swiss.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Applied Software Project Management 1 Introduction Dr. Mengxia Zhu Computer Science Department Southern Illinois University Carbondale.
Xtreme Programming. Software Life Cycle The activities that take place between the time software program is first conceived and the time it is finally.
Copyright © 2014 ASTQB Presented by Rex Black, CTAL Introducing ISTQB Agile Foundation Extending the ISTQB Program’s Support Further.
VENDORS, CONSULTANTS AND USERS
BASICS OF DISTRICT BOARD MEETINGS. PURPOSES OF MEETINGS Meetings are fundamental to conducting conservation district business. Meetings are fundamental.
How do you practice Software Testing? By Michael Kelly.
Homework and Motivation
University of Sunderland Professionalism and Personal Skills Unit 1 Professional and Personal Skills.
Leadership Leadership Leadership Leadership For Youth Rania Azmi Business Administration Dept., Faculty of Commerce, Alexandria University Professional.
Extreme Programming Software Development Written by Sanjay Kumar.
Software Quality Assurance Lecture #8 By: Faraz Ahmed.
Putting Your Heads Together How To Form and Effectively Run a Study Group.
CompSci 230 Software Design and Construction
One XP Experience: Introducing Agile (XP) Software Development into a Culture that is Willing but not Ready Joe Bergin * Fred Grossman * David Leip **
Sarah Peterson Amy von Barnes Making “I Can” Statements Easy Supporting Learners – Week 3.
SOFTWARE ENGINEERING1 Introduction. Software Software (IEEE): collection of programs, procedures, rules, and associated documentation and data SOFTWARE.
CS 350, slide set 6 M. Overstreet Old Dominion University Spring 2005.
1.  Describe an overall framework for project integration management ◦ RelatIion to the other project management knowledge areas and the project life.
Managing your time and career: A personal point of view Eckart Meiburg Department of Mechanical and Environmental Engineering University of California,
(A radical interpretation) Tomo Lennox Bow Tie computer services Why Agile Works.
Slide 1 Teams l Most products are too large to be completed by a single software professional with the given time constraints l You will work within a.
Participate in a Team to Achieve Organizational Goal
Introduction to Software Testing. Types of Software Testing Unit Testing Strategies – Equivalence Class Testing – Boundary Value Testing – Output Testing.
From Quality Control to Quality Assurance…and Beyond Alan Page Microsoft.
IT Job Roles & Responsibilities Shannon Ciriaco Unit 2:
WestEd.org Infant/Toddler Reflective Curriculum Planning Process Getting to Know Infants Through Observation.
TESTING LEVELS Unit Testing Integration Testing System Testing Acceptance Testing.
Chapter 6 Prototyping, RAD, and Extreme Programming Systems Analysis and Design Kendall & Kendall Sixth Edition.
Slide B-1 Case 1 You have just received surprising information that requires your group to take a new approach right away. You know the group members are.
Chapter 7 The Practices: dX. 2 Outline Iterative Development Iterative Development Planning Planning Organizing the Iterations into Management Phases.
Meeting Management/Planning. Today Go over basics of meeting management Introduce key elements of creating a plan.
JFK-103B1W2 JFK-102B3W2.  Are you having trouble with your skills?  We can help you with that! Our training program has helped many people all across.
The Software Development Process
Evaluation in the FEEL Project - A Pilot Study Peter Lönnqvist and Hillevi Sundholm The Future Ubiquitous Service Environments Research Group, Stockholm.
AP-1 4. Agile Processes. AP-2 Agile Processes Focus on creating a working system Different attitude on measuring progress XP Scrum.
Fall 2015 ECEn 490 Lecture #8 1 Effective Presentations How to communicate effectively with your audience.
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
Facilitate Group Learning
AGILE XP AND SCRUM © University of LiverpoolCOMP 319slide 1.
Chapter 9* Managing Meetings. Chapter 10/Managing Meetings Hilgert & Leonard © Explain why meetings, committees, and being able to lead meetings.
Conducting Business Meetings Satorre, Joshua Jerem T. ENSP2 Instructor: Mr. Xavier Aquino Velasco - Associate/Lecturer III, FEU Tech.
Unit – I Presentation. Unit – 1 (Introduction to Software Project management) Definition:-  Software project management is the art and science of planning.
Oman College of Management and Technology Course – MM Topic 7 Production and Distribution of Multimedia Titles CS/MIS Department.
HU245 – Ethics Seminar 1 Contact Information Instructor Name and Credentials: Dennis Ford, MA. Instructor Contact Information Kaplan Address:
Meeting Practices Yan Wei Foundation Extreme programming is used Meeting practices are based on extreme programming technology with.
n Taking Notes and Keeping a Journal n Listening Skills n Working Together n Managing Your Time.
Observation System Kidderminster College January 2012.
READING WITH YOUR CHILD USING HIGHER ORDER QUESTIONING TO SUPPORT HOW WE TEACH READING AT SCHOOL AND HOW YOU CAN SUPPORT AT HOME.
Extreme programming (XP) Advanced Software Engineering Dr Nuha El-Khalili.
T Iteration Demo LicenseChecker I2 Iteration
Study Tips For A Great Education In Math.
Maintaining Quality Test Optimization with Increasing Software Complexity Ankit Goyal Software Engineer II Adobe Systems.
VENDORS, CONSULTANTS AND USERS
Advantages OF BDD Testing
Introducing ISTQB Agile Foundation Extending the ISTQB Program’s Support Further Presented by Rex Black, CTAL Copyright © 2014 ASTQB 1.
Introduction If you have got a call for an Agile testing interview, then congratulations are in order. You may be feeling nervous, but it sure to be felt.
Manage testing by time boxes
Six Sigma Introduction 1 1.
Presentation transcript:

Boost your testing, go on a Bug Hunt Klaus Olsen Test Adviser, Softwaretest.dk

Introduction to the concept of a Bug Hunt. Learn and try working with Pair Testing and Exploratory Testing. Hands on experience from a live Bug Hunt executed during this Workshop. Key points of this workshop

Agenda Introduction Test in Pairs Exploratory Testing Bug Hunting - Live Real World Experience

What can be achieve? Case 1; 32 faults identified during 45 minutes bug hunt in software ready for acceptance test according to supplier! Case 2, Bug Hunting during 3 days with participation of developers, designers, architects and testers, in total 20 persons. 60 man days of test executed in 3 calendar days. A conservative estimate of the efficiency is that this equals 75 man days of “normal” work. Case 2 identified 180 faults during 3 calendar days!

When can Bug Hunting be used? When a new release of software is ready for test, a Bug Hunt will very clearly read the temperature ~ quality of the software. As an entry-criteria for new phases. View it as a ”smoke test” executed by people, instead of automated test, if you don´t have any of these. As team-motivation, when test execution becomes day to day work, and the auto-pilot is taking over, a Bug Hunt can be what you need to add extra adrenalin to your test.

Ingredients in a Bug Hunt Test in pair, 2 people with one computer. Exploratory Testing. Different attacks, to make the software break down. Soap opera scenarios, short, wild exaggerated, but with humour and often very good at identifying faults.

Where do Pair Programming come from? First observation was made in the 1950, Fred Brooks, author of ”The Mythical Man Month”, reports that he developed 1500 lines of error free code with a partner, and it worked the first time back in In the early 80´s Larry Constantine reports an observation where developers worked in teams of 2, and produces more code faster and more error free thant ever I the same company. XP wave from 2000 and onwards, Kent Beck´s book eXtreme Programming Explained introduces Pair Programming as part of the Agile movement.

Pair Programming Pair Programming, isn´t just programming, on the contrary, it covers all phases of development, including: Analyse in pair Design in pair Test planning and test execution in pairs Debugging in pair Working in pairs is particular usable when more complex task must be solved, no matter what phase of the project lifecycle.

Flow Which advantages can be reach The higher E-factor we have the more productive we are. We are able to increase this E-Factor by working in Pairs, because: We don´t read and answers mails. We turn on the answer machine on the phone, or only take a message. Other people don´t interrupt, because they can see we are already involved in work with another person. Net effect is longer time without any interruptions. _______________________________ Number of hours without interruptions Number of hours physical at work E-factor = Environmental factor, or E-factor introduced by DeMarco and Lister in Peopleware:

Flow ”.. If there is too little demand on them, people are bored. If there is too much for them to handle, they get anxious. Flow occurs in that delicate zone between boredom and anxiety.” Cortical arousal Job quality Flow Strained concentration Boredom Distracted EuroSTAR2001, Fabian Scarano A state devoid of emotional static, save for a compelling highly motivated feeling and mild ecstasy. Csikszentmihalyi

Which advantages can be reach, 2 Positive pressure from your partner, limited time to solve a defined task, you become more focused. Better solutions are reach in pairs, often more ideas and alternative solutions are discussed, and the best is selected. Courage grow when you are 2, it is possible to try out your ideas in a small forum. Pair review becomes a normal part of your work  4 eyes are better than 2. Knowledge sharing is taking place, about what is important, the things we work with.

Experience from two projects in India 2,3 fault/KLOC 46 Fault identified in integrations test 5,34 fault/KLOC 107 Faults identified in component test 5 Productivity (KLOC/man months) 4 Work carried out (man months) 4 Project group size 20 Project size (KLOC) 0,2 fault/KLOC 82 0,4 fault/KLOC 183 7, Project 2 Pair development Project 1 Solo development Source, page 40 in ”Pair Programming Illuminated” by Laurie Williams and Robert Kessler

Read Hear SeeSee and hearDiscussExperienceTeaching William Glasser Learning... Stephen R. Covey, The 7 Habits of Highly Effective People 

”Exploratory Testing is an interactive process of concurrent product exploration, test design and test execution. To the extent that the next test we do is influenced by the result of the last we did, we are doing exploratory testing.” Exploratory Testing is test we didn´t plan and document prior to test execution. What most of us see as one of the native laws of testing, we must be able to define an expected result before we start testing, isn´t true in exploratory testing. But as an important note, when doing Exploratory Testing we document all faults we identify carefully enough in order for others to reproduce the faults. Exploratory Testing James Bach, Satisfice

When can Exploratory Testing be used? On projects where you don´t have:  Enough time to work with test planning.  Enough time to document test cases with input and expected output data. On projects where there isn´t enough people assigned to testing. On projects without any documented requirement or very weak requirement specification. During Bug Hunting. If Exploratory Testing is used it is recommended that a limit of 50% of all test should be Exploratory Testing.

Exploratory Testing, step by step Exploratory Testing can be described as a goal oriented wandering. There is a mission described in a charter, but there is no planned route you need to take. Create a charter describing what and how and which way you want to test. Describe duration of your test. The two people in the Pair decides whether or not to break down the charter in more details, depending on there own needs. Step 1: Step 2: Step 3:

A famous example “The object of your mission is to explore the Missouri river, & such principal streams of it, as, by its course and communication with the waters of the Pacific ocean...may offer the most direct & practicable water communication across this continent for the purposes of commerce”. - Thomas Jefferson's letter to Meriwether Lewis, June 1803 Robinson, H., Microsoft, Exploratory Modelling

Teach the person next to you Use 3 minutes teaching exploratory testing

Soap opera scenarios They are created with inspiration from real world. They are just much more compact: One week can be presented in a 30 minutes episode on TV! They are much more extreme: lead character gets married, man and wife gets 3 kids, man dies, woman gets married again, 2 more kids are born, one child gets cancer and dies, a love affair from youth arrives and new problems are created, wife leaves man….

Why use soap opera scenarios It is an effective way to team up business domain knowledge with test experienced people. Use pair test design and pair test execution. Test are covering the system under test more broad, this is a black box approach. Less depended on requirement specification. Bigger opportunities to detect ”design holes”. They are fun to create, they challenge your creativity, test becomes interesting instead of boring.

A Bug Hunt is a hunt for faults, with two people sharing one computer. The hunt is executed in a fix time period. It is recommend to use a coach, who can advise new attacks during the hunt. Bells are used to show when a fault is identified. A referee is used to judge if a fault is identified. All faults must be reproducible when the judge is watching. The best fault (most serious viewed from business) is awarded a price. The pair who reported most faults are awarded a price. What is a Bug Hunt

Attacks for hunting Use input values that forces all error messages to be activated Use input data that forces the software under test to re-create default values. Try all possible characters Force the input area into overflow, Use long strings of input, larger than what the application is designed to handle. Force illegal output values. Test with illegal operators and data. Find many more attacks in “How to Break Software” by James A. Whittaker

What attacks do you have experience with? Use 3 minutes talking with the person next to you

Bug Hunting – rules for hunting: Pair people, based on skills and domain knowledge. Create a charter for the Bug Hunt as used in Exploratory Testing. Define a period for how long the Bug Hunt should be, 30, 60 or 90 minutes. Handout paper template documents to be used for each identified faults. Handout bells for each pair to be used when new faults are identified, and the referee is needed to approve it. The referee makes together with the coach the final decision on which faults was the best, and the pair who reported this fault is awarded 1. prize in the Bug Hunt.

Bug Hunting in 1 hour 8 people participated + 1 referee and 1 coach. 45 minutes were used for Bug Hunting, 15 minutes to a short instruction prior to the Hunt. Test of a standard system with customer modification, ready for accept test according to supplier. 32 faults were identified during 45 minutes! Two pairs wanted more time, they were not done, and they were quite sure they could find more bugs! Everybody were fired up, this Bug Hunt was a different approach to testing, but it was also interesting, and test in a complete new way for all participants. Case 1

Experience from case 1 with Bug Hunting Testing in Pairs works: Domain knowledge was actively shared between members of all pairs. Test techniques were discussed and applied. People influence each other, one example were a pair who identified an overflow error, and one of the testers suggested they used this as a thread to investigate other areas where overflow might exist. The sound of bells being used for each bug makes everybody more drawn in. All pairs want to find bugs, and the competition makes everyone focus even more on the task.

Bug Safari 3 days with participation of developers, designers, architects and testers, in total 20 persons: DAY 1: Understand the system under test, read documentation, product exploration, test positive test cases, testing things expected to be working DAY 2: Exploratory Testing with different attacks. DAY 3: Exploratory Testing with use of soap opera scenarios In larger scale, a Bug Safari can be a way to catch up for lost time, and at the same time measure the quality of the project. Case 2

Good planning was a big advantage One room, where all people from the project were present, and all questions arised could be answer by at least one person. One person controlled all faults in order to make sure that only new faults were reported. Faults were reported on paper, using a template handed out prior to the bug hunt. A secretary was assigned to log all faults in a fault-log tool in order to keep the database with faults updated at all times, this was used to extract a fault curve. The result were a higher “E-factor”. The actually 60 man days, was judge to be closer to a normal effort of 75 man days, when measuring the effectiveness. This is an increase of 25%! Case 2

:0009:0010:0011:0012:0013:0014:0015:0016:0008:0009:0010:0011:0012:0013:0014:0015:0016:0008:0009:0010:0011:0012:0013:0014:0015:0016:00 Reporting hour Fault reporting hour by hour in a Bug Safari Accumulated number of faults New techniques used for attacks Soap opera test Test with new domain knowledge Case 2

Experience from case 2 with Bug Hunting Knowledge sharing between all members of the project: On domain, how should the product be used On design ideas as they were thought out original, what was the thought behind the design, at the time it was created On programs, why have they been developed as they have, told by the programmers who did it The test team gained respect form all colleagues, the number of bugs identified in 3 days showed test was very necessary. The curve of faults reported was slowing down end of day 3, this was viewed as a sign of less defect density. Signal value, quality is important, test works.

More information  Peopleware  Tom DeMarco and Timothy Lister  ISBN  How to Break Software  James A. Whittaker  ISBN   The Mythical Man-month  Frederick P. Brooks  ISBN  Pair Programmig Illuminated  Laurie Williams and Robert Kessler  ISBN  eXtreme Programming eXplained  Kent Beck  ISBN  More on Exploratory Testing see  James Bach and his web-site: 

Klaus Olsen, biography  Founder and owner of the company Softwaretest.dk  Has used the past 15 years to focus on software testing, test process improvements and teaching  Author of “Softwaretest – how to get started” in Danish  Certified ScrumMaster  Trustee in TMMi Foundation  Member of ISTQB Board, representing Denmark  Co-author of ISTQB Foundation and Advanced Syllabus  Other presentations:  EuroSTAR´98 in Münich, Germany.  Second World Congres on Software Quality 2000 in Yokohama, Japan.  EuroSTAR´2001 in Stockholm, Sweden.  Quality Week 2001 in San Francisco, USA.  EuroSTAR´2003 in Amsterdam, Holland.  ASTA 2007 in Seoul, Korea.  Contact Klaus by mail

Charter as template and documentation