Exploratory Testing – an improved approach

Slides:



Advertisements
Similar presentations
Critical Reading Strategies: Overview of Research Process
Advertisements

Facilitated by Joanne Fraser RiverSystems
OOAD – Dr. A. Alghamdi Mastering Object-Oriented Analysis and Design with UML Module 3: Requirements Overview Module 3 - Requirements Overview.
Use Case & Use Case Diagram
Experiential Learning Cycle
Requirements Engineering n Elicit requirements from customer  Information and control needs, product function and behavior, overall product performance,
Fundamentals of Information Systems, Second Edition
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
IS550: Software requirements engineering Dr. Azeddine Chikh 4. Validation and management.
Course Instructor: Aisha Azeem
Handouts Software Testing and Quality Assurance Theory and Practice Chapter 11 System Test Design
Test Design Techniques
What is Business Analysis Planning & Monitoring?
Learning Styles and Exploratory Testing Andy Tinkham Florida Institute of Technology
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
Copyright Course Technology 1999
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
Requirements Analysis
Copyright 2002 Prentice-Hall, Inc. Chapter 1 The Systems Development Environment 1.1 Modern Systems Analysis and Design.
ITEC224 Database Programming
Demystifying the Business Analysis Body of Knowledge Central Iowa IIBA Chapter December 7, 2005.
Business Analysis and Essential Competencies
Team Skill 6: Building the Right System From Use Cases to Implementation (25)
1. 2 IMPORTANCE OF MANAGEMENT Some organizations have begun to ask their contractors to provide only project managers who have been certified as professionals.
Centro de Estudos e Sistemas Avançados do Recife PMBOK - Chapter 4 Project Integration Management.
 CS 5380 Software Engineering Chapter 8 Testing.
S7: Audit Planning. Session Objectives To explain the need for planning To explain the need for planning To outline the essential elements of planning.
Requirements Engineering Requirements Elicitation Process Lecture-8.
1.  Describe an overall framework for project integration management ◦ RelatIion to the other project management knowledge areas and the project life.
What is a Business Analyst? A Business Analyst is someone who works as a liaison among stakeholders in order to elicit, analyze, communicate and validate.
Requirements Artifacts Precursor to A & D. Objectives: Requirements Overview  Understand the basic Requirements concepts and how they affect Analysis.
Audit Planning. Session Objectives To explain the need for planning To outline the essential elements of planning process To finalise the audit approach.
ISM 5316 Week 3 Learning Objectives You should be able to: u Define and list issues and steps in Project Integration u List and describe the components.
Software Architecture and Design Dr. Aldo Dagnino ABB, Inc. US Corporate Research Center October 23 rd, 2003.
Introduction to Software Testing. Types of Software Testing Unit Testing Strategies – Equivalence Class Testing – Boundary Value Testing – Output Testing.
Black Box Testing Techniques Chapter 7. Black Box Testing Techniques Prepared by: Kris C. Calpotura, CoE, MSME, MIT  Introduction Introduction  Equivalence.
1 Introduction to Software Engineering Lecture 1.
Formulating a Simulation Project Proposal Chapter3.
User Interfaces 4 BTECH: IT WIKI PAGE:
Use Case Diagram The purpose is to communicate the system’s functionality and behaviour to the customer or end user. Mainly used for capturing user requirements.
Fundamentals of Information Systems, Second Edition 1 Systems Development.
LEARNING STYLES: How do you learn the best? Presented by: Annette Deaton Coordinator of Orientation Services.
Chapter 3: Software Project Management Metrics
Project quality management. Introduction Project quality management includes the process required to ensure that the project satisfies the needs for which.
The Software Development Process
Chair of Software Engineering Exercise Session 6: V & V Software Engineering Prof. Dr. Bertrand Meyer March–June 2007.
Human Computer Interaction
Software Quality Assurance and Testing Fazal Rehman Shamil.
Unit – I Presentation. Unit – 1 (Introduction to Software Project management) Definition:-  Software project management is the art and science of planning.
UML - Development Process 1 Software Development Process Using UML.
SCOPE DEFINITION,VERIFICATION AND CONTROL Ashima Wadhwa.
Use Case Diagrams. Introduction In the previous Lecture, you saw a brief review of the nine UML diagrams. Now that you have the clear, you'll start to.
Stage 1 Integrated learning Coffee Shop. LEARNING REQUIREMENTS The learning requirements summarise the knowledge, skills, and understanding that students.
Copyright 2015 John Wiley & Sons, Inc. Project Planning Part II.
The Project Management Process Groups
Chapter 33 Introduction to the Nursing Process
SOFTWARE TESTING Date: 29-Dec-2016 By: Ram Karthick.
PREPARED BY G.VIJAYA KUMAR ASST.PROFESSOR
Project Management BBA & MBA
Identify the Risk of Not Doing BA
SAD ::: Spring 2018 Sabbir Muhammad Saleh
Fundamental Test Process
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.
Applied Software Project Management
Using Use Case Diagrams
Applying Use Cases (Chapters 25,26)
Applying Use Cases (Chapters 25,26)
Manage testing by time boxes
Exploring Exploratory Testing
Presentation transcript:

Exploratory Testing – an improved approach by Jayapradeep Jiothis Narendra Kumar

Agenda Introduction. Existing formalized methods. Improvements. Orthogonal arrays, Decision tables,State diagrams. Team Management. Applying in Corporate world.

Introduction What is Exploratory Testing ? How is it different from Ad hoc Testing ? Where does ET fit ? Characteristics of Exploratory tester. Learning styles and ET. Styles of Exploration. Pros and Cons of ET.

What is ET ? "Exploratory testing involves simultaneously learning, planning, running tests, and reporting / troubleshooting results." - Dr. Cem Kaner. "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 test we did, we are doing exploratory testing.” - James Bach.

How is it different from Ad hoc Testing ? “It is an impromptu and unrehearsed testing to uncover the bugs with no mission or goal.”

Ad Hoc Vs ET Increasing degree of ET Ad hoc testing Pure Scripted testing Charters Vague Scripts 0 100 Documentation(%)

Where does ET fit ? No specifications or little documentation available. No time to specify,script and test. Thread Pulling. When the application does not have any future releases. ET can be associated with scripted testing to improve the coverage. To help assess risks. When there is open communication between development and testing teams.

Characteristics of Exploratory Tester : Design and Excel : An exploratory tester is first and foremost a Test Designer. The excellent exploratory tester is able to craft tests that systematically explore the product. One way to approach it is to consider it a questioning process. To design a test is to craft a question for a product that will reveal vital information.

Characteristics of Exploratory Tester : …contd Hawk eyes : Excellent exploratory testers are excellent observers . The exploratory tester must watch for anything unusual mysterious, or otherwise relevant to the testing. Exploratory testers must be careful to distinguish observation from inference(even under pressure) and avoid to allow preconceived assumptions to blind them.

Characteristics of Exploratory Tester : …contd Critical Thinking : Excellent exploratory testers are able to review and explain their logic, looking for errors in their own thinking. Break the Rules : Exploratory tester clears their mind from the shackles of the past, thinks creatively and laterally, to produce better ideas.Use heuristics to accomplish this.

Characteristics of Exploratory Tester : …contd Race up the learning curve : Excellent exploratory testers climb learning curves more quickly than most. Intelligence helps but its more a matter of skill and practice that is build over a period of time. Rich Resources : Excellent exploratory testers build a deep inventory of tools,information sources, test data, and friends to draw upon. While testing, they remain alert for opportunities to apply those resources to the testing at hand.

Characteristics of Exploratory Tester : …contd Manage and Succeed : Excellent exploratory testers know the value of their precious time.They differentiate between a dead end and a promising lead. They follow their main mission while taking deviations to ensure the coverage. Keep Track : Excellent exploratory tester keeps track of what was tested, techniques used and risks the tests were intended to explore, and how they relate to the mission of testing.

Learning Styles and ET: A learning style is a characteristic strengths and preferences in the ways they take in and process information. Sensory/Intuitive : Preferred type of information. Visual/Verbal : Preferred mode of information received. Active/Reflective : Preferred organization of information. Inductive/Deductive : Information processing approach. Sequential/Global : Preferred way of understanding. This is based on an informal survey of a small number of testers by Andy Tinkham and Cem Kaner. Reference “Learning Styles and Exploratory Testing”.

Learning Styles and ET : …contd Sensory/Intuitive A sensory learner preferentially perceives information by the external senses.Examples :Sights , Sounds , Physical sensations.etc. The sensory-based person focuses on the details gained on actual observations. Inclined to develop a standard pattern for approaching exploratory testing. An intuitive learner perceives information relies on the internal information (generated from memory, conjecture, and interpretation) and intuition. The intuitor focuses on the internal model , applies risk-based approach and different theories of error to the software.

Learning Styles and ET : …contd Visual/Verbal Visual learners perceive information from visual images such as pictures, movies, diagrams or demonstrations.They tend to work off an internal model that is picture-based.They make diagrams and pictures for their notes as they explore. Verbal learners perceive information hearing (or reading) to lectures, written words, and mathematical formulas.They use a textual model like descriptions for their testing.

Learning Styles and ET : …contd Inductive/Deductive An inductive learner prefers to work from specifics and derive the generalities.They gather as many specifics as possible along with the historical data and generalize them to the application. A deductive learner starts with the generalities and applies them to the specific situations they encounter.They apply guidelines and heuristics immensely in their approach.

Learning Styles and ET : …contd Active/Reflective : Active learners experiment with the information they receive and like to work in groups and find solutions. They do very rapid hands-on testing.They solicit the feedback from the teams. Reflective learners prefer to think about information before they use it and tend to work alone.They have a thought process that precedes each test.They make up for their lack of speed by executing the “good” tests that are most likely to find bugs.

Learning Styles and ET : …contd Sequential/Global Sequential learners learn in a logically structured incremental manner. They follow “linear reasoning processes”. The sequential tester will seem to get off to a faster start and test plans will grow in complexity over time as the understanding deepens. Global learners learn in chunks and have a holistic view of the information. A global tester will get off to a slower start. They need demonstrations on the application.Once the understanding is complete , he creates complex tests and can catch the bugs which are normally not seen.

Styles of Exploration : Hunches Error handling Examples Troubleshooting Models Group Insight Specifications Invariances Interference

Styles of Exploration : …contd Hunches : Intuitions  Interrogative  Analogous  Hearsay Trace Changes

Styles of Exploration : …contd Examples : Use Cases Simple Walkthroughs  Positive Thinking Scenarios Soap Operas

Styles of Exploration : …contd Models : Architecture diagrams Bubble diagrams       Relationships  Requirements definition  Functional relationship (for regression testing) Failure models

Styles of Exploration : …contd Invariances : Tests that change things that should have no impact Example: Printing a word document or a power point.

Styles of Exploration : …contd Interferences : Interrupt Alter Terminate Suspend Switch Contend.  

Styles of Exploration : …contd Error Handling : Check if errors and exceptions are handled correctly. Specifications : Heuristics User Manual Active reading

Styles of Exploration : …contd Group Insights : Brainstormed test lists Group discussion of related components Fishbone analysis Paired Exploratory Testing Troubleshooting : Bug Analysis. Bug regression.

Pros and Cons of ET: Pros :- Does not require extensive documentation. Responsive to changing scenarios. Under tight schedules, testing can be more focused depending on the bug rate or risks. Improved coverage.

Pros and Cons of ET: Cons :- Dependent on the tester’s skills. Test tracking not concrete. More prone to human error. No contingency plan if the tester is unavailable.

Formalised Methods of ET What is Formalised ET ? Scripted Testing vs Formalised ET What does ET achieve ? Approaches used for Formalised ET

What is Formalised ET ? A structured and reasoned approach to exploratory testing is termed as Formalised ET. This approach consists of specific tasks, objectives, and deliverables that makes it a systematic process. Using the systematic approach, arrive at an outline of what to achieve what to attack what would be the scope what effort to spend Applying planning to Exploratory Testing, we have Exploratory Planning.

Scripted Testing Vs ET Increasing degree of formalised ET Ad hoc testing Pure Scripted testing Charters Vague Scripts 0 100 Documentation(%)

What does Formalised ET achieve? How much planning is done with ET? How do you execute the tests with ET? What kind of documentation is produced with ET? How to use Pair Testing with ET?

Approaches used for Formalised ET Identify the application domain Identify the purpose Identify the primary and secondary functions Identify the workflows Identify the break points Identify the UI standards

Approaches used for Formalised ET …contd Identify the expected results Identify the the interfaces with other interfaces/external applications Record failures Document the issues and questions Decomposing the activites to smaller tasks Charter – states the goal and the tactics to be used

Approaches used for Formalised ET …contd Session Based Test Management (SBTM) It’s the concept of Testing in Sessions A session, is not a test case or bug report, is the basic testing work uninterrupted unit of reviewable, chartered test effort. It operates within a documented process structure and produces records that complement verification documentation. Reference :“Session-Based Test Management” by Jonathan Bach (first published in Software Testing and Quality Engineering magazine, 11/00)

Approaches used for Formalised ET …contd UnInterrupted : No significant disturbances during the testing( e.g mails, calls, meetings etc.). Reviewable : A report , typically called a Session Sheet is produced on the testing performed which can be comprehended by competent authority and client. Chartered : States the ‘What’ and ‘How’ of testing and the issues to look for.It is not suggested to make it a detailed plan.

Approaches used for Formalised ET …contd We can separate test sessions into broadly 3 tasks(called the TBS metrics) : Test design and Execution: Scanning the product and looking for problems. Bug investigation and Reporting : Begins when the tester stumbles on something what typically looks to be a fault. Session Setup : Setting up the test environment and improving the understanding of the product.

Approaches used for Formalised ET …contd SBTM uses a very generalized light weight report called the Session Sheet. A Session sheet consists of: Session charter Data files Tester name(s) Test notes Date and time started Issues Task breakdown (the TBS metrics) Bugs

Approaches used for Formalised ET …contd Each session is debriefed. During debriefing the manager reviews the session sheets, makes improvements to the charters, gets feedback from the testers and estimates and plans made for further sessions. Agenda for debriefing session is :PROOF Past : What happened during the session? Results : What was achieved during the session? Outlook : What still needs to be done? Obstacles : What got in the way of good testing? Feelings : How does the tester feel about all this?

Approaches used for Formalised ET …contd Defect Driven Exploratory Testing: Defect Driven Exploratory Testing (DDET) is a goal oriented approach focused on the critical areas identified on the Defect analysis study based on Procedural Testing results. Scripted Tests Bug Reports DDET *Reference: Defect Driven Exploratory Testing, Ananthalakshmi H.V,SISL

Approaches used for Formalised ET …contd DDET: The Pre-Requisites for productive DDET are : In-depth knowledge of the product. Procedural Testing has to be carried out. Defect Analysis based on Scripted Tests. Key advantages of DDET are : Tester has clear clues on the areas to be explored. No wastage of time. Goal oriented approach , hence better results.

Approaches used for Formalised ET …contd DDET: Scripted Testing

Approaches used for Formalised ET …contd DDET: Applying DDET

Approaches used for Formalised ET …contd DDET: Normal ET Time Defects Formalized ET DDET

Improvements Improvements Test Session Sheets Metrics Improved Approaches using ET Using DDET / RDET.

Improvements Test Session Sheets Charter \ Mission Areas Covered …contd Test Session Sheets Charter \ Mission Areas Covered Strategy Used Session Sheet Session and Tester details TBS metrics Test Notes Anomalies Questions Issues

Improvements Why “Test Session Sheets” ? …contd Why “Test Session Sheets” ? Documented record for regulatory purposes. Managers can have track of quantum of testing. Client can have track of billable hours. Standardized reporting mechanism across the organization. Prevents overlapping of the areas covered. Acts as a feedback medium. Provides the structure for organization and management.

Improvements Metrics Helps determine Test Coverage details. …contd Metrics Helps determine Test Coverage details. Helps in debriefing sessions. Helps the manager to plan resource and work allocation. Provides a simple medium for traceability. Provides an insight into the quality of testing. Helps collect important data for organizational purposes. Test Metrics

Improvements Coverage Metrics Session Division : Session Name …contd Coverage Metrics Session Division : Session Name Date of session Time Duration   S1 07/01/2004 09:00 Hrs 90 mins  S2 S3 S4

Description of the Role Improvements …contd Group Division: Group Testers G1 Joe, Mary G2   G3 G4 User groups : User Group Acronym Application Roles Description of the Role U1 Admin Administrator U2 User End user

Module/Element Tested Improvements …contd Module/Element – Session Tracker: Session id/name Module/Element Tested M1 M2 M3 M4 S1  G1  G3  G4  G2 S2 G2/G3   S3 S4 (This table is used to track modules covered by different groups in the different sessions).

Improvements Group – Role Tracker : X X For Session S1: User Group …contd Group – Role Tracker : For Session S1: User Group Groups G1 G2 G3 G4 U1   X   U2    X

Improvements Test Summary Metrics: …contd Test Summary Metrics: Can be used for designing better sessions and estimation in future . Top management can track the progress of the project. Helps in knowing the maturity of the existing process and team. Test Summary Metrics

Improvements What are Q-patterns ? …contd What are Q-patterns ? A set of related questions on a software requirement which provides you with various alternatives that can be enhanced and reused. *Reference : www.WhatIsTesting.com by Vipul Kocher.

Improvements Structure of a Q-Pattern Associated patterns …contd Structure of a Q-Pattern Associated patterns Name of the pattern Examples Intent/Explanation/definition Specialization Questions related to: Administration Usage/User UI Security Performance

Improvements Using DDET / RDET: Review ET Scripted Test cases Scripted …contd Using DDET / RDET: Review ET Scripted Test cases Scripted Testing DDET / RDET Q patterns

Using Orthogonal Arrays, Decision tables and State Diagrams

Orthogonal Arrays Orthogonal Arrays Testing Strategy: The Orthogonal Array Testing Strategy (OATS) is a systematic, statistical way of testing pair-wise interactions and deriving a suitable small set of test cases(from a large number of possibilities). It provides representative (uniformly distributed) coverage of all variable pair combinations.

Orthogonal Arrays …contd Orthogonal arrays are two dimensional arrays of numbers which possess the interesting quality that by choosing any two columns in the array an even distribution of all the pair-wise combinations of values in the array can be tested. Terminology for working with orthogonal arrays: Runs: The number of rows in the array which translates to the number of test cases that will be generated by the OATS technique.

Orthogonal Arrays …contd Factors : The number of columns in an array. This directly translates to the maximum number of variables that can be handled by this array. Levels : The maximum number of values that can be taken on by any single factor. An orthogonal array will contain values from 0 to Levels-1. Strength : The number of columns it takes to see each of the Levels Strength possibilities equally often. Orthogonal arrays are represented by the pattern LRuns(LevelsFactors).

Orthogonal Arrays Steps to create Orthogonal Arrays: …contd Steps to create Orthogonal Arrays: Identify the independent variables that will be tested for interaction. This will map to the Factors of the array. Identify the maximum number of values that each independent variable will take on. This will map to the Levels of the array.

Orthogonal Arrays …contd Identify a suitable orthogonal array with the smallest number of Runs.(A suitable array is one that has at least as many Factors as needed from Step 1 and has at least as many levels for each of those factors as decided in Step 2.) Map the Factors and values onto the array. Choose values for any "left over" Levels. Transcribe the Runs into test cases, adding any particularly suspicious combinations that aren't generated.

Orthogonal Arrays …contd Example : Consider a screen with three drop downs list with three values.OA for the case is shown below FACTORS R U N S Factor1 Factor2 Factor3 1 2 3

Decision tables What are decision tables ? Decision table is a tabular representation of combinational logic used to derive test cases and provide a means of tracking complex combinations of conditions and resulting actions. Ideal for describing situations where varying conditions produce a combination of different actions.

Decision tables Why use a Decision Table? …contd Why use a Decision Table? Provides a representation of requirements where a response or subset of the response is selected by evaluating many related conditions. Effective at finding faults in both implementation and specification. Can support test design at all scopes from method to system. Supports manual or automated generation of test cases.

Decision tables Decision tables …contd Steps to create Decision Table: List all causes in the decision table Calculate the number of possible combinations Fill columns with all possible combinations Reduce test combinations Check covered combinations Add effects to the table

Decision tables …contd Example : Decision Table of a credit card billing system

State Diagrams What are State Diagrams ? State diagrams show the dynamic behaviour of a system. The diagram shows the various states that an object can get into and the transitions that occur between the states. Terminology for State Diagrams: State: The state object is a snapshot of an object at a particular point in its life. A state may have an activity describing the function being performed.

State Diagrams …contd Initial State : The initial state is the starting state of the object with reference to the behaviour that the diagram explains. Each state diagram should have only one initial state. Final State : Each final state is the ending state of the object with reference to the behaviour that the diagram explains. There may be multiple final states for an object.

State Diagrams …contd Transition : The transition link represents the relationship between different states of an object. The transition guard is a condition which limits the cases in which a transition can occur. The transition action is performed during the transition and cannot be interrupted.

State Diagrams ATM Cash withdrawal : …contd Request Accepted Applic. Initial State:ATM Machine Enter PIN Could not read the card. Transaction successful “Tech” Failure Transaction declined Application Connected NO Connection Amount Dispensed Connection failed. Transaction COMPLETE transction ABORTED Card inserted Request Accepted Request sent Server Responding Applic. negotiate NO. Connection Appl. Failure “Com.” Failure Valid PIN Invalid PIN ATM Cash withdrawal :

Team Management Building a ET team Role of QA manager/Lead Pair Testing Maintaining Morale & Accountability

Building an ET team Look for diverse skilled resources. Convincing the experienced testers to join the ET team. Find the right mix Technical and Domain knowledge. Experience. Learning Styles.

Role of QA manager/Lead Decide the charters and sessions. Decide the risk factors involved. Hold debriefing sessions. Deciding the strategies for ET. Prepare the metrics. Maintaining the morale of the team. Updating the Q-Patterns. Resource allocation.

Pair Testing Pair testing is a way of approaching a test design process two people test the same thing at the same time and place one works the PC, the other makes creative suggestions and writes deviation reports continuously exchanging ideas generation of more and different ideas than either tester is likely to produce on his own high productivity, high creativity an effective complement to individual testing

Pair Testing …contd Successful pair testing requires three specific conditions: At least one tester is available who can be trusted to test without supervision. Another tester is available who can join the first tester for a session of test design. The two testers are otherwise capable of working together.

Pair Testing Factors affecting Pair Testing: Idea Exchange …contd Factors affecting Pair Testing: Idea Exchange Personal factors Social factors Attention flow Test strategy

Maintaining Morale & Accountability Informal QC groups meetings to discuss the learnings, experience and suggestions for improvement. Assigning challenging and varied tasks to avoid monotony. Develop an whale done attitude towards the tester. Change the pairs regularly to avoid dependency. QA lead or the manager involved in testing/Coaching the novice testers.

Exploratory testing in corporate world Time Resource Personnel Infrastructure Experience,Skill and knowledge Available Documentation Frequent Requirement changes Cost and Quality Morale

Any Questions please

Thank You.