Standardized risks & charters in exploratory testing


Published on

Published in: Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Standardized Risks and Tours for Exploratory Testing 149/038 13-LXE 110 0048 Uen Rev PA1
  • Standardized risks & charters in exploratory testing

    1. 1. Facilitating exploratory testing for junior testers and stakeholders
    2. 2. Introduction <ul><li>In exploratory testing, a charter sets the agenda or goal of a test session </li></ul><ul><li>This charter is selected to be executed based on current risks </li></ul><ul><li>Both the creation of charters and the identification and understanding of risks is a complex task that can only be performed by senior testers </li></ul><ul><li>One way to simplify these tasks is some form of standardization </li></ul><ul><li>This is a way to transfer knowledge from senior testers to their junior counterparts </li></ul>
    3. 3. Overview
    4. 4. Standardized Risk List <ul><li>By standardizing risks in a list it will give junior testers a way of not missing risks that are obvious to more senior testers </li></ul><ul><li>Of course you will never cover the complete risk space with a standardized list, but it is a place to start a risk analysis from </li></ul><ul><li>This standardize list will differ from organization to organization because of difference in complete risk space </li></ul><ul><li>Often certain feature specific risks will also be identified which are outside of the standard risk list </li></ul>
    5. 5. Standard Risk List Example [2] <ul><li>Complex : anything disproportionately large, intricate, or convoluted. </li></ul><ul><li>New : anything that has no history in the product. </li></ul><ul><li>Changed : anything that has been tampered with or &quot;improved“. </li></ul><ul><li>Upstream Dependency : anything whose failure will cause cascading failure in the rest of the system. </li></ul><ul><li>Downstream Dependency : anything that is especially sensitive to failures in the rest of the system. </li></ul><ul><li>Critical : anything whose failure could cause substantial damage. </li></ul><ul><li>Precise : anything that must meet its requirements exactly. </li></ul><ul><li>Popular : anything that will be used a lot. </li></ul><ul><li>Strategic : anything that has special importance to your business, such as a feature that sets you apart from the competition. </li></ul><ul><li>Third-party : anything used in the product, but developed outside the project. </li></ul><ul><li>Distributed : anything spread out in time or space, yet who elements must work together. </li></ul><ul><li>Buggy : anything known to have a lot of problems. </li></ul><ul><li>Recent failure : anything with a recent history of failure. </li></ul>
    6. 6. Standardized Charter List <ul><li>Standardized charters will not only make it easier for junior testers to select charters themselves, but reporting will be streamlined and more easily accessible to managers and project leaders </li></ul><ul><li>Sometimes you will need to create a feature/application specific charter that is unique, but the goal is to minimize the need for these kinds of unique charters by creating a standardized list that cover a large percentage of all possible charters </li></ul><ul><li>The standardized charter list should be a living document that is continuously updated </li></ul>
    7. 7. Standard Charter List Example [1] <ul><li>Documentation Tour: Look in the online help or user manual and find some instructions about how to perform some interesting activity. Do those actions. Improvise from them. </li></ul><ul><li>Sample Data Tour: Employ any sample data you can, and all that you can. The more complex the better. </li></ul><ul><li>Variability Tour: Tour a product looking for anything that is variable and vary it. Vary it as far as possible, in every dimension possible. Exploring variations is part of the basic structure of my testing when I first encounter a product. </li></ul><ul><li>Continuous Use: While testing, do not reset the system. Leave windows and files open. Let disk and memory usage mount. You’re hoping that the system ties itself in knots over time. </li></ul><ul><li>Feature tour : Move through the application and get familiar with all the controls and features you come across. </li></ul><ul><li>Complexity tour : Find the five most complex things about the application. </li></ul><ul><li>Claims tour : Find all the information in the product that tells you what the product does. </li></ul><ul><li>Configuration tour : Attempt to find all the ways you can change settings in the product in a way that the application retains those settings. </li></ul><ul><li>User tour : Imagine five users for the product and the information they would want from the product or the major features they would be interested in. </li></ul><ul><li>Testability tour : Find all the features you can use as testability features and/or identify tools you have available that you can use to help in your testing. </li></ul><ul><li>Scenario tour : Imagine five realistic scenarios for how the users identified in the user tour would use this product. </li></ul><ul><li>Variability tour : Look for things you can change in the application – and then you try to change them. </li></ul><ul><li>Interoperability tour : What does this application interact with? </li></ul><ul><li>Data tour : Identify the major data elements of the application. </li></ul><ul><li>Structure tour : Find everything you can about what comprises the physical product (code, interfaces, hardware, files, etc…). </li></ul><ul><li>Money tour: Test the features that users purchase the app for </li></ul><ul><li>Rained-out tour: Start and stop tasks, hit cancel, etc. </li></ul><ul><li>Obsessive compulsive tour: Perform tasks multiple times, perform tasks multiple times, perform tasks multiple times </li></ul><ul><li>Back alley tour: Test the least-used features </li></ul><ul><li>All-nighter tour: Keep the app open overnight </li></ul><ul><li>Feature/Application specific tour: A tour that is unique for a specific feature application </li></ul>
    8. 8. Traceability between Risk and Charter <ul><li>It should be clear in the test session report what risks triggered the execution of a certain standardized charter </li></ul>
    9. 9. Improved Standardized Test Session Report <ul><li>In the test session report, it will be clear which standardized charter has been tested, as well as what risks triggered that charter – but also some additional information </li></ul><ul><li>This is not meant to replace qualitative information in the test session reports, only to complement this information and in some ways quantify it </li></ul>
    10. 10. Software Quality Attributes [3] <ul><li>Each test session is mapped towards one or more software quality attributes depending on which attributes the session covered </li></ul><ul><li>Which attributes are used should depend on the software characteristics that are important for the organization </li></ul><ul><li>Example Software Quality Attributes could be: </li></ul><ul><ul><li>Functionality - A set of attributes that bear on the existence of a set of functions and their specified properties. The functions are those that satisfy stated or implied needs. </li></ul></ul><ul><ul><li>Reliability - A set of attributes that bear on the capability of software to maintain its level of performance under stated conditions for a stated period of time. </li></ul></ul><ul><ul><li>Usability - A set of attributes that bear on the effort needed for use, and on the individual assessment of such use, by a stated or implied set of users. </li></ul></ul><ul><ul><li>Efficiency - A set of attributes that bear on the relationship between the level of performance of the software and the amount of resources used, under stated conditions. </li></ul></ul><ul><ul><li>Maintainability - A set of attributes that bear on the effort needed to make specified modifications. </li></ul></ul><ul><ul><li>Portability - A set of attributes that bear on the ability of software to be transferred from one environment to another. </li></ul></ul>
    11. 11. Aggregated Project Status Report <ul><li>One of the main advantages of standardization is to generate reports that are easily understood by stakeholders without test experience </li></ul><ul><li>The numbers in the cells in the matrixes on the following slides indicate how many charters have been executed within a specific test area, categorized by either standardized charter type or software quality attribute </li></ul><ul><li>The color of the cells indicate the quality status of the test area in that specific category </li></ul>
    12. 12. Aggregated Project Status Report Standardized Charter View Further Testing Needed Failed Passed Documentation Tour All-nighter tour Feature tour Complexity tour User tour Back alley tour Test Area 1 1 1 3 2 4 1 Test Area 2 2 1 4 3 5 1 Test Area 3 1 2 3 1 3 2 Test Area 4 1 0 2 2 3 1 Test Area 5 1 1 1 1 1 1 Test Area 6 1 1 5 2 1 2 Test Area 7 2 0 4 3 1 1
    13. 13. Aggregated Project Status Report Software Quality Attribute View Further Testing Needed Failed Passed Functionality Reliability Efficiency Usability Portability Maintainability Test Area A 10 4 8 2 1 1 Test Area B 20 7 5 3 1 0 Test Area C 13 3 7 1 0 0 Test Area D 15 0 4 2 0 0 Test Area E 17 4 3 1 0 0 Test Area F 10 7 5 2 1 1 Test Area G 24 2 7 3 1 1
    14. 14. Defect Connection to Charters <ul><li>It should be possible to click on of the cells in the matrix and then receive the corresponding list of charters and issues connected to those charters </li></ul>7 Charters Defects Defect Status Charter A Defect 1 Fixed Charter B Defect 2, 3 Fixed, Ongoing Charter C - Charter D - Charter E Defect 4 Under Investigation Charter F - Charter G -
    15. 15. Conclusion <ul><li>For a senior tester, a standardized risk list is not necessary, but will at least not hinder the work – for a junior tester it can be a great help in not missing common critical risks </li></ul><ul><li>Standardized reporting will help project leaders and managers better understand the project status as a complement to the qualitative information the tester provides </li></ul><ul><li>Easy traceability from risk to test session to test results to defect is also valuable </li></ul>
    16. 16. Reference <ul><li>[1] Of Testing Tours and Dashboards </li></ul><ul><li> </li></ul><ul><li>[2] Heuristic Risk-based Testing </li></ul><ul><li> </li></ul><ul><li>[3] ISO/IEC 9126 </li></ul><ul><li> </li></ul>