Testing Dr. Andrew Wallace PhD BEng(hons) EurIng

Slides:



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

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.
Test Yaodong Bi.
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.
DETAILED DESIGN, IMPLEMENTATIONA AND TESTING Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
SOFTWARE TESTING. INTRODUCTION  Software Testing is the process of executing a program or system with the intent of finding errors.  It involves any.
Algorithms, Lists and Pseudocode Dr. Andrew Wallace PhD BEng(hons) EurIng
Software Engineering-II Sir zubair sajid. What’s the difference? Verification – Are you building the product right? – Software must conform to its specification.
1 Software Engineering Lecture 11 Software Testing.
Algorithms and Data types: Introduction Dr. Andrew Wallace PhD BEng(hons) EurIng
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.
Unit 251 Implementation and Integration Implementation Unit Testing Integration Integration Approaches.
Testing an individual module
Software Testing. “Software and Cathedrals are much the same: First we build them, then we pray!!!” -Sam Redwine, Jr.
CS4723 Software Validation and Quality Assurance Lecture 02 Overview of Software Testing.
Verification and Validation CIS 376 Bruce R. Maxim UM-Dearborn.
Software Testing Verification and validation planning Software inspections Software Inspection vs. Testing Automated static analysis Cleanroom software.
Testing. Definition From the dictionary- the means by which the presence, quality, or genuineness of anything is determined; a means of trial. For software.
© 2012 IBM Corporation Rational Insight | Back to Basis Series Chao Zhang Unit Testing.
Introduction Telerik Software Academy Software Quality Assurance.
CMSC 345 Fall 2000 Unit Testing. The testing process.
Software Testing.
1 Debugging and Testing Overview Defensive Programming The goal is to prevent failures Debugging The goal is to find cause of failures and fix it Testing.
CS1: chr, jeh, & Testing vs. Debugging Testing finds problems –Unit test –Integration test –System test Debugging finds and fixes causes.
Lecture 11 Testing and Debugging SFDV Principles of Information Systems.
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 Testing The process of operating a system or component under specified conditions, observing and recording the results, and making an evaluation.
CSE403 Software Engineering Autumn 2001 More Testing Gary Kimura Lecture #10 October 22, 2001.
Unit Testing 101 Black Box v. White Box. Definition of V&V Verification - is the product correct Validation - is it the correct product.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Software Verification, Validation and Testing.
Software Testing Łukasz Wojcieszek s2690 Tomasz Wyrzuc s2675.
Documentation Dr. Andrew Wallace PhD BEng(hons) EurIng
Software Testing White Box Testing. Agenda What is White Box Testing Correctness Tests and Path Coverage Correctness Tests and Line Coverage McCabe Cyclomatic.
Chapter 2.11 Program Validation. Reliable System = Reliable Hardware AND Reliable Software AND Compatible Hardware and Software.
Testing Chapter 23 IB103 Week 12 (part 3). Verify that a complex (any) program works correctly, that the program meets specifications The chapter reviews.
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.
Software Testing Mehwish Shafiq. Testing Testing is carried out to validate and verify the piece developed in order to give user a confidence to use reliable.
Static Techniques for V&V. Hierarchy of V&V techniques Static Analysis V&V Dynamic Techniques Model Checking Simulation Symbolic Execution Testing Informal.
 Software Testing Software Testing  Characteristics of Testable Software Characteristics of Testable Software  A Testing Life Cycle A Testing Life.
Dynamic Testing.
Structural Coverage. Measurement of structural coverage of code is a means of assessing the thoroughness of testing. Such metrics do not constitute testing.
CSC 395 – Software Engineering Lecture 27: White-Box Testing.
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.
Testing Integral part of the software development process.
CX Introduction to Web Programming Testing.
Software Testing. Software Quality Assurance Overarching term Time consuming (40% to 90% of dev effort) Includes –Verification: Building the product right,
Software Testing.
Rekayasa Perangkat Lunak Part-13
White-Box Testing Pfleeger, S. Software Engineering Theory and Practice 2nd Edition. Prentice Hall, Ghezzi, C. et al., Fundamentals of Software Engineering.
Software Testing.
Chapter 9, Testing.
CS5123 Software Validation and Quality Assurance
UNIT-4 BLACKBOX AND WHITEBOX TESTING
Program Slicing Baishakhi Ray University of Virginia
Software Testing (Lecture 11-a)
Static Testing Static testing refers to testing that takes place without Execution - examining and reviewing it. Dynamic Testing Dynamic testing is what.
Structural Coverage.
Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution.
Structural Coverage.
CSE403 Software Engineering Autumn 2000 More Testing
Software Testing.
CSE 1020:Software Development
UNIT-4 BLACKBOX AND WHITEBOX TESTING
08120: Programming 2: SoftwareTesting and Debugging
Presentation transcript:

Testing Dr. Andrew Wallace PhD BEng(hons) EurIng

Overview Aims Testing Static Testing Dynamic Testing

Aims Correctness (verification) Requirements Time Space Reliability (validation) Maintainability (regression)

Aims Test each module / function Integrate and test larger units Test whole program

Aims Formal reviews Standards Measurements

Testing What to test for? What can be tested for? What does the test actually tell us? When to test?

Testing Static Testing Analysis the code Logical analysis Dynamic Testing Running the code Debugging

Static Testing Informal Look through the code Get someone else to do it! Check standards Check loops / reachability Check variables Check documentation

Static Testing Metrics Code size Lines of code Lines of comments 5.5 errors per lines of code Complexity

Dynamic Testing input Code to Test Measured response

Dynamic Testing Software specification Test Cases Test Scripts Desired results Code execution Compare results

Dynamic Testing Test cases? Derived from specification Valid input? Invalid input? > max? < min? Test plan? Memory leaks?

Dynamic Testing Coverage Statement coverage Sc = s/S (s = statements executed, S= total number of statements) Decision coverage Dc = d/D (d = number of decision evaluated, D = total number of possible decisions) Path coverage Pc = p/P (p = number of paths executed, P = total number of paths)

Boxes Black box White box

Questions