TESTING BASED ON ERROR GUESSING Rasa Zavistanavičiūtė, IFME-0/2.

Slides:



Advertisements
Similar presentations
Debugging ACL Scripts.
Advertisements

Testing and Quality Assurance
Grade Averaging and Class Ranking. This utility calculates grade average and class rank for the current year. The process also updates the student grade.
1 CHAPTER 8 BUFFER OVERFLOW. 2 Introduction One of the more advanced attack techniques is the buffer overflow attack Buffer Overflows occurs when software.
Software testing.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing 2.
Mehmet Can Vuran, Instructor University of Nebraska-Lincoln Acknowledgement: Overheads adapted from those provided by the authors of the textbook.
1 Software Testing and Quality Assurance Lecture 1 Software Verification & Validation.
Software Quality Assurance
Functional Testing.
Best Practices By Gabriel Rodriguez
1 Functional Testing Motivation Example Basic Methods Timing: 30 minutes.
Test Design Techniques
Ivan Stanchev QA Engineer System Integration Team Telerik QA Academy Telerik QA Academy.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
Semester 1, 2003 Week 7 CSE9020 / 1 Software Testing and Quality Assurance With thanks to Shonali Krishnaswamy and Sylvia Tucker.
Trend Quality Assurance Edward Tsai 蔡木本 趨勢科技全球軟體研發部協理 April 22, 2003.
Software Quality Assurance Lecture #8 By: Faraz Ahmed.
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.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
Objectives Understand the basic concepts and definitions relating to testing, like error, fault, failure, test case, test suite, test harness. Explore.
Introduction Telerik Software Academy Software Quality Assurance.
Software testing techniques 3. Software testing
RUP Implementation and Testing
Software Engineering Chapter 23 Software Testing Ku-Yaw Chang Assistant Professor Department of Computer Science and Information.
Chapter 8 – Software Testing Lecture 1 1Chapter 8 Software testing The bearing of a child takes nine months, no matter how many women are assigned. Many.
Sri Lanka Institute of Information Technology Software Engineering Project – I Clone of Rally GROUP NO : WD-SEP-002 | PROJECT NO :25 PROJECT : CLONE OF.
Computer Security and Penetration Testing
 CS 5380 Software Engineering Chapter 8 Testing.
Presentation of Failure- Oblivious Computing vs. Rx OS Seminar, winter 2005 by Lauge Wullf and Jacob Munk-Stander January 4 th, 2006.
Testing Basics of Testing Presented by: Vijay.C.G – Glister Tech.
Software Testing The process of operating a system or component under specified conditions, observing and recording the results, and making an evaluation.
Dr. Tom WayCSC Testing and Test-Driven Development CSC 4700 Software Engineering Based on Sommerville slides.
Introduction to Software Testing. Types of Software Testing Unit Testing Strategies – Equivalence Class Testing – Boundary Value Testing – Output Testing.
DEBUGGING. BUG A software bug is an error, flaw, failure, or fault in a computer program or system that causes it to produce an incorrect or unexpected.
Software testing techniques Software testing techniques Equivalence partitioning Presentation on the seminar Kaunas University of Technology.
INF 111 / CSE 121: Software Tools and Methods Lecture Notes for Fall Quarter, 2007 Michele Rousseau Set 12 (Some slides adapted from Sommerville 2000 &
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Slide 1 Human Computer Interface Design (HCI - Human Computer Interactions Alias.
2-1 A Federation of Information Systems. 2-2 Information System Applications.
Chapter 8 Lecture 1 Software Testing. Program testing Testing is intended to show that a program does what it is intended to do and to discover program.
Week 14 Introduction to Computer Science and Object-Oriented Programming COMP 111 George Basham.
MANUAL TESTING KS SESSION PRESENTED BY 26/11/015 VISHAL KUMAR.
Scientific Debugging. Errors in Software Errors are unexpected behaviors or outputs in programs As long as software is developed by humans, it will contain.
Intermediate 2 Computing Unit 2 - Software Development.
Topic 4 - Database Design Unit 1 – Database Analysis and Design Advanced Higher Information Systems St Kentigern’s Academy.
Software Quality Assurance and Testing Fazal Rehman Shamil.
Introduction Requirements and the Software Lifecycle (3)
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
“The Role of Experience in Software Testing Practice” A Review of the Article by Armin Beer and Rudolf Ramler By Jason Gero COMP 587 Prof. Lingard Spring.
TESTING BASED ON ERROR GUESSING NERINGA SIPAVIČIEN Ė IFM-2/4 It is not actually guessing. Good testers do not guess…
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.
Equivalence Partitioning
Software testing techniques TESTING BASED ON ERROR GUESSING
Module: Software Engineering of Web Applications
Protecting Memory What is there to protect in memory?
PREPARED BY G.VIJAYA KUMAR ASST.PROFESSOR
Testing and Debugging PPT By :Dr. R. Mall.
Chapter 8 – Software Testing
IT6004 – SOFTWARE TESTING.
Testing the Software with Blinders on
Teaching slides Chapter 9.
Testing and Test-Driven Development CSC 4700 Software Engineering
BASIC DEFINITIONS Errors : An error is a mistake, misconception, or misunderstanding on the part of a software developer. In the category of developer.
Chapter 10 – Software Testing
CS310 Software Engineering Dr.Doaa Sami Khafaga
Chapter 7 Software Testing.
Software Testing Strategies
Presentation transcript:

TESTING BASED ON ERROR GUESSING Rasa Zavistanavičiūtė, IFME-0/2

of 18 Agenda What is an error? Testing based on error guessing Purpose Used techniques How to improve your error guessing techniques? How to design test cases? Effectiveness Pros and Cons Examples Testing based on error guessing 2

of 18 What is an error? The occurrence of an incorrect result produced by a computer A software error is present when the program does not do what its end user reasonably expects it to do. A human action that produces an incorrect result. [IEEE 610] Testing based on error guessing 3

of 18 Testing based on error guessing Test design technique where the experience of a tester is used to find the components of software where defects might be present It is the process of using intuition and past experience to fill in the gaps in the test data sets Testing based on error guessing 4

of 18 Purpose of error guessing (1) The purpose of error guessing is to focus the testing activity on areas that have not been handled by the other more formal techniques, such as equivalence partitioning and boundary value analysis Error guessing is as important as equivalence partitioning and boundary value analysis because it is intended to compensate for the inherent incompleteness of those functions Testing based on error guessing 5

of 18 Purpose of error guessing (2) As equivalence partitioning and boundary value analysis complement one another, error guessing complements both of these techniques. Example in the next slide illustrates the controlled results from these approaches Testing based on error guessing 6

of 18 Purpose of error guessing (3) Testing based on error guessing 7

of 18 Used techniques Testers who are effective at error guessing use a range of techniques: 1. Knowledge about the AUT (1), such as the design method or implementation technology 2. Knowledge of the results of any earlier testing phases (particularly important in Regression Testing) 3. Experience of testing similar or related systems (and knowing where defects have arisen previously in those systems) 4. Knowledge of typical implementation errors (such as division by zero errors) 5. General testing rules 1 AUT - Application Under Test Testing based on error guessing 8

of 18 How to improve your error guessing techniques? (1) Improve your memory: List interesting error-types you come across Use existing bugs lists (for example as an appendix in Testing Computer Software, 2nd Edition)Testing Computer Software, 2nd Edition Improve your technical understanding: Go into the code, see how things are implemented, understand concepts like buffer overflow, null pointer assignment, array index boundaries, iterators, etc Learn about the technical context in which the software is running, special conditions in your OS, DB or web server Testing based on error guessing 9

of 18 How to improve your error guessing techniques? (2) Remember to look for errors not only in the code. Look for: Errors in requirements Errors in design Errors in coding Errors in build Errors in testing Errors in usage Testing based on error guessing 10

of 18 How to design test cases? There are no specific tools to use Test cases can be designed depending on the situation: It can be drawn from functional documents It can be drawn when an unexpected/undocumented error is found while testing operations Historical data about defects that have been found in code that the same developer or developers have written in the past can be used For example, if you know from past experience that developer A sometimes forgets to use "==" instead of "=", and developer B sometimes forgets to check pointers for NULL after allocating memory, then those are defects that you might wish to look for in any code written by those two developers in the future Testing based on error guessing 11

of 18 Effectiveness Different people with different experience will show different results Different experiences with different parts of the software will show different results As tester advances in the project and learns more about the system, he/she may become better in Error Guessing Testing based on error guessing 12

of 18 Pros and Cons + Highly successful testers are very effective at quickly evaluating a program and running an attack that exposes defects + Can be used to complement other testing approaches + It is a skill that is well worth cultivating since it can make testing much more effective and efficient - Testing experience is essential - Relies on tester’s intuition Testing based on error guessing 13

of 18 Example 1 Requirement 1: Contact No. should be numerals and should be not less than 10 characters Application is having Contact No. field These are the Error guessing technique: What will happen if you left Contact No. blank? What will happen if you enter other than numerals? What will happen if you enter less than 10 numerals? What will happen if you enter alphabets in between the digits? … Testing based on error guessing 14

of 18 Example 2 Requirement 2. Entered arrival date should be numerals and in valid range. Application has arrival date field These values for testing can be used: – April has only 30 days – 2011 is not a leap-year … Testing based on error guessing 15

of 18 Questions What is testing based on error guessing? What is the purpose of this testing? What techniques are used for this testing and how test cases can be designed? Testing based on error guessing 16

of 18 References ossary+of+Testing+Terms+2+1.pdf ossary+of+Testing+Terms+2+1.pdf Just enough software test automation, Daniel J. Mosley, Bruce A. Posey. Page and-exploratory-testing/ and-exploratory-testing/ software-flaws-with-error-guessing-tours software-flaws-with-error-guessing-tours Testing based on error guessing 17

Thank you Testing based on error guessing 18