Presentation on theme: "Exploratory Testing – an improved approach Jayapradeep Jiothis Narendra Kumar by."— Presentation transcript:
Exploratory Testing – an improved approach Jayapradeep Jiothis Narendra Kumar by
Agenda Existing formalized methods. Introduction. Improvements. Orthogonal arrays, Decision tables,State diagrams. Team Management. Applying in Corporate world.
Introduction How is it different from Ad hoc Testing ? What is Exploratory 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, "Exploratory testing is an interactive process of concurrent planning, running tests, and reporting / troubleshooting results." - Dr. Cem Kaner. 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 ? Ad hoc Testing: It is an impromptu and unrehearsed testing to uncover the bugs with no mission or goal.
0 100 Documentation(%) Pure Scripted testingAd hoc testing Increasing degree of ET ChartersVague Scripts Ad Hoc Vs ET
Where does ET fit ? No time to specify,script and test. No specifications or little documentation available. Thread Pulling. ET can be associated with scripted testing to improve To help assess risks. When there is open communication between When the application does not have any future releases. the coverage. development and testing teams.
Design and Excel : An exploratory tester is first and foremost a Test Characteristics of Exploratory Tester : 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.
Hawk eyes : Excellent exploratory testers are excellent observers. Characteristics of Exploratory Tester : …contd 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.
Critical Thinking : Characteristics of Exploratory Tester : …contd Break the Rules : Excellent exploratory testers are able to review and Exploratory tester clears their mind from the shackles of explain their logic, looking for errors in their own thinking. the past, thinks creatively and laterally, to produce better ideas.Use heuristics to accomplish this.
Race up the learning curve : Characteristics of Exploratory Tester : …contd Rich Resources : Excellent exploratory testers climb learning curves more Excellent exploratory testers build a deep inventory of quickly than most. Intelligence helps but its more a matter of skill and practice that is build over a period of time. 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.
Manage and Succeed : Characteristics of Exploratory Tester : …contd Keep Track : Excellent exploratory testers know the value of their Excellent exploratory tester keeps track of what was precious time.They differentiate between a dead end and a promising lead. They follow their main mission while taking deviations to ensure the coverage. tested, techniques used and risks the tests were intended to explore, and how they relate to the mission of testing.
Learning Styles and ET: Visual/Verbal : Preferred mode of information received. Sensory/Intuitive : Preferred type of information. 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. A learning style is a characteristic strengths and preferences in the ways they take in and process information.
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. Learning Styles and ET : …contd
Styles of Exploration : Hunches Examples Models Invariances Interference Error handling Troubleshooting Group Insight Specifications
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 : Troubleshooting : Bug Analysis. Bug regression. Brainstormed test lists Group discussion of related components Fishbone analysis Paired Exploratory Testing Styles of Exploration : …contd
Pros and Cons of ET: Responsive to changing scenarios. Does not require extensive documentation. Under tight schedules, testing can be more focused Improved coverage. Pros :- depending on the bug rate or risks.
Pros and Cons of ET: Test tracking not concrete. Dependent on the testers skills. More prone to human error. No contingency plan if the tester is unavailable. Cons :-
Formalised Methods of ET Scripted Testing vs Formalised ET What is Formalised ET ? What does ET achieve ? Approaches used for Formalised ET
What is Formalised ET ? A structured and reasoned approach to exploratory Using the systematic approach, arrive at an outline of Applying planning to Exploratory Testing, we have what to achieve what to attack what would be the scope what effort to spend testing is termed as Formalised ET. This approach consists of specific tasks, objectives, and deliverables that makes it a systematic process. Exploratory Planning.
Scripted Testing Vs ET Documentation(%) Pure Scripted testingAd hoc testing Increasing degree of formalised ET ChartersVague Scripts
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 workflows Identify the primary and secondary functions Identify the UI standards Identify the purpose Identify the break points
Record failures Identify the expected results Identify the the interfaces with other interfaces/external Document the issues and questions Charter – states the goal and the tactics to be used Decomposing the activites to smaller tasks applications Approaches used for Formalised ET …contd
Session Based Test Management (SBTM) Its the concept of Testing in Sessions A session, is not a test case or bug report, is the basic 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 testing work uninterrupted unit of reviewable, chartered test effort. It operates within a documented process structure and produces records that complement verification documentation.
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) : …contd Approaches used for Formalised ET 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.
SBTM uses a very generalized light weight report called the Session Sheet. A Session sheet consists of: Session charter Tester name(s) Date and time started Task breakdown (the TBS metrics) Data files Test notes Issues Bugs …contd Approaches used for Formalised ET
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. Approaches used for Formalised ET …contd Agenda for debriefing session is :PROOF Past : What happened during the session? Results : What was achieved during the session? Obstacles : What got in the way of good testing? Outlook : What still needs to be done? Feelings : How does the tester feel about all this?
Defect Driven Exploratory Testing: Approaches used for Formalised ET …contd * Reference: Defect Driven Exploratory Testing, Ananthalakshmi H.V,SISL Defect Driven Exploratory Testing (DDET) is a goal oriented Scripted Tests Bug Reports DDET approach focused on the critical areas identified on the Defect analysis study based on Procedural Testing results.
Approaches used for Formalised ET …contd 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. DDET:
Approaches used for Formalised ET …contd DDET: Scripted Testing
Approaches used for Formalised ET …contd DDET: Applying DDET
DDET: Approaches used for Formalised ET …contd Time Defects Normal ET Formalized ET DDET
Improvements Test Session Sheets Metrics Improved Approaches using ET Using DDET / RDET. Improvements
Test Session Sheets Charter \ Mission Areas Covered Strategy Used Session and Tester details TBS metrics Test Notes Anomalies Questions Issues Improvements …contd Session Sheet
Why Test Session Sheets ? Managers can have track of quantum of testing. Client can have track of billable hours. Documented record for regulatory purposes. Provides the structure for organization and management. Prevents overlapping of the areas covered. Acts as a feedback medium. Standardized reporting mechanism across the organization. Improvements …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. Improvements …contd Test Metrics
Coverage Metrics Session Division : Session Name Date of session TimeDuration S1 07/01/ :00 Hrs 90 mins S2 S3 S4 Improvements …contd
Group Division: User groups : Improvements …contd GroupTesters G1Joe, Mary G2 G3 G4 User Group Acronym Application RolesDescription of the Role U1AdminAdministrator U2UserEnd user
Module/Element – Session Tracker: (This table is used to track modules covered by different groups in the different sessions). Improvements …contd Session id/name Module/Element Tested M1M2M3M4 S1 G1 G3 G4 G2 S2 G2/G3 G1 G3 S3 G4 G2 G1 G3 S4 G3 G4 G2 G1
Group – Role Tracker : Improvements …contd User Group Groups G1G2G3G4 U1 X X U2 X X For Session S1:
Test Summary Metrics: Improvements …contd Can be used for designing better sessions and estimation in future. Helps in knowing the maturity of the existing process and team. Top management can track the progress of the project. Test Summary Metrics
Improvements …contd What are Q-patterns ? A set of related questions on a software requirement which *Reference : by Vipul Kocher. provides you with various alternatives that can be enhanced and reused.
Improvements …contd Structure of a Q-Pattern Name of the pattern Intent/Explanation/definition Questions related to: Administration Performance Usage/User UI Security Examples Associated patterns Specialization
Scripted Testing Using DDET / RDET: Q patterns DDET / RDET ET Scripted Test cases Review Improvements …contd
Using Orthogonal Arrays, Decision tables and State Diagrams Decision Tables Orthogonal Arrays State Diagrams
Orthogonal Arrays Orthogonal Arrays Testing Strategy: The Orthogonal Array Testing Strategy (OATS) is a It provides representative (uniformly distributed) coverage of all variable pair combinations. systematic, statistical way of testing pair-wise interactions and deriving a suitable small set of test cases(from a large number of possibilities).
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 L Runs (Levels Factors ).
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 Choose values for any "left over" Levels. Transcribe the Runs into test cases, adding any particularly suspicious combinations that aren't generated. Map the Factors and values onto the array. 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.)
Orthogonal Arrays …contd Example : Consider a screen with three drop downs list with three values.OA for the case is shown below FACTORS RUNSRUNS Factor1Factor2Factor
Decision tables What are decision tables ? Decision table is a tabular representation of Ideal for describing situations where varying conditions combinational logic used to derive test cases and provide a means of tracking complex combinations of conditions and resulting actions. produce a combination of different actions.
Why use a Decision Table? Supports manual or automated generation of test cases. 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. Decision tables …contd
Decision tables Add effects to the table 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 Decision tables …contd
Example : Decision Table of a credit card billing system Decision tables …contd
State Diagrams What are State Diagrams ? State diagrams show the dynamic behaviour of a system. 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. The diagram shows the various states that an object can get into and the transitions that occur between the states.
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 …contd
Initial State:ATM Machine Enter PIN Could not read the card. Transaction successful Tech Failure Transaction declined Application Connected NO Connectio n Amount Dispensed Connection failed. Transaction COMPLETE transction ABORTED Card inserted Request Accepted Request sent Server Responding Applic. negotiate NO. Connectio n Appl. Failure Com. Failure Card inserted Valid PIN Invalid PIN ATM Cash withdrawal : State Diagrams …contd
Team Management Role of QA manager/Lead Building a ET team Pair Testing Maintaining Morale & Accountability
Building an ET team Look for diverse skilled resources. Find the right mix Convincing the experienced testers to join the ET team. Technical and Domain knowledge. Experience. Learning Styles.
Role of QA manager/Lead Decide the risk factors involved. Decide the charters and sessions. 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 is a way of approaching a test design process two people test the same thing at the same time and place continuously exchanging ideas high productivity, high creativity an effective complement to individual testing one works the PC, the other makes creative suggestions and writes deviation reports generation of more and different ideas than either tester is likely to produce on his own Pair Testing
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 …contd
Factors affecting Pair Testing: Idea Exchange Personal factors Social factors Attention flow Test strategy Pair Testing …contd
Maintaining Morale & Accountability Develop an whale done attitude towards the tester. Change the pairs regularly to avoid dependency. Informal QC groups meetings to discuss the learnings, experience and suggestions for improvement. Assigning challenging and varied tasks to avoid monotony. QA lead or the manager involved in testing/Coaching the novice testers.
Exploratory testing in corporate world Resource Time Experience,Skill and knowledge Available Documentation Frequent Requirement changes Cost and Quality Morale Personnel Infrastructure