Objectives Understand the basic concepts and definitions relating to testing, like error, fault, failure, test case, test suite, test harness. Explore.

Slides:



Advertisements
Similar presentations
Software Testing. Quality is Hard to Pin Down Concise, clear definition is elusive Not easily quantifiable Many things to many people You'll know it when.
Advertisements

Lecture 8: Testing, Verification and Validation
SOFTWARE TESTING. Software Testing Principles Types of software tests Test planning Test Development Test Execution and Reporting Test tools and Methods.
Testing and Quality Assurance
Ossi Taipale, Lappeenranta University of Technology
Chapter 4 Quality Assurance in Context
Testing Important to guarantee quality of software
OOP #10: Correctness Fritz Henglein. Wrap-up: Types A type is a collection of objects with common behavior (operations and properties). (Abstract) types.
Objectives Understand the basic concepts and definitions relating to testing, like error, fault, failure, test case, test suite, test harness. Understand.
Software Testing. “Software and Cathedrals are much the same: First we build them, then we pray!!!” -Sam Redwine, Jr.
1 Software Testing and Quality Assurance Lecture 5 - Software Testing Techniques.
Project Documentation and its use in Testing JTALKS.
Types and Techniques of Software Testing
1 Software Testing Techniques CIS 375 Bruce R. Maxim UM-Dearborn.
Test Design Techniques
Software Testing Sudipto Ghosh CS 406 Fall 99 November 9, 1999.
Software Testing Verification and validation planning Software inspections Software Inspection vs. Testing Automated static analysis Cleanroom software.
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
BY: GARIMA GUPTA MCA FINAL YEAR WHAT IS SOFTWARE TESTING ? SOFTWARE TESTING IS THE PROCESS OF EXECUTING PROGRAMS OR SYSTEM WITH THE INTENT.
Extreme Programming Software Development Written by Sanjay Kumar.
Dr Andy Brooks1 FOR0383 Software Quality Assurance Lecture 1 Introduction Forkröfur/prerequisite: FOR0283 Programming II Website:
CS 501: Software Engineering Fall 1999 Lecture 16 Verification and Validation.
CPIS 357 Software Quality & Testing
Introduction Telerik Software Academy Software Quality Assurance.
CMSC 345 Fall 2000 Unit Testing. The testing process.
Chapter 12: Software Testing Omar Meqdadi SE 273 Lecture 12 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Overview of Software Testing 07/12/2013 WISTPC 2013 Peter Clarke.
Software Testing Testing types Testing strategy Testing principles.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 23 Reliability III.
Chapter SIX Implementation, Testing and Pragmatics Making it a reality.
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.
1 Introduction to Software Testing. Reading Assignment P. Ammann and J. Offutt “Introduction to Software Testing” ◦ Chapter 1 2.
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.
Chair of Software Engineering Exercise Session 6: V & V Software Engineering Prof. Dr. Bertrand Meyer March–June 2007.
Week 14 Introduction to Computer Science and Object-Oriented Programming COMP 111 George Basham.
CPSC 873 John D. McGregor Session 9 Testing Vocabulary.
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 Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
CPSC 871 John D. McGregor Module 8 Session 1 Testing.
1 Software Testing Strategies: Approaches, Issues, Testing Tools.
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.
Dynamic Testing.
Chapter 12: Software Testing Omar Meqdadi SE 273 Lecture 12 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
1 Phase Testing. Janice Regan, For each group of units Overview of Implementation phase Create Class Skeletons Define Implementation Plan (+ determine.
Static and Integration Testing. Static Testing vs Dynamic Testing  To find defects  This testing includes verification process  without executing.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
Chapter 3- BASIC CONCEPTS OF TESTING Why software can never be perfect The terms commonly used by software testers.
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.
SOFTWARE TESTING AND QUALITY ASSURANCE. Software Testing.
CS223: Software Engineering Lecture 25: Software Testing.
Testing Integral part of the software development process.
CPSC 372 John D. McGregor Module 8 Session 1 Testing.
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini XVIII. Software Testing.
Software Engineering (CSI 321)
Testing Tutorial 7.
SOFTWARE TESTING OVERVIEW
Chapter 8 – Software Testing
Verification and Testing
Software testing strategies 2
Chapter 10 – Software Testing
Baisc Of Software Testing
Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution.
Software Verification and Validation
Software Verification and Validation
Software Verification and Validation
Presentation transcript:

Objectives Understand the basic concepts and definitions relating to testing, like error, fault, failure, test case, test suite, test harness. Explore the testing process—how testing is planned and how testing of a unit is done. Understand the two main testing approaches black-box and whit-box testing.

Software Testing The main objective of testing is to eliminate defects that resulted from the implementation stage as a part of ensuring the quality of the final product. The process of executing a program with the intent of finding errors. Two approaches for identifying defects in code: Static: through code inspection or analyzing tools. Dynamic: by executing the code and examine potential outputs.

Testing Concepts Errors: a measure of the difference between the actual and the ideal outputs. Fault: is a condition that causes a system to fail in performing its required function. Commonly known as bug Failure: is the inability of a system or component to perform a required function according to its specifications. Resulted behavior != expected behavior.

Testing Concepts Test case: can be considered as comprising a set of test inputs and execution conditions, which are designed to exercise the system under testing in a particular manner. Test suite: A group of related test cases that are generally executed together to test some specific behavior or aspect of a system.

Testing Concepts The intent of Testing Test to identify defects Input wrong values! Test to prove working Input correct values! Levels of Testing Unit testing verification of the code produced by individual programmers Integration testing System testing Acceptance testing Regression testing – after modification!

Testing Concepts

Testing Process Composed of : Test Plan Test case Design Test case Execution Test Plan: is a general document for the entire project that defines the scope, approach to be taken, and the schedule of testing, as well as identifies the test items for testing and the personnel responsible for the different activities of testing. Test Plan includes description of how the testing for the project will proceed, which units will be tested, and what approaches (and tools) are to be used during the various stages of testing. Input to test plan : Project plan, Req document, Design document.

Testing Process Test Case Design Test case design is a major activity in the testing process. Careful selection of test cases that satisfy the criterion and approach specified is essential for proper testing.

Testing Process Test Case Execution: During this test defects are found and logged. Defects detector maybe different that their fixer. Any launched system must have their defects closed.

Testing Approaches Black-box testing: The internal structure is not considered. White-box testing The internal structure are examined carefully.

Testing Approaches Black-box testing techniques: Partition inputs into classes and test one from each class. Boundary values E.g. From 0.0 to 1.0. Special cases E.g. divide by zero. State-based testing Consider inputs + previous state of system

Testing Approaches White-box testing techniques: Control Flow-Based Criteria When a block starts execution and when it passes control to other blocks A node corresponding to a block whose first statement is the start statement of P is called the start node of G, and a node corresponding to a block whose last statement is an exit statement is called an exit node

Example Check values between Compute the absolute value of a number

Key points Testing is a way to identify defects in a system. The intention of testing depends on the view of the tester. Black-box and white-box are two main approaches to testing.