Software Testing and Quality Assurance

Slides:



Advertisements
Similar presentations
Defect testing Objectives
Advertisements

Test Yaodong Bi.
Chapter 10 Software Testing
1 Integration Testing CS 4311 I. Burnstein. Practical Software Testing, Springer-Verlag, 2003.
Annoucements  Next labs 9 and 10 are paired for everyone. So don’t miss the lab.  There is a review session for the quiz on Monday, November 4, at 8:00.
Software Testing 3 Damian Gordon.
CMSC 345, Version 11/07 SD Vick from S. Mitchell Software Testing.
Software Engineering, COMP201 Slide 1 Software Testing Lecture 28 & 29.
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.
1 Software Testing and Quality Assurance Lecture 30 - Introduction to Software Testing.
Program Testing Nelson Padua-Perez Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
Illinois Institute of Technology
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 20 Slide 1 Defect testing l Testing programs to establish the presence of system defects.
Software Engineering Software Testing.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
- Testing programs to establish the presence of system defects -
Software Testing & Strategies
Software Engineering Lecture 13 Software Testing Strategies 1.
BY RAJESWARI S SOFTWARE TESTING. INTRODUCTION Software testing is the process of testing the software product. Effective software testing will contribute.
Chapter 13 & 14 Software Testing Strategies and Techniques
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 23 Slide 1 Software testing Slightly adapted by Anders Børjesson.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Software testing techniques 3. Software testing
Prof. Mohamed Batouche Software Testing.
INT-Evry (Masters IT– Soft Eng)IntegrationTesting.1 (OO) Integration Testing What: Integration testing is a phase of software testing in which.
1 Software Testing and Quality Assurance Lecture 33 – Software Quality Assurance.
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.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 13a: Software Testing Strategies Software Engineering: A Practitioner’s Approach, 6/e Chapter.
Testing Basics of Testing Presented by: Vijay.C.G – Glister Tech.
1 Chapter 7 Software Testing Strategies. 2 Software Testing Testing is the process of exercising a program with the specific intent of finding errors.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.1.
Chapter 8 – Software Testing Lecture 2 1Chapter 8 Software testing.
1 Software Defect Testing Testing programs to establish the presence of system defects.
This chapter is extracted from Sommerville’s slides. Text book chapter
Dr. Tom WayCSC Testing and Test-Driven Development CSC 4700 Software Engineering Based on Sommerville slides.
Software Testing Reference: Software Engineering, Ian Sommerville, 6 th edition, Chapter 20.
Software Testing Yonsei University 2 nd Semester, 2014 Woo-Cheol Kim.
Software Testing Reference: Software Engineering, Ian Sommerville, 6 th edition, Chapter 20.
CSC 480 Software Engineering Lecture 15 Oct 21, 2002.
What is Testing? Testing is the process of finding errors in the system implementation. –The intent of testing is to find problems with the system.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 20 Slide 1 Defect testing l Testing programs to establish the presence of system defects.
Chapter 2: Testing in Software Life Cycle MNN1063 System Testing and Evaluation.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
CSC 480 Software Engineering Test Planning. Test Cases and Test Plans A test case is an explicit set of instructions designed to detect a particular class.
Integration testing Integrate two or more module.i.e. communicate between the modules. Follow a white box testing (Testing the code)
CS451 Lecture 10: Software Testing Yugi Lee STB #555 (816)
HNDIT23082 Lecture 09:Software Testing. Validations and Verification Validation and verification ( V & V ) is the name given to the checking and analysis.
1 Software Testing & Quality Assurance Lecture 15 Created by: Paulo Alencar Modified by: Frank Xu.
Software Engineering By Germaine Cheung Hong Kong Computer Institute Lecture 7.
©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 Reference: Software Engineering, Ian Sommerville, 6 th edition, Chapter 20.
CSC 395 – Software Engineering Lecture 27: White-Box Testing.
Sommerville 9th Edition Chapter 8: Software Testing
Defect testing Testing programs to establish the presence of system defects.
SOFTWARE TESTING AND QUALITY ASSURANCE. Software Testing.
Chapter 9 Software Testing
Software Testing Techniques
Chapter 18 Software Testing Strategies
Chapter 13 & 14 Software Testing Strategies and Techniques
Lecture 09:Software Testing
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”
Chapter 13 & 14 Software Testing Strategies and Techniques 1 Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.
Presentation transcript:

Software Testing and Quality Assurance Lecture 29 - Introduction to Software Testing

Lecture Outline Introduction to testing types. Testing activities. Introduction to test cases, test oracles and their execution.

Testing Policy Only exhaustive testing can show a program is free from defects. However, exhaustive testing is impossible; Testing policies define the approach to be used in selecting system tests; For example, All functions accessed through menus should be tested; Combinations of functions accessed through the same menu should be tested; Where user input is required, all functions must be tested with correct and incorrect input.

Software Testing & Development Life Cycle Requirements System Testing Integration Testing Architectural Design Unit Testing Detail Design Implementation

Unit Testing module to be tested results software engineer test cases

Unit Testing module to be tested interface local data structures boundary conditions independent paths error handling paths test cases

Unit Testing test cases RESULTS driver Module stub stub interface local data structures Module boundary conditions independent paths error handling paths stub stub test cases RESULTS

Integration Testing Involves building a system from its components and testing it for problems that arise from component interactions. Top-down integration Develop the skeleton of the system and populate it with components. Bottom-up integration Integrate infrastructure components then add functional components. To simplify error localisation, systems should be incrementally integrated.

Integration Testing The Big-bang Approach. Incremental Approach.

Top-Down Integration A top module is tested with stubs B F G stubs are replaced one at a time, "depth first" C as new modules are integrated, some subset of tests is re-run D E

Bottom-Up Integration F G drivers are replaced one at a time, "depth first" C worker modules are grouped into builds and integrated D E cluster

Thread-Based Integration Top modules are tested with stubs B F G C Worker modules are grouped into builds and integrated D E cluster

System Testing System Functional Test System Performance Test Test entire system against the functional requirements. System Performance Test Test the non-functional requirements of the system. For example, Response times, load testing etc. System Acceptance Test Set of tests that the software must pass before it is accepted by the client.

Scenario-based Testing Trivial Example You have been asked to write a term paper on ‘Integration Testing in Component Based System’. To do this, you need to find references from a range of library databases. You logs on to the KFUPM library system and uses the search facility to find relevant papers from IEEE, ACM and Elsevier databases. One paper of special interest requires authentication and you have to fill an online form to receive the paper. If you are allowed, the paper will be downloaded and ready for collection. An email will be send to you once the paper is ready. Scenario-based Testing

Student Activity Identify the possible interactions for the system testing of library system.

Trivial Example - System Testing Test the login mechanism using correct and incorrect login. Test the search facility using queries against known source to check that the search mechanism is actually documents. Test system presentation facility to check that information about documents is displayed properly. Test the mechanism to request permission for downloading. Test the e-mail response indicating that the download document is available.

Need for an automatic test suite execution. Regression Testing Change do not always effect the entire program. Change in one part of system can effect other part. After each change Entire test suite of a system must be run again. Need for an automatic test suite execution.

Test Activities Boils down to selecting and executing test cases. Test case consists of…… Set of test inputs, of if the program is non-terminating, a sequence of test inputs. Expected results when the inputs are executed; and Execution conditions or execution environment in which the inputs are to be executed. These steps generally remain same from unit testing to system testing.

Test Case Selection Coverage criterion; Equivalence Partitioning Boundary-Value Analysis Coverage-Based Testing Control-flow Data-flow Expected behavior of every test input to be generated. (Test Oracles) Testing environment.

Difficult to automate or to assess their quality Test Oracles Determines whether or not the program has passed or failed the test case. A test oracle is A program A process A body of data In many cases - directly form the requirements. For example, a test case assessing performance - performance threshold. Difficult to automate or to assess their quality

Generally can be automated to an extend !!!! Test Execution Test inputs on the ‘program-under-test’ Record the actual behavior. Generally can be automated to an extend !!!!

Generally can be automated to an extend !!!! Test Evaluation Compare the actual behavior with the expected behavior. Generally can be automated to an extend !!!!

Generally can be automated to an extend !!!! Test Reporting Report the outcome of the testing. Developers Project Mangers etc. Generally can be automated to an extend !!!!

Key Points A system typically undergoes a range of testing types. Each type of testing is aimed at detecting different kinds of failures. Testing boils down to the selection and execution of test cases.