DAIMIHenrik Bærbak Christensen1 Testing Terminology.

Slides:



Advertisements
Similar presentations
Lecture 8: Testing, Verification and Validation
Advertisements

Testing and Quality Assurance
SOFTWARE TESTING. INTRODUCTION  Software Testing is the process of executing a program or system with the intent of finding errors.  It involves any.
1 Static Testing: defect prevention SIM objectives Able to list various type of structured group examinations (manual checking) Able to statically.
DAIMIHenrik Bærbak Christensen1 TMM and the testing process Setting the context.
DAIMIHenrik Bærbak Christensen1 What is Software Quality?
Outline Types of errors Component Testing Testing Strategy
Software Testing Prasad G.
Planning and Tracking Software Quality Yordan Dimitrov Telerik Corporation
1 Software Testing Techniques CIS 375 Bruce R. Maxim UM-Dearborn.
Software Testing Verification and validation planning Software inspections Software Inspection vs. Testing Automated static analysis Cleanroom software.
Dr. Pedro Mejia Alvarez Software Testing Slide 1 Software Testing: Building Test Cases.
Software Testing Content Essence Terminology Classification –Unit, System … –BlackBox, WhiteBox Debugging IEEE Standards.
TESTING.
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
Objectives Understand the basic concepts and definitions relating to testing, like error, fault, failure, test case, test suite, test harness. Explore.
Planning and Tracking Software Quality.  What Is Software Quality?  Causes of Software Defects  What is Quality Assurance?  Improving the Software.
Software Metrics - Data Collection What is good data? Are they correct? Are they accurate? Are they appropriately precise? Are they consist? Are they associated.
Software testing basic. Main contents  Why is testing necessary?  What is testing?  Test Design techniques  Test level  Test type  How to write.
Software Testing Testing principles. Testing Testing involves operation of a system or application under controlled conditions & evaluating the results.
1 Software testing. 2 Testing Objectives Testing is a process of executing a program with the intent of finding an error. A good test case is in that.
TESTING PRINCIPLES BY K.KARTHIKEYAN. PRINCIPLES Principle 1. Testing is the process of exercising a software component using a selected set of test cases,
Software Testing Testing types Testing strategy Testing principles.
Software Testing The process of operating a system or component under specified conditions, observing and recording the results, and making an evaluation.
Basic of Software Testing Presented by The Smartpath Information System An ISO 9001:2008 Certified Organization
Software Metrics and Reliability. Definitions According to ANSI, “ Software Reliability is defined as the probability of failure – free software operation.
Introduction to Software Testing. Types of Software Testing Unit Testing Strategies – Equivalence Class Testing – Boundary Value Testing – Output Testing.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Software Verification, Validation and Testing.
Advanced Software Engineering 1 Advanced Software Engineering: Software Testing COMP 3705 (Lecture1) Sada Narayanappa Anneliese Andrews (Chair DU) Thomas.
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.
Advanced Software Engineering: Software Testing COMP 3702 (Lecture1) Sada Narayanappa Seif Azgandhi Anneliese Andrews Thomas Thelin Carina Andersson.
Software Engineering 2004 Jyrki Nummenmaa 1 BACKGROUND There is no way to generally test programs exhaustively (that is, going through all execution.
Chapter 1: Fundamental of Testing Systems Testing & Evaluation (MNN1063)
Chapter 8 Testing. Principles of Object-Oriented Testing Å Object-oriented systems are built out of two or more interrelated objects Å Determining the.
Software Testing and Quality Assurance 1. What is the objectives of Software Testing?
TESTING FUNDAMENTALS BY K.KARTHIKEYAN.
Software Quality Assurance and Testing Fazal Rehman Shamil.
 Software Testing Software Testing  Characteristics of Testable Software Characteristics of Testable Software  A Testing Life Cycle A Testing Life.
1 test10b Software Testing Necessary to measure and certify quality in software.
1 Phase Testing. Janice Regan, For each group of units Overview of Implementation phase Create Class Skeletons Define Implementation Plan (+ determine.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
SOFTWARE TESTING SOFTWARE TESTING Presented By, C.Jackulin Sugirtha-10mx15 R.Jeyaramar-10mx17K.Kanagalakshmi-10mx20J.A.Linda-10mx25P.B.Vahedha-10mx53.
What is a software? Computer Software, or just Software, is the collection of computer programs and related data that provide the instructions telling.
SOFTWARE TESTING LECTURE 9. OBSERVATIONS ABOUT TESTING “ Testing is the process of executing a program with the intention of finding errors. ” – Myers.
Testing Integral part of the software development process.
Week#3 Software Quality Engineering.
ISQB Software Testing Section Meeting 10 Dec 2012.
Software Testing and Debugging
Software Metrics and Reliability
SOFTWARE TESTING Date: 29-Dec-2016 By: Ram Karthick.
PREPARED BY G.VIJAYA KUMAR ASST.PROFESSOR
Testing Tutorial 7.
CompSci 230 Software Construction
Software Testing An Introduction.
Chapter 8 – Software Testing
IT6004 – SOFTWARE TESTING.
Verification & Validation
Types of Testing Visit to more Learning Resources.
Software testing strategies 2
BASIC DEFINITIONS Errors : An error is a mistake, misconception, or misunderstanding on the part of a software developer. In the category of developer.
Welcome to Corporate Training -1
Software Verification and Validation
Software Verification and Validation
Software Testing.
Software Verification and Validation
© Oxford University Press All rights reserved.
Paul Ammann & Jeff Offutt
Presentation transcript:

DAIMIHenrik Bærbak Christensen1 Testing Terminology

DAIMIHenrik Bærbak Christensen2 The terminology jungle Some effort has been invested in defining terms like error, defect, bug, failure, mistake, precisely. The apparent consequence is that everybody comes with their own precise definition...

DAIMIHenrik Bærbak Christensen3 IEEE Std

DAIMIHenrik Bærbak Christensen4 Burnstein Error (Da: fejl) –mistake, misconception, or misunderstanding by developer Fault (defect) (Da: defekt) –anomaly in software that may cause it to behave incorrectly, and not according to specification Failure (Da: svigt) –inability of software unit to perform its required functions within specified performance requirements

DAIMIHenrik Bærbak Christensen5 Bruegge Definitions used in dAPF course: –Failure [Svigt]: any deviation of the observed behavior from the specified behavior. –Error [fejltilstand]: system state where any further processing by the system will lead to an failure. –Fault (defect/bug): mechanical or algorithmic cause of an error.

DAIMIHenrik Bærbak Christensen6 The relations Failure = behavioural malfunction Defect = code anomaly Then –Defect  Failure ? No: –mention a class of defects that will not lead to failure Other way around: –Failure but no defects?

DAIMIHenrik Bærbak Christensen7 Testing = executing based Testing is an execution based process: Finding failures by executing software units –and hopefully identify the defect that caused it This is in contrast to inspection based processes like reviews. Definition: –Test case = set of input expected output execution conditions

DAIMIHenrik Bærbak Christensen8 Definition: Test Case Example: Testing System.abs A necessary part of a test case is a definition of the expected output or result. inputoutput parameter =

DAIMIHenrik Bærbak Christensen9 What about objects? Test cases seem to demand a functional paradigm ??? How would you define the test-case here? acc:Account balance == ? withdraw(150) ? inputoutput parameter = 150???

DAIMIHenrik Bærbak Christensen10 Objects Objects retain state over method calls. Some method calls mutate the object’s state. Thus object state is part of the test case input and output specification! Or: Considered part of the execution conditions inputoutput parameter = 150; acc.balance == 100acc.balance == -50 inputoutput parameter = 150acc.balance == -50 acc.balance == 100

DAIMIHenrik Bærbak Christensen11 Definitions Test –set of test cases + procedures to carry them out Test Oracle –artefact that allows testers to determine whether a test has passed or failed passed = no failure detected Test Bed –Execution environment that provides necessary hardware and software to test a unit

DAIMIHenrik Bærbak Christensen12 Testing Principles Burnstein 1) Testing = process with the intent of a) reveal defects b) evaluate quality 2) Good test case = high probability of revealing an undetected defect –Corollary: write as few tests as possible that covers as much code as possible –This is the basis of the equivalence class testing technique

DAIMIHenrik Bærbak Christensen13 Example Example: System.abs(int x) –If I have already tested that abs(37) == 37 then how much will I gain by also testing abs(39)? All integer values

DAIMIHenrik Bærbak Christensen14 Principles 3) Test results should be inspected meticulously –Corollary: do not use the production code algorithm to calculate the expected output 4) Test case must contain the expected output –it is not something the tester should guess about 5) Test cases should be developed for both valid and invalid input conditions –it is often the error handling code that is tested least...

DAIMIHenrik Bærbak Christensen15 Principles 6) The probability of additional defects in a component is proportional to the number already detected in it –due to high complexity or poor design 7) Testing should be independent of the development group –you often become blind to your code’s faults...

DAIMIHenrik Bærbak Christensen16 Principles 8) Tests must be repeatable and reusable –write them down clearly or even better automate them 9) Testing should be planned –make plans and objectives for each type of testing unit, integration, system 10) Testing activities should be integrated into the software life cycle 11) Testing is creative and challenging