SOFTWARE TESTING AND QUALITY ASSURANCE. Software Testing.

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

Chapter 10 Software Testing
Alternate Software Development Methodologies
Software Testing and Quality Attributes Software Testing Module ( ) Dr. Samer Hanna.
November 2005J. B. Wordsworth: J5DAMQVT1 Design and Method Quality, Verification, and Testing.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
Software Testing and Quality Assurance
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
1 Software Testing and Quality Assurance Lecture 30 - Introduction to Software Testing.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing 2.
Objectives Understand the basic concepts and definitions relating to testing, like error, fault, failure, test case, test suite, test harness. Understand.
1 Software Testing and Quality Assurance Lecture 30 – Testing Systems.
1 Software Testing and Quality Assurance Lecture 1 Software Verification & Validation.
1 Software Testing and Quality Assurance Lecture 5 - Software Testing Techniques.
 QUALITY ASSURANCE:  QA is defined as a procedure or set of procedures intended to ensure that a product or service under development (before work is.
Chapter 11: Testing The dynamic verification of the behavior of a program on a finite set of test cases, suitable selected from the usually infinite execution.
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.
Dr. Pedro Mejia Alvarez Software Testing Slide 1 Software Testing: Building Test Cases.
System/Software Testing
1 Object-Oriented Testing CIS 375 Bruce R. Maxim UM-Dearborn.
Software Quality Assurance Lecture #8 By: Faraz Ahmed.
1 Software Testing (Part-II) Lecture Software Testing Software Testing is the process of finding the bugs in a software. It helps in Verifying and.
Objectives Understand the basic concepts and definitions relating to testing, like error, fault, failure, test case, test suite, test harness. Explore.
Let us start from the V-Model Verification Phases Requirements analysis System Design Architecture Design Module Design Coding Validation phases Unit.
Introduction Telerik Software Academy Software Quality Assurance.
CMSC 345 Fall 2000 Unit Testing. The testing process.
Chapter 8 – Software Testing Lecture 1 1Chapter 8 Software testing The bearing of a child takes nine months, no matter how many women are assigned. Many.
Overview of Software Testing 07/12/2013 WISTPC 2013 Peter Clarke.
1 Software Testing and Quality Assurance Lecture 33 – Software Quality Assurance.
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.
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.
CSE403 Software Engineering Autumn 2001 More Testing Gary Kimura Lecture #10 October 22, 2001.
Test Coverage CS-300 Fall 2005 Supreeth Venkataraman.
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.
Today’s Agenda  HW #1  Finish Introduction  Input Space Partitioning Software Testing and Maintenance 1.
Software Testing Reference: Software Engineering, Ian Sommerville, 6 th edition, Chapter 20.
Testing Techniques Software Testing Module ( ) Dr. Samer Hanna.
1 Introduction to Software Testing. Reading Assignment P. Ammann and J. Offutt “Introduction to Software Testing” ◦ Chapter 1 2.
Software Testing Definition Software Testing Module ( ) Dr. Samer Odeh Hanna.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 20 Slide 1 Defect testing l Testing programs to establish the presence of system defects.
Week 14 Introduction to Computer Science and Object-Oriented Programming COMP 111 George Basham.
Software Engineering 2004 Jyrki Nummenmaa 1 BACKGROUND There is no way to generally test programs exhaustively (that is, going through all execution.
Testing OO software. State Based Testing State machine: implementation-independent specification (model) of the dynamic behaviour of the system State:
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
Software Testing and Quality Assurance 1. What is the objectives of Software Testing?
Integration testing Integrate two or more module.i.e. communicate between the modules. Follow a white box testing (Testing the code)
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 Quality Assurance and Testing Fazal Rehman Shamil.
Dynamic Testing.
HNDIT23082 Lecture 09:Software Testing. Validations and Verification Validation and verification ( V & V ) is the name given to the checking and analysis.
This chapter is extracted from Sommerville’s slides. Textbook chapter 22 1 Chapter 8 Validation and Verification 1.
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.
Lecturer: Eng. Mohamed Adam Isak PH.D Researcher in CS M.Sc. and B.Sc. of Information Technology Engineering, Lecturer in University of Somalia and Mogadishu.
Week # 4 Quality Assurance Software Quality Engineering 1.
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.
CS223: Software Engineering Lecture 25: Software Testing.
Testing Integral part of the software development process.
 System Requirement Specification and System Planning.
Testing Approaches.
Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution.
Chapter 7 Software Testing.
Presentation transcript:

SOFTWARE TESTING AND QUALITY ASSURANCE

Software Testing

What is SW Testing?  Sommerville (Sommerville, 2004) defines testing as: “Software testing involves running an implementation of the software with test data. You examine the outputs of the software and its operational behavior to check that it is performing as required. Testing is a dynamic technique of verification and validation”

What Are We Testing? I. System Testing II. Unit Testing

5 I. System Testing  System Functional 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.

6 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 response indicating that the download document is available.

7 II. Unit Testing module to be tested test cases results softwareengineer

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.

9 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.

10 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

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

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

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

Types of Testing Testing Black-Box Testing White-Box Testing

15 Black-Box Testing requirements events input output

16 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.

17 Black-Box Testing  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.

18 White-Box Testing

19 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.

20 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.  Black-box and white-box testing are complementary approaches.

Quality Assurance (QA)

What is QA?  Software quality is a complex and subjective mixture of several attributes or factors and there is no universal definition or a unique metric to quantify software quality  Software quality is measured by analyzing the various attributes that are significant to a certain domain or application

QA Goal  The goal of quality assurance is to improve software quality and to determine the degree to which the actual behavior of the software is consistent with the intended behavior or quality of this software.

Quality Factors and Criteria Table 17.1: McCall’s quality factors [10].

When to Start QA