ET Workshop v. 1.20 - Introduction©2002 Amland Consulting1-1 Introduction Outline These slides are distributed under the Creative Commons License. In brief.

Slides:



Advertisements
Similar presentations
See...Think…Respond Adam White Founder Manager Test Engineering and Escalations Context Driven Testing.
Advertisements

© SMARTESTING 2011 – This document is the property of Smartesting. It may not be reproduced in whole or in part Cliquez pour modifier le style du titre.
More and Better Test Ideas Rikard Edgren TIBCO Spotfire EuroSTAR share one-liner test ideas.
Test process essentials Riitta Viitamäki,
Thoughts on Systematic Exploratory Testing of Important Products James Bach, Satisfice, Inc.
Four Schools of Software Testing Workshop on Teaching Software Testing, Florida Tech, February 2003.
Agile Testing and/or Agility in Testing? Juha Itkonen SoberIT Teknillinen Korkeakoulu Test Summit, , Savonlinna.
© Janice Regan, CMPT 102, Sept CMPT 102 Introduction to Scientific Computer Programming The software development method algorithms.
March 30, Exploratory Testing Testing Approaches Analytical Information-driven Intuitive Exploratory Design the tests and test concurrently Learn.
Software Testing. “Software and Cathedrals are much the same: First we build them, then we pray!!!” -Sam Redwine, Jr.
Copyright by Scott GrissomCh 1 Software Development Slide 1 Software Development The process of developing large software projects Different Approaches.
High Level: Generic Test Process (from chapter 6 of your text and earlier lesson) Test Planning & Preparation Test Execution Goals met? Analysis & Follow-up.
Software Testing Prasad G.
Copyright © 2014 ASTQB Presented by Rex Black, CTAL Introducing ISTQB Agile Foundation Extending the ISTQB Program’s Support Further.
TEST CASE DESIGN Prepared by: Fatih Kızkun. OUTLINE Introduction –Importance of Test –Essential Test Case Development A Variety of Test Methods –Risk.
Terms: Test (Case) vs. Test Suite
Scenario testing Tor Stålhane. Scenario testing – 1 There are two types of scenario testing. Type 1 – scenarios used as to define input/output sequences.
From 3 weeks to 30 minutes – a journey through the ups and downs of test automation.
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
Or how to find bugs faster…
ET Workshop v Opening©2002 Amland Consulting0-1 Exploratory Testing v Workshop in Risk-Based Agile Testing Parts of this class have been.
Extreme Programming Software Development Written by Sanjay Kumar.
1 Software Testing (Part-II) Lecture Software Testing Software Testing is the process of finding the bugs in a software. It helps in Verifying and.
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
ET Workshop v How to?©2002 Amland Consulting3-1 These slides are distributed under the Creative Commons License. In brief summary, you may make.
© BJSS Limited Going Agile UK TMF - April 2011 Mark Crowther, Test Consultant.
Introduction Telerik Software Academy Software Quality Assurance.
SE 501 Software Development Processes Dr. Basit Qureshi College of Computer Science and Information Systems Prince Sultan University Lecture for Week 6.
What is software testing? 1 What are the problems of software testing? 2 Time is limited Applications are complex Requirements are fluid.
Black Box Software Testing Copyright © Cem Kaner & James Bach 1 Black Box Software Testing Fall 2005 Overview—Part 2 (Mission of Testing) Cem Kaner,
Software Development Cycle What is Software? Instructions (computer programs) that when executed provide desired function and performance Data structures.
EXPLORING “BEST PRACTICES” Let’s Test Mission Help me build the closing keynote: “A Critical Look at Best Practices”A Critical Look at Best Practices.
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.
CSCE 522 Secure Software Development Best Practices.
Software Engineering. Introduction Objective To familiarize students to the fundamental concepts, techniques, processes, methods and tools of Software.
Today’s Agenda  Reminder: HW #1 Due next class  Quick Review  Input Space Partitioning Software Testing and Maintenance 1.
Copyright © , Satisfice, Inc. V1. James Bach, Satisfice, Inc. (540)
Session # Rational User Conference 2002 Author Note: To edit Session # go to: View/Master/Title Master ©1998, 1999, 2000, 2001, 2002 Rational Software.
1 Theme 2: Thinking Like a Tester, Continued. 2 Thinking Like a Tester Lesson 20: “Testing requires inference, not just comparison of output to expected.
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
Chapter 1: Fundamental of Testing Systems Testing & Evaluation (MNN1063)
CSCE 201 Secure Software Development Best Practices.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Copyright © , Dennis J. Frailey, All Rights Reserved Day 2, Part 1, Page 1 1/11/2004 Day 2, Part 1 Estimating Software Size Section 2 Calculating.
T EST T OOLS U NIT VI This unit contains the overview of the test tools. Also prerequisites for applying these tools, tools selection and implementation.
INFO 638Lecture #91 Software Project Management Conclude Adaptive Project Framework INFO 638 Glenn Booker.
Black Box Software Testing Copyright © 2003 Cem Kaner & James Bach 1 Black Box Software Testing Spring 2005 PART 8 -- TEST DESIGN by Cem Kaner, J.D., Ph.D.
Week # 4 Quality Assurance Software Quality Engineering 1.
Test Automation Steffen Goerlitz Barry Lange Mitchell Meerman Harry Schultz Trevor Spees.
Prepared by: Fatih Kızkun
Software Engineering (CSI 321)
Software Testing.
The Software Development Cycle
Introduction to Software Testing
Fundamental Test Process
Introduction Outline These slides are distributed under the Creative Commons License. In brief summary, you may make and distribute copies of these slides.
Introducing ISTQB Agile Foundation Extending the ISTQB Program’s Support Further Presented by Rex Black, CTAL Copyright © 2014 ASTQB 1.
CSE 303 Concepts and Tools for Software Development
Applying Use Cases (Chapters 25,26)
Applying Use Cases (Chapters 25,26)
A Few Review Questions Dan Fleck Spring 2009.
that focus first on areas of risk.
Manage testing by time boxes
Test Cases, Test Suites and Test Case management systems
Heuristics: Generating Solutions Quickly
Exploring Exploratory Testing
The Software Development Cycle
Presentation transcript:

ET Workshop v Introduction©2002 Amland Consulting1-1 Introduction Outline These slides are distributed under the Creative Commons License. In brief summary, you may make and distribute copies of these slides so long as you give the original author credit and, if you alter, transform or build upon this work, you distribute the resulting work only under a license identical to this one. For the rest of the details of the license, see sa/2.0/legalcode. sa/2.0/legalcode

ET Workshop v Introduction©2002 Amland Consulting1-2 Introduction Outline Introduction Test Management and Techniques ET Planning, Exec. and Documentation ET Styles ET Management Introduction to testing. What is Exploratory Testing? Where to use it? When to use it? Introduction to Risk

ET Workshop v Introduction©2002 Amland Consulting Introduction 1.1 Introduction to testing – thinking like a tester 1.2 Introduction to Exploratory Testing 1.3 Introduction to Risk and Risk-Based Testing

ET Workshop v Introduction©2002 Amland Consulting1-4 Introduction Test Management and Techniques ET Planning and Documentation ET Styles ET Management Different testing approaches 1. Skeptical approaches 2. Analytical approaches 3. Information-driven approaches 4. Time-honored but less effective approaches 5. Experiential and intuitive approaches 6. And…? Ross Collard (2002)

ET Workshop v Introduction©2002 Amland Consulting1-5 Introduction Test Management and Techniques ET Planning and Documentation ET Styles ET Management Skeptical approaches “In God We Trust, Everything Else We Test!” “The barbarians (software engineers) are at the gate” “Let’s use a scatter gun to test with, and see what bugs we hit” Ross Collard (2002) Different testing approaches (1)

ET Workshop v Introduction©2002 Amland Consulting1-6 Introduction Test Management and Techniques ET Planning and Documentation ET Styles ET Management Analytical approaches Let’s analyze the functional specs. to understand the system’s expected behavior “Let’s develop a model of the system, and then use this conceptual model as a basis for testing” Let’s derive the test cases by analyzing the description logic, process flows, equivalence classes, changes of state, or input combinations, etc.” Ross Collard (2002) Different testing approaches (2)

ET Workshop v Introduction©2002 Amland Consulting1-7 Introduction Test Management and Techniques ET Planning and Documentation ET Styles ET Management Information-driven approaches “Let’s focus the depth and intensity of the testing in the high risk areas, based on the perceived threats and vulnerabilities of the system” “Let’s follow this bug list or check list in our testing” “Let’s go ask the software engineers what to test, because they know how the system works” “Let’s look under the hood and read the code” “Let’s follow the clients’ direction, because they have the final sign-off authority” Ross Collard (2002) Different testing approaches (3)

ET Workshop v Introduction©2002 Amland Consulting1-8 Introduction Test Management and Techniques ET Planning and Documentation ET Styles ET Management Time-honored but less effective approaches “Let’s follow the book” “We always do it this way” “You shouldn’t change that features because it will screw up our testing.” The tail wags the dog. “Testing is easy, or at least a lot easier than software design, programming and maintenance.” “Anyone can do testing” “Errors just happen. They are caused by bad luck.” Ross Collard (2002) Different testing approaches (4)

ET Workshop v Introduction©2002 Amland Consulting1-9 Introduction Test Management and Techniques ET Planning and Documentation ET Styles ET Management Experiential and intuitive approaches “Let’s think blue-sky, speculate and follow our intuition.” “We have good hunches about where the bugs are lurking.” “Let’s jump in an explore the system’s behavior hands-on, so we can decide how to test it.” “Let’s find the important bugs fast, and worry about the test paperwork later.” Ross Collard (2002) Different testing approaches (5)

ET Workshop v Introduction©2002 Amland Consulting1-10 Introduction Test Management and Techniques ET Planning and Documentation ET Styles ET Management Exploratory Testing – Let’s explore, design the tests and test the system concurrently (James Bach) – Let’s learn about the system, test it and reports bugs as we go (Cem Kaner) – Let’s structure and document our creative testing so we know where we have been – Let’s apply everything we have learned about testing as we learn about the system, let’s do ”thinking-while-testing”! Different testing approaches…

ET Workshop v Introduction©2002 Amland Consulting1-11 Introduction Test Management and Techniques ET Planning and Documentation ET Styles ET Management What’s Special about a Tester’s Brain?

ET Workshop v Introduction©2002 Amland Consulting1-12 Introduction Test Management and Techniques ET Planning and Documentation ET Styles ET Management Epistemology – the Study of Knowledge Epistemology is the study of how we know what we know. The philosophy of science belongs to Epistemology. All good testers practice Epistemology. From Rapid Software Testing, copyright © James Bach

ET Workshop v Introduction©2002 Amland Consulting1-13 Introduction Test Management and Techniques ET Planning and Documentation ET Styles ET Management Basic Skills of Epistemology Ability to pose useful questions. Ability to observe what’s going on. Ability to describe what you perceive. Ability to think critically about what you know. Ability to recognize and manage bias. Ability to form and test conjectures. Ability to keep thinking despite already knowing. Ability to analyze someone else’s thinking. From Rapid Software Testing, copyright © James Bach

ET Workshop v Introduction©2002 Amland Consulting1-14 Introduction Test Management and Techniques ET Planning and Documentation ET Styles ET Management From Rapid Software Testing, copyright © James Bach Tunnel-Vision is Our Great Occupational Hazard Problems you can find with your biases… invisible problems invisible problems

ET Workshop v Introduction©2002 Amland Consulting1-15 Introduction Test Management and Techniques ET Planning and Documentation ET Styles ET Management A Tester’s Attitude Cautious Jump to conjectures, not conclusions. Practice admitting “I don’t know.” Have someone check your work. Curious What would happen if…? How does that work? Why did that happen? Critical Proceed by conjecture and refutation. Actively seek counter-evidence. Good testers are hard to fool. From Rapid Software Testing, copyright © James Bach

ET Workshop v Introduction©2002 Amland Consulting To improve our ”judgement and skills”: Heuristics: A heuristic is a fallible method for finding the solution to a problem. It's essentially a plausible guess, or a mechanism that helps generate plausible guesses. James Bach,

ET Workshop v Introduction©2002 Amland Consulting Heuristics…continued: "Avoid driving while intoxicated, because there is an elevated danger of an accident" is a heuristic. "Never drive when intoxicated" is, by contrast, a rule. James Bach,

ET Workshop v Introduction©2002 Amland Consulting1-18 Introduction Test Management and Techniques ET Planning and Documentation ET Styles ET Management Testing is done in Context 1. The value of any practice depends on its context. 2. There are good practices in context, but there are no best practices. 3. People, working together, are the most important part of any project's context. 4. Projects unfold over time in ways that are often not predictable. 5. The product is a solution. If the problem isn't solved, the product doesn't work. 6. Good software testing is a challenging intellectual process. 7. Only through judgment and skill, exercised cooperatively throughout the entire project, are we able to do the right things at the right times to effectively test our products.

ET Workshop v Introduction©2002 Amland Consulting1-19 Introduction Test Management and Techniques ET Planning and Documentation ET Styles ET Management Exercise: The Triangle Program Specification: This program takes three numbers as input. The numbers represent the dimensions of a triangle. When you click on the check button, the program tells you what kind of triangle the sides represent: scalene (no side equal to any other) isosceles (two sides are equal) equilateral (all sides are equal) Please test this program. From Black Box Software Testing, copyright © 1996 – 2002 Cem Kaner

ET Workshop v Introduction©2002 Amland Consulting1-20 Introduction Test Management and Techniques ET Planning and Documentation ET Styles ET Management Example tests: The Triangle Program Example of tests or groups of tests: Test case for a valid equilateral triangle At least three test cases that represent valid isosceles triangles (all permutations, e.g. 3,3,4; 3,4,3; 4,3,3) Test case in which one side has a zero value See Meyer’s Answer in his book Myers 1979, page 3.

ET Workshop v Introduction©2002 Amland Consulting Introduction 1.1 Introduction to testing – thinking like a tester 1.2 Introduction to Exploratory Testing 1.3 Introduction to Risk and Risk-Based Testing

ET Workshop v Introduction©2002 Amland Consulting1-22 Introduction Test Management and Techniques ET Planning and Documentation ET Styles ET Management What is Exploratory Testing? "Exploratory testing involves simultaneously learning, planning, running tests, and reporting / troubleshooting results." Dr. Cem Kaner (2001) "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, Satisfice (2001)

ET Workshop v Introduction©2002 Amland Consulting1-23 Said about eXtreme Programming Agile software development is not conventional software development done more quickly or done on tippie-toe. Agile software development is software done differently. Ron Jeffries, ( on agile-testing list, April 24, 2002) proven (no single technique is new) application oriented planned and disciplined controllable and reliable risk minimizing Two sides of extreme programming: for the developer: freedom, flexibility, fun for the manager: controllability, reliability, high quality Martin Lippert (University of Hamburg), ICSTEST 2002 Introduction Test Management and Techniques ET Planning and Documentation ET Styles ET Management

ET Workshop v Introduction©2002 Amland Consulting1-24 The eXtreme Programming and Exploratory Testing Analogy: Agile software testing is not conventional (scripted) software testing done more quickly or done on tippie-toe. Exploratory Testing: proven (no single technique is new) application oriented planned and disciplined controllable and reliable risk minimizing Two sides of Exploratory Testing: for the tester: freedom, flexibility, fun for the manager: controllability, reliability, high quality Introduction Test Management and Techniques ET Planning and Documentation ET Styles ET Management

ET Workshop v Introduction©2002 Amland Consulting1-25 Introduction Test Management and Techniques ET Planning and Documentation ET Styles ET Management ET vs. Scripted Testing Jarle Våga (2002) Fully Scripted Testing Ad-hoc Testing Automated Tests Bug Hunting Exploratory Testing

ET Workshop v Introduction©2002 Amland Consulting1-26 Introduction Test Management and Techniques ET Planning and Documentation ET Styles ET Management What is Scripted Testing? Small (but realistic) example: How to script and test this login? (Functional tests only – not security!)

ET Workshop v Introduction©2002 Amland Consulting1-27 Introduction Test Management and Techniques ET Planning and Documentation ET Styles ET Management Sample test scripts (4 of “many”): Sample test script 1: Launch the Login screen Enter User-id: “xyz” Enter Password: “zyx” Press Expected result: login ok Sample test script 2: Launch the Login screen Enter User-id: “xyz” Enter Password: “zyx” Click the “Login” button Expected result: login ok Sample test script 3: Launch the Login screen Enter User-id: “” Enter Password: “zyx” Press Expected: login rejected Sample test script 4: Launch the Login screen Enter User-id: “” Enter Password: “zyx” Click the “Login” button Expected: login rejected

ET Workshop v Introduction©2002 Amland Consulting1-28 Introduction Test Management and Techniques ET Planning and Documentation ET Styles ET Management Sample Generic Scripts (2 of “many”) Sample generic test script 1: Launch the Login screen Enter valid User-id Enter valid Password Press or click button Expected result: login ok Sample generic test script 2: Launch the Login screen Enter invalid User-id Enter valid Password Press or click button Expected result: login rejected

ET Workshop v Introduction©2002 Amland Consulting1-29 Introduction Test Management and Techniques ET Planning and Documentation ET Styles ET Management Sample test “Pattern” script (checklist) Input fields: Valid data Invalid data Length > max Length = max +1 Length = max Length = max –1 Combinations of above … Actions: Keyboard Buttons … Operations: Add, Modify, Inquiry, Delete What to test for each… …

ET Workshop v Introduction©2002 Amland Consulting1-30 Introduction Test Management and Techniques ET Planning and Documentation ET Styles ET Management When to use Exploratory Testing? (1) A common goal of exploration is to probe for weak areas of the program. Test team’s resource consumption per week: 25% of the group’s time developing new tests 50% executing old tests (including bug regression) 25% on exploratory testing Cem Kaner (2001a)

ET Workshop v Introduction©2002 Amland Consulting1-31 Introduction Test Management and Techniques ET Planning and Documentation ET Styles ET Management When to use Exploratory Testing? (2) When there is little or no specifications and / or requirements When you have little or no domain knowledge When you don’t have time to specify, script and test Uncertainty and Time Pressure!

ET Workshop v Introduction©2002 Amland Consulting1-32 Introduction Test Management and Techniques ET Planning and Documentation ET Styles ET Management When to use Exploratory Testing? (3) Exploratory Testing is extremely useful when faced with software that is Untested Unknown or Unstable The tester must create a map of the application as he goes on testing it. Harry Robinson,

ET Workshop v Introduction©2002 Amland Consulting1-33 Introduction Test Management and Techniques ET Planning and Documentation ET Styles ET Management When to use Exploratory Testing? (4) Take a more scripted approach when: There are little uncertainty about how to test New tests are relatively unimportant The need for efficiency and reliability in executing tests is worth the effort of scripting We are prepared to pay the cost of documenting and maintaining tests From Black Box Software Testing, copyright © 1996 – 2002 Cem Kaner

ET Workshop v Introduction©2002 Amland Consulting1-34 Introduction Test Management and Techniques ET Planning and Documentation ET Styles ET Management The Fallacy of Repeated Tests: Clearing Mines mines From Rapid Software Testing, copyright © James Bach

ET Workshop v Introduction©2002 Amland Consulting1-35 Introduction Test Management and Techniques ET Planning and Documentation ET Styles ET Management Totally Repeatable Tests Won’t Clear the Minefield mines fixes From Rapid Software Testing, copyright © James Bach

ET Workshop v Introduction©2002 Amland Consulting1-36 Introduction Test Management and Techniques ET Planning and Documentation ET Styles ET Management Variable Tests are Therefore More Effective mines fixes From Rapid Software Testing, copyright © James Bach

ET Workshop v Introduction©2002 Amland Consulting1-37 Introduction Test Management and Techniques ET Planning and Documentation ET Styles ET Management Sample Product Test Cycle 1. Receive the product. Formal builds Informal builds Save old builds. 2. Clean your system. Completely uninstall earlier builds. 3. Verify testability. Smoke testing Suspend test cycle if the product is untestable. 4.Determine what is new or changed. Change log 5.Determine what has been fixed. Bug tracking system 6.Test fixes. Many fixes fail! Also test nearby functionality. 7.Test new or changed areas. Exploratory testing. 8.Perform regression testing. Not performed for an incremental cycle. Automated vs. manual Important tests first! 9.Report results. Coverage Observations Bug status (new, existing, reopened, closed) Assessment of quality Assessment of testability From Rapid Software Testing, copyright © James Bach

ET Workshop v Introduction©2002 Amland Consulting Introduction 1.1 Introduction to testing – thinking like a tester 1.2 Introduction to Exploratory Testing 1.3 Introduction to Risk and Risk-Based Testing

ET Workshop v Introduction©2002 Amland Consulting1-39 No Risk? No Test!

ET Workshop v Introduction©2002 Amland Consulting Typical Questions for Testers How much testing is enough? When should we stop testing? When is the product good enough for release? How good is our testing?  Managing RISK!

ET Workshop v Introduction©2002 Amland Consulting Product Quality and test coverage Quality Risk Coverage (potential faults) Customer use Coverage 100% Worst PoorPerfect! Good Rex Black 1999

ET Workshop v Introduction©2002 Amland Consulting1-42 Introduction Summary Introduction Test Management and Techniques ET Planning, Exec. and Documentation ET Styles ET Management Introduction to Testing. What is Exploratory Testing? Where to use it? When to use it? Introduction to Risk