Software Testing Technique. Introduction Software Testing is the process of executing a program or system with the intent of finding errors. It involves.

Slides:



Advertisements
Similar presentations
SOFTWARE ENGINEERING & IT 0301 Semester V
Advertisements

Software Testing Techniques
Chapter 14 Software Testing Techniques - Testing fundamentals - White-box testing - Black-box testing - Object-oriented testing methods (Source: Pressman,
Lecture 12 - Software Testing Techniques & Software Testing Strategies
Unit-V testing strategies and tactics.
Chapter 14 Testing Tactics
Lecture 8: Testing, Verification and Validation
Testing (1) Let’s look at : Principles of testing The testing process
SOFTWARE TESTING. INTRODUCTION  Software Testing is the process of executing a program or system with the intent of finding errors.  It involves any.
1 Software Engineering Lecture 11 Software Testing.
November 2005J. B. Wordsworth: J5DAMQVT1 Design and Method Quality, Verification, and Testing.
Creator: ACSession No: 13 Slide No: 1Reviewer: SS CSE300Advanced Software EngineeringFebruary 2006 Testing - Techniques CSE300 Advanced Software Engineering.
Chapter 17 Software Testing Techniques
Software Testing Techniques. December Introduction Many aspects to achieving software quality –Formal reviews (of both the software process and.
BASIS PATH TESTING ● By Tom McCabe ● McCabe, T., "A Software Complexity Measure," IEEE Trans. Software Engineering, vol. SE-2, December 1976, pp
Testing an individual module
Unit Testing CS 414 – Software Engineering I Don Bagert Rose-Hulman Institute of Technology January 16, 2003.
1 Software Testing Techniques CIS 375 Bruce R. Maxim UM-Dearborn.
Black Box Software Testing
Software Systems Verification and Validation Laboratory Assignment 3
Software Testing Techniques
CMSC 345 Fall 2000 Unit Testing. The testing process.
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.
Software Reviews & testing Software Reviews & testing An Overview.
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.
Agenda Introduction Overview of White-box testing Basis path testing
1 Chapter : Testing Tactics. 2 Testing Fundamental Software engineer attempts to build software from an abstract concept to a tangible product. Next is.
INTRUDUCTION TO SOFTWARE TESTING TECHNIQUES BY PRADEEP I.
White-box Testing.
1 Program Testing (Lecture 14) Prof. R. Mall Dept. of CSE, IIT, Kharagpur.
Software Engineering Lecture 14: Testing Techniques and Strategies.
Software Testing and Quality Assurance 1. What is the objectives of Software Testing?
08120: Programming 2: SoftwareTesting and Debugging Dr Mike Brayshaw.
Theory and Practice of Software Testing
SOFTWARE TESTING. Introduction Software Testing is the process of executing a program or system with the intent of finding errors. It involves any activity.
White Box Testing by : Andika Bayu H.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.1.
Software Testing Techniques Presented By Dr. Shazzad Hosain.
SOFTWARE TESTING LECTURE 9. OBSERVATIONS ABOUT TESTING “ Testing is the process of executing a program with the intention of finding errors. ” – Myers.
Verification vs. Validation Verification: "Are we building the product right?" The software should conform to its specification.The software should conform.
Software Testing. SE, Testing, Hans van Vliet, © Nasty question  Suppose you are being asked to lead the team to test the software that controls.
1 Software Testing. 2 What is Software Testing ? Testing is a verification and validation activity that is performed by executing program code.
Testing Integral part of the software development process.
Chapter 17 Software Testing Techniques
Group mambers: Maira Naseer (BCS ).
BASIS PATH TESTING.
Software Testing.
Software Testing.
Software Testing Techniques
Software Engineering (CSI 321)
Software Testing An Introduction.
Chapter 13 & 14 Software Testing Strategies and Techniques
Structural testing, Path Testing
Types of Testing Visit to more Learning Resources.
White Box Testing.
UNIT-IV ECS-602 Software engineering PART-I
UNIT-4 BLACKBOX AND WHITEBOX TESTING
Introduction to Software Testing
Software Testing (Lecture 11-a)
Chapter 14 Software Testing Techniques
User Interface Design & Testing Technique
Chapter 10 – 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 Testing “If you can’t test it, you can’t design it”
Software Testing.
UNIT-4 BLACKBOX AND WHITEBOX TESTING
By: Lecturer Raoof Talal
08120: Programming 2: SoftwareTesting and Debugging
Presented by KARRI GOVINDA RAO ,
Presentation transcript:

Software Testing Technique

Introduction Software Testing is the process of executing a program or system with the intent of finding errors. It involves any activity aimed at evaluating an attribute or capability of a program or system and determining that it meets its required results

Testing Objectives 1. Testing is a process of executing a program with the intent of finding an error. 2. A good test case is one that has high probability of finding an undiscovered error. 3. A successful test is one that uncovers an as-yet undiscovered error. The major testing objective is to design tests that systematically uncover types of errors with minimum time and effort.

Testing Principals All tests should be traceable to customer requirements. Tests should be planned long before testing begins. The Pareto principle applies to software testing. 80% of all errors uncovered during testing will likely be traceable to 20% of all program modules. Testing should begin in the small and progress toward testing in the large. Exhaustive testing is not possible. To be most effective, testing should be conducted by an independent third party.

Software Testability Operability if it works better it can be tested more efficiently Observability what you see is what you test Controllability if software can be controlled better the it is more that testing can be automated and optimized

Software Testability Decomposability controlling the scope of testing allows problems to be isolated quickly and retested intelligently Stability the fewer the changes, the fewer the disruptions to testing Understandability the more information that is known, the smarter the testing can be done

Good Test Attributes A good test has a high probability of finding an error. A good test is not redundant. A good test should be best of breed. A good test should not be too simple or too complex.

Test Strategies Black-box or behavioral testing knowing the specific functions of a software, design tests to demonstrate each function and check its errors. White-box or glass-box testing knowing the internals of a software, design tests to exercise all internals of a software to make sure they operates according to specifications and designs.

Black Box Testing

Test cases are derived from formal specification of the system. Test case selection can be done without any reference to the program design or code. Only tests the functionality and features of the program. Not the internal operation. Advantages Test case selection is done before the implementation of a program. Help in getting the design and coding correct with respect to the specification.

White Box Testing Test cases are derived from the internal design specification or actual code for the program. Advantages Tests the internal details of the code; Checks all paths that a program can execute. Limitations Wait until after designing and coding the program under test in order to select test cases.

White Box Testing Using white-box testing methods, we derive test cases that Guarantee that all independent paths within a module have been exercised at least once. Exercise all logical decisions one their true and false sides. Execute all loops at their boundaries and within their operational bounds. Exercise internal data structures to assure their validity.

White Box Testing White-box test design techniques include: Control flow testing Data flow testing Branch testing Path testing

Basis Path Testing White-box technique usually based on the program flow graph The cyclomatic complexity of the program computed from its flow graph using the formula V(G) = E – N + 2 Determine the basis set of linearly independent paths (the cardinality of this set is the program cyclomatic complexity) Prepare test cases that will force the execution of each path in the basis set.

Deriving Test Cases Step 1 : Using the design or code as a foundation, draw a corresponding flow graph. Step 2: Determine the cyclomatic complexity of the resultant flow graph. Step 3: Determine a basis set of linearly independent paths. For example, path 1: path 2: path 3: path 4: … path 5: Path 6: Step 4: Prepare test cases that will force execution of each path in the basis set.