Software Testing 3 Damian Gordon.

Slides:



Advertisements
Similar presentations
Test process essentials Riitta Viitamäki,
Advertisements

Lecture 8: Testing, Verification and Validation
System Integration Verification and Validation
Testing throughout the software life cycle
Software Architecture Prof.Dr.ir. F. Gielen
CMSC 345, Version 11/07 SD Vick from S. Mitchell Software 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.
Illinois Institute of Technology
SE 555 – Software Requirements & Specifications Introduction
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.
Introduction to Software Testing
Software Testing & Strategies
Software Testing Introduction. Agenda Software Testing Definition Software Testing Objectives Software Testing Strategies Software Test Classifications.
Issues on Software Testing for Safety-Critical Real-Time Automation Systems Shahdat Hossain Troy Mockenhaupt.
Non-functional requirements
Software System Integration
BY RAJESWARI S SOFTWARE TESTING. INTRODUCTION Software testing is the process of testing the software product. Effective software testing will contribute.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
Software Testing Verification and validation planning Software inspections Software Inspection vs. Testing Automated static analysis Cleanroom software.
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22Slide 1 Verification and Validation u Assuring that a software system meets a user's.
System Testing There are several steps in testing the system: –Function testing –Performance testing –Acceptance testing –Installation testing.
Extreme Programming Software Development Written by Sanjay Kumar.
Product Quality, Testing, Reviews and Standards
TESTING.
University of Palestine software engineering department Testing of Software Systems Testing throughout the software life cycle instructor: Tasneem.
Object-Oriented Software Engineering, Ch. 9
Topics Covered: Software requirement specification(SRS) Software requirement specification(SRS) Authors of SRS Authors of SRS Need of SRS Need of SRS.
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
Requirements Engineering ments_analysis.
Chapter 8 – Software Testing Lecture 2 1Chapter 8 Software testing.
Dr. Tom WayCSC Testing and Test-Driven Development CSC 4700 Software Engineering Based on Sommerville slides.
Chapter 8 – Software Testing Part 2 1Chapter 8 Software testing.
University of Palestine software engineering department Testing of Software Systems Testing throughout the software life cycle instructor: Tasneem.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Software Verification, Validation and Testing.
Historical Aspects Origin of software engineering –NATO study group coined the term in 1967 Software crisis –Low quality, schedule delay, and cost overrun.
TESTING LEVELS Unit Testing Integration Testing System Testing Acceptance Testing.
Requirements Engineering Lesson 2. Terminologies:  Software Acquisition is where requirement engineering significantly meets business strategy.  Software.
Software Testing Process By: M. Muzaffar Hameed.
Software Engineering 2004 Jyrki Nummenmaa 1 BACKGROUND There is no way to generally test programs exhaustively (that is, going through all execution.
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)
1 Software Testing Strategies: Approaches, Issues, Testing Tools.
Requirements Engineering ments_analysis.
What is a level of test?  Defined by a given Environment  Environment is a collection of people, hard ware, software, interfaces, data etc.
Rekayasa Perangkat Lunak Sesi 14 Software Testing.
HNDIT23082 Lecture 09:Software Testing. Validations and Verification Validation and verification ( V & V ) is the name given to the checking and analysis.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
System Testing 12/09. Hierarchy of Testing Testing Program Testing Top Down Bottom Up Integration TestingUnit Testing System Testing Big Bang Sandwich.
CS 325: Software Engineering February 16, 2016 Designing a Design Class Diagram Design Class Diagrams DCD: Restaurant Example DCD: ATM Example Software.
SOFTWARE TESTING SOFTWARE TESTING Presented By, C.Jackulin Sugirtha-10mx15 R.Jeyaramar-10mx17K.Kanagalakshmi-10mx20J.A.Linda-10mx25P.B.Vahedha-10mx53.
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.
Tool Support for Testing Classify different types of test tools according to their purpose Explain the benefits of using test tools.
Software Testing By Souvik Roy. What is Software Testing? Executing software in a simulated or real environment, using inputs selected somehow.
Testing throughout Lifecycle Ljudmilla Karu. Verification and validation (V&V) Verification is defined as the process of evaluating a system or component.
Software Testing Kobla Setriakor Nyomi Faculty Intern (Programming II)
Software Testing.
PREPARED BY G.VIJAYA KUMAR ASST.PROFESSOR
Rekayasa Perangkat Lunak Part-13
Chapter 2: Testing throughout the software life cycle
TESTING IN THE SOFTWARE LIFE CYCLE &TEST LEVELS Chapter 2 1/11/
CHAPTER 2 Testing Throughout the Software Life Cycle
Lecture 09:Software Testing
Testing and Test-Driven Development CSC 4700 Software Engineering
Software testing.
Presentation transcript:

Software Testing 3 Damian Gordon

Test Levels

Test Levels Component Testing Integration Testing System Testing Acceptance Testing

Test Levels Component Testing

Test Levels Component Testing Also known as Unit Testing, Module Testing, and Program Testing

Test Levels Component Testing Searching for defects in, and verifies the functioning of software that are separately testable. This testing can be done in isolation of other parts of the system, using stubs and drivers. A A Driver B Stub B

Test Levels Component Testing May include the testing of the functionality and specific non-functional characteristics such as resource behaviour, e.g. Memory leaks Also Robustness testing or performance testing Also structure testing, e.g. Decision coverage

Test Levels Integration Testing

Test Levels Integration Testing Testing interfaces between components, as well as interactions to different parts of the system, such as an operating system, and a file system. Component Integration Testing is testing interactions between components System Integration Testing is testing the interaction of the developed system with other systems

Test Levels Integration Testing It’s generally better to integrate components to each other in groups, and then test that process, rather than a “big bang” integration when all discrete components are integrated simultaneously. With the “big bang” approach, it is very difficult to trace the cause of failures to one specific component. The opposite approach is integrating one component at a time, which can often be too time consuming.

Test Levels Integration Testing This incremental approach to integration leads to a number of possible approaches: Top-Down: Test starts at the top, e.g. From the GUI or main menu Bottom-up: One component at a time Functional Incremental: Integration and testing on the basis of functionality

Test Levels System Testing

Test Levels System Testing Looking at the behaviour of the whole system as defined by the scope of a development project. It may include tests based on risks and/or requirements specification, business processes, use cases, or other high-level descriptions of system behaviour, interactions with the operating system, and system resources.

Test Levels System Testing It is most often the final testing on behalf of the development to verify that the system delivered meets the specification.

Test Levels System Testing It should include investigation of both the functional and non-functional requirements of the system Typical non-functional tests include performance and reliability. Typical functional tests include black-box testing.

Test Levels System Testing It must be undertaken in a controlled test environment, with software versions, testware, and test data. The test environment needs to match the live environment as much as possible.

Test Levels Acceptance Testing

Test Levels Acceptance Testing This is testing done by the customers/users, potentially as well as other stakeholders. The goal of this testing is to establish confidence in the system, focussing on issues such as fit-for-purpose, and usability.

Test Levels Acceptance Testing Two types of acceptance testing: The user acceptance test focuses mainly on functionality thereby validating the fitness-for- use of the system by the users. The operational acceptance test validates whether the system meets the requirements for operation.

Test Levels Acceptance Testing Other types of acceptance testing: Contract acceptance tests performed against a contract’s acceptance criteria for producing the software. Compliance acceptance tests are preformed against regulations such as governmental, legal or safety regulations.

Test Levels Acceptance Testing If the software is intended for the mass market, customer testing is impractical, but feedback is needed, so it’s often done in a two stage process The first is Alpha Testing, this takes place at the developers site, a cross-section of potential users are invited to use the system, and developers observe the users and note problems. The second is Beta Testing, sends the system out to a cross-section of the users, who install it, and use it under real-world conditions. The users send records of incidents with the system to the development organisation where the defects are repaired.

Test Types

Test Types Functional Testing Non-functional Testing Structural Testing Confirmation and Regression Testing

Test Types Functional Testing

Test Types Functional Testing The function of a system is “what it does”. Typically described in requirements document, or in use cases. Can be based on ISO 9124, but focusing on suitability, interoperability, security, accuracy, and compliance.

International Organization for Standardization ISO is an international standard-setting body composed of representatives from various national standards organizations. Founded on February 23, 1947, the organization promulgates worldwide proprietary, industrial and commercial standards. It has its headquarters in Geneva, Switzerland.

Test Types Functional Testing Two types, Requirements-based testing and Business-process-based testing Requirements-based testing use the functional specification to develop tests. Business-process-based testing uses the knowledge of business processes.

Test Types Non-Functional Testing

Test Types Non-Functional Testing Looking at quality characteristics, looking at how well something is being done, or how fast. Includes things like, performance testing, load testing, stress testing, usability testing, maintainability testing, reliability testing, and portability testing.

Test Types Non-Functional Testing Can be based on ISO 9124, but focusing on reliability, usability, efficiency, maintainability, and portability.

Test Types Structural Testing

Test Types Structural Testing Looking at the system architecture or structure of the system or component. Often used as a way of measuring the thoroughness of the testing through coverage of a set of structural elements of coverage items.

Does A/2 give a remainder? Check if a number is odd or even START Read in A Does A/2 give a remainder? Print “It’s Odd” Print “It’s Even” Yes No END

Print out the biggest of two numbers START Read in A and B A>B? Print A Print B Yes No END

Print out the biggest of three numbers START Print out the biggest of three numbers Read in A, B and C A>C? A>B? B>C? Yes Yes No Yes No No Print A Print C Print B END

Print out the numbers 1 to 5 START A = 1 A = A + 1 Is A==6? No Print A Yes END

Test Types Confirmation and Regression Testing

Test Types Confirmation and Regression Testing Testing changes to software, two general types: Confirmation Testing Regression Testing

Test Types Confirmation and Regression Testing Confirmation Testing When a test fails and we determine the cause of the failure, once that defect is fixed, we need to rerun the test again to confirm that the error has been corrected. It is important to rerun the test in the exact same way – same input, same data, and same environment.

Test Types Confirmation and Regression Testing Regression Testing Testing to check if there hasn’t been any “unexpected side-effects” as a result of some change.