Or how to find bugs faster…

Slides:



Advertisements
Similar presentations
Object Oriented Analysis And Design-IT0207 iiI Semester
Advertisements

More and Better Test Ideas Rikard Edgren TIBCO Spotfire EuroSTAR share one-liner test ideas.
Test Automation: Coded UI Test
Applied Software Project Management INTRODUCTION Applied Software Project Management 1 5/20/2015.
Important concepts in software engineering The tools to make it easy to apply common sense!
IS 1181 IS 118 Introduction to Development Tools VB Chapter 03.
Why Security Testing Is Hard by Herbert H. Thompson presented by Carlos Hernandez.
Illinois Institute of Technology
IMSE Week 18 White Box or Structural Testing Reading:Sommerville (4th edition) ch 22 orPressman (4th edition) ch 16.
Quality Assurance CS 615. Mission Statement The Quality Assurance team will provide assurance to stakeholders in CS-615/616 projects that their projects.
Applied Software Project Management 1 Introduction Dr. Mengxia Zhu Computer Science Department Southern Illinois University Carbondale.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
OHT 9.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Chapter 9.3 Software Testing Strategies.
Software Testing Prasad G.
1 CSc Senior Project Software Testing. 2 Preface “The amount of required study of testing techniques is trivial – a few hours over the course of.
_______________________________________________________________________________________________________________ E-Commerce: Fundamentals and Applications1.
How do you practice Software Testing? By Michael Kelly.
Test Design Techniques
Ivan Stanchev QA Engineer System Integration Team Telerik QA Academy Telerik QA Academy.
Terms: Test (Case) vs. Test Suite
Estimation Wrap-up CSE 403, Spring 2008, Alverson Spolsky.
Team Skill 1 Analyzing the Problem Business Modeling (6) 1.
Software Quality Assurance 2/20 WELCOME Graphic User Interface Testing.
Introduction to course. Refresher on client/server; JavaScript.
Software Quality Assurance QA Engineering, Testing, Bug Tracking, Test Automation Software University Technical Trainers SoftUni Team.
Applied Software Project Management Andrew Stellman & Jennifer Greenehttp:// Applied Software Project Management Chapter 1: Introduction.
Model View Controller (MVC) Rick Mercer with a wide variety of others 1.
Testing – A Methodology of Science and Art. Agenda To show, A global Test Process which work Like a solution Black Box for an Software Implementation.
Introduction Telerik Software Academy Software Quality Assurance.
Chapter 12: Software Testing Omar Meqdadi SE 273 Lecture 12 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
1 Computing Software. Programming Style Programs that are not documented internally, while they may do what is requested, can be difficult to understand.
Software Testing Testing principles. Testing Testing involves operation of a system or application under controlled conditions & evaluating the results.
Presented by Abirami Poonkundran.  Introduction  Current Work  Current Tools  Solution  Tesseract  Tesseract Usage Scenarios  Information Flow.
From Use Cases to Test Cases 1. A Tester’s Perspective  Without use cases testers will approach the system to be tested as a “black box”. “What, exactly,
What do we know about exploratory testing? Implications for Practice
Black Box Software Testing Copyright © Cem Kaner & James Bach 1 Black Box Software Testing Fall 2005 Overview—Part 2 (Mission of Testing) Cem Kaner,
Copyright (c) Cem Kaner. 1 Software Testing 1 CSE 3411 SWE 5411 Assignment #1 Replicate and Edit Bugs.
Testing Methods Carl Smith National Certificate Year 2 – Unit 4.
Testing. 2 Overview Testing and debugging are important activities in software development. Techniques and tools are introduced. Material borrowed here.
Black Box Software Testing Copyright © 2003 Cem Kaner & James Bach 1 Black Box Software Testing Spring 2005 PART 7 -- FUNCTION TESTING by Cem Kaner, J.D.,
Introduction to Software Testing. Types of Software Testing Unit Testing Strategies – Equivalence Class Testing – Boundary Value Testing – Output Testing.
Black-box Testing.
16 October Reminder Types of Testing: Purpose  Functional testing  Usability testing  Conformance testing  Performance testing  Acceptance.
Well-behaved objects Main concepts to be covered Testing Debugging Test automation Writing for maintainability Objects First with Java - A Practical.
TESTING LEVELS Unit Testing Integration Testing System Testing Acceptance Testing.
Software Engineering User Interface Design Slide 1 User Interface Design.
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.
Human Computer Interaction
Software Engineering Saeed Akhtar The University of Lahore.
Task Analysis Lecture # 8 Gabriel Spitz 1. Key Points  Task Analysis is a critical element of UI Design  It describes what is a user doing or will.
Software Quality Assurance and Testing Fazal Rehman Shamil.
Task Analysis Lecture # 8 Gabriel Spitz 1. Key Points  Task Analysis is a critical element of UI Design  It specifies what functions the user will need.
Chapter 12: Software Testing Omar Meqdadi SE 273 Lecture 12 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Designed by : Aarthi Sneha 1 Software Testing NTC Infotec.
SOFTWARE TESTING SOFTWARE TESTING Presented By, C.Jackulin Sugirtha-10mx15 R.Jeyaramar-10mx17K.Kanagalakshmi-10mx20J.A.Linda-10mx25P.B.Vahedha-10mx53.
Software Engineering Lecture 11 Software Testing Presenter: Josef Hallberg 1.
Dynamic Black-Box Testing Part 1 What is dynamic black-box testing? How to reduce the number of test cases using: Equivalence partitioning Boundary value.
Ognjen Bajić Ana Roje Ivančić Ekobit Efficient Application Testing.
Security Testing Methods
Software Testing Techniques
CSE 403 Software Engineering
Software Quality Assurance
Chapter 18 Software Testing Strategies
Chapter 13 & 14 Software Testing Strategies and Techniques
Higher-Level Testing and Integration Testing
In the Senior Design Center
Exploring Exploratory Testing
Exploratory Testing Techniques : Finding Software Defects.
Chapter 13 & 14 Software Testing Strategies and Techniques 1 Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.
Presentation transcript:

Or how to find bugs faster… Exploratory Testing Or how to find bugs faster…

Summary What is Exploratory Testing? Why are we doing black box testing? Session Based Testing Where do we test? Types of testing How outlines can help How flow charts could help

What is Exploratory Testing? Exploratory testing is an approach to software testing that is concisely described as simultaneous learning, test design and test execution. Cem Kaner, who coined the term in 1983,[1] now defines exploratory testing as "a style of software testing that emphasizes the personal freedom and responsibility of the individual tester to continually optimize the quality of his/her work by treating test-related learning, test design, test execution, and test result interpretation as mutually supportive activities that run in parallel throughout the project."[2] While the software is being tested, the tester learns things that together with experience and creativity generates new good tests to run. Exploratory testing is often thought of as a black box testing technique. Instead, those who have studied it consider it a test approach that can be applied to any test technique, at any stage in the development process. The key is not the test technique nor the item being tested or reviewed; the key is the cognitive engagement of the tester, and the tester's responsibility for managing his or her time.[3] - http://en.wikipedia.org/wiki/Exploratory_testing

Exploratory Testing is not just adhoc and saying adhoc is a turn off to people who don't understand exploratory testing. Why? True adhoc is literally monkey pressing buttons. … is a learning process. The code will change as the project progresses. Doing the same thing over and over again has diminishing returns Not a replacement for doing/running test cases

Exploratory Testing Is not a replacement for automation testing It’s a supplement to reduce the risk of the unknown quantity of bugs Comment : I would implore various strategies of depth and breadth type testing in trying to reduce the risk of an unknown quality and severity of bugs to make them known.

Why do we do black box testing? Because human thoughts and behavior changes from individuals as well as over time. We don’t necessarily do the same thing over and over again like automation testing does Bottom line : people think. And people think differently.

Human Cognitive Behavior Be aware of yourself and why you may miss bugs: http://viscog.beckman.illinois.edu/media/mistakes.html http://viscog.beckman.illinois.edu/flashmovie/15.php

Testing Be a scientist! Poke around! Try to figure things out Go beyond just doing the test case… Talk to each other about it, learn from each other If you don’t understand the bug, then how do you expect other people to? It’s like chess, try to think in steps ahead Test cases aren’t the rule book; they are a guideline The more you test the more experience you will gain. You can learn from any source; I often learn from people I have mentored as much as I’ve learned from the people who have taught me!

Session Based Testing Session-based testing is a software test method that aims to combine accountability and exploratory testing to provide rapid defect discovery, creative on-the-fly test design, management control and metrics reporting. The method can also be used in conjunction with scenario testing. Session-based testing was developed in 2000 by Jonathan and James Bach. Highly recommend looking at this… this is what top blackbox testers do in finding bugs as well as other things discussed later on.

Where to test? New Code Change Trends in bugs Looking at code change Trends in bugs Talking to Dev; what might they be worried about? Talking to other QA; what seems fragile? Risk areas What’s dangerous if it fails for human safety Embarrassment (functionality) Complexity untested

Types of testing MVC = Model View Controller UI Testing Functional/Business Logic testing Data/Input Testing Does user flow make sense? (Usability) Culturally effective? Which culture? Does it look cluttered?

Types of testing Functional Testing (Positive Testing) Negative Testing Boundary Testing Race Conditions Environment conditions Device specific Localization Initialization Load/Endurance 508 Compliance

Examples Functional Testing (Positive Testing) Negative Testing Use Cases and specifications Negative Testing Error handling, like bad email and incorrect website address Boundary Testing Max characters, or with integers -1, 0, 1, max -1, max, max + 1 Race Conditions Running music app, video app, and getting a phone call at the same time

Examples Environment conditions Device specific Localization Rural area testing of telephony vs urban Device specific Battery running low, graphics issues Localization Date format, starting day, fitting in ui, punctuations Initialization Start up of device, FTE, start up of apps versus OTA and continual usage

Examples Load/Endurance 508 Compliance Loading tons of facebook, versus keeping music app running for days on end 508 Compliance Handicap ie : blind, deaf user interfaces

How outlines/test plans can help From 1.0 https://wiki.mozilla.org/B2G/QA/Gaia_Test_Plan/Browser https://wiki.mozilla.org/Releases/Firefox_25/Test_Plan https://wiki.mozilla.org/QA/Fennec/Milestones/2.0/TestPlan:Virtual_Keyboard/Android_VKB https://wiki.mozilla.org/QA/Fennec/24/Beta/8

B2G Specific Example https://docs.google.com/spreadsheet/ccc?key=0Arku3jleCA0UdF9ZZWtyYm9iV1NLOGRTWkQzWHFsS2c#gid=5

How flowcharts can help Mapping out user flow Demo

Resources QA conferences QA newsgroups/forums/websites They can be pricey and advertisey QA newsgroups/forums/websites QA magazines/books/articles http://en.wikipedia.org/wiki/Software_testing http://www.amazon.com/exec/obidos/ASIN/0471358460/softwarqaandtest

B2G Architecture https://wiki.mozilla.org/B2G/Architecture https://github.com/sotaroikeda/firefox-diagrams/wiki/Firefox-Diagrams Git Hub: https://github.com/mozilla-b2g/gaia/commits/master Compare to sources.xml file : https://pvtbuilds.mozilla.org/pub/mozilla.org/b2g/nightly/mozilla-central-unagi/latest/sources.xml Tool for searching code https://mxr.mozilla.org/