Presentation is loading. Please wait.

Presentation is loading. Please wait.

Exploratory Testing – an improved approach

Similar presentations


Presentation on theme: "Exploratory Testing – an improved approach"— Presentation transcript:

1 Exploratory Testing – an improved approach
by Jayapradeep Jiothis Narendra Kumar

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

3 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.

4 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.

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

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

7 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.

8 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.

9 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.

10 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.

11 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.

12 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.

13 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”.

14 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.

15 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.

16 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.

17 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.

18 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.

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

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

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

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

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

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

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

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

27 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.

28 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.

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

30 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.

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

32 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?

33 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

34 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

35 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)

36 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.

37 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.

38 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

39 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?

40 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

41 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.

42 Approaches used for Formalised ET
…contd DDET: Scripted Testing

43 Approaches used for Formalised ET
…contd DDET: Applying DDET

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

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

46 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

47 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.

48 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

49 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

50 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

51 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).

52 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

53 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

54 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 : by Vipul Kocher.

55 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

56 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

57 Using Orthogonal Arrays, Decision tables and State Diagrams

58 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.

59 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.

60 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).

61 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.

62 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.

63 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

64 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.

65 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.

66 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

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

68 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.

69 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.

70 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.

71 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 :

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

73 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.

74 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.

75 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

76 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.

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

78 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.

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

80 Any Questions please

81 Thank You.


Download ppt "Exploratory Testing – an improved approach"

Similar presentations


Ads by Google