Levels of testing.

Slides:



Advertisements
Similar presentations
Object Oriented Analysis And Design-IT0207 iiI Semester
Advertisements

Testing Relational Database
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Software Testing and Quality Assurance: Introduction and Terminology
Software Engineering Principles and C++ Classes
1 Software Testing and Quality Assurance Lecture 1 Software Verification & Validation.
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 Process Activities. Process activities Real software processes are inter-leaved sequences of technical, collaborative and managerial activities.
BY RAJESWARI S SOFTWARE TESTING. INTRODUCTION Software testing is the process of testing the software product. Effective software testing will contribute.
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 Implementation. System Implementation and Seven major activities Coding Testing Installation Documentation Training Support Purpose To convert.
CCSB223/SAD/CHAPTER141 Chapter 14 Implementing and Maintaining the System.
An Object-Oriented Approach to Programming Logic and Design
RUP Implementation and Testing
Relating Testing to Quality –Timeliness of Testing –Quality Attributes Gauge by Testing –Roles Defining Test Discipline Activities Elaborating the Test.
Software Development Software Testing. Testing Definitions There are many tests going under various names. The following is a general list to get a feel.
Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.
Testing -- Part II. Testing The role of testing is to: w Locate errors that can then be fixed to produce a more reliable product w Design tests that systematically.
Dr. Tom WayCSC Testing and Test-Driven Development CSC 4700 Software Engineering Based on Sommerville slides.
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.
What is Object-Oriented?  Organization of software as a collection of discreet objects that incorporate both data structure and behavior.
Chapter 8 Lecture 1 Software Testing. Program testing Testing is intended to show that a program does what it is intended to do and to discover program.
Software testing techniques Software testing techniques Object-oriented software testing Presentation on the seminar Kaunas University of Technology.
Software Engineering and Object-Oriented Design Topics: Solutions Modules Key Programming Issues Development Methods Object-Oriented Principles.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
What is a level of test?  Defined by a given Environment  Environment is a collection of people, hard ware, software, interfaces, data etc.
Lecture 2: Review of Object Orientation. © Lethbridge/La ganière 2005 Chapter 2: Review of Object Orientation What is Object Orientation? Procedural.
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.
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.
Testing and Evolution CSCI 201L Jeffrey Miller, Ph.D. HTTP :// WWW - SCF. USC. EDU /~ CSCI 201 USC CSCI 201L.
LECTURE 5 Nangwonvuma M/ Byansi D. Components, interfaces and integration Infrastructure, Middleware and Platforms Techniques – Data warehouses, extending.
Chapter 11: Abstract Data Types Lecture # 17. Chapter 11 Topics The Concept of Abstraction Advantages of Abstract Data Types Design Issues for Abstract.
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini XVII. Verification and Validation.
Chapter 2 Object-Oriented Paradigm Overview
Software Quality Control and Quality Assurance: Introduction
Software Engineering (CSI 321)
Integration Testing.
The Movement To Objects
User-centred system design process
TQS - Teste e Qualidade de Software (Software Testing and Quality) Introduction To Software Testing Concepts João Pascoal.
Object-oriented software testing
Chapter 8 – Software Testing
Object Oriented Concepts -I
Object-Oriented Programming
LEVEL OF TESTING J.ALFRED DANIEL, AP/CSE.
CHAPTER 2 Testing Throughout the Software Life Cycle
Applied Software Implementation & Testing
Important Software Performance Testing That Ensure High Quality Solutions.
Object Oriented Analysis and Design
INFS 6225 – Object-Oriented Systems Analysis & Design
Introduction to Software Testing
The Object-Oriented Thought Process Chapter 05
Lecture 09:Software Testing
Software life cycle models
Testing and Test-Driven Development CSC 4700 Software Engineering
Why Object-oriented Programming?
CHAPTER 10 Testing Introduction
Software Engineering Lecture #14.
CHAPTER 10 Testing Introduction
Chapter 10 – Software Testing
Chapter 11: Integration- and System Testing
Agenda Software development (SD) & Software development methodologies (SDM) Orthogonal views of the software OOSD Methodology Why an Object Orientation?
Chapter 7 Software Testing.
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
Information system analysis and design
Presentation transcript:

Levels of testing

The need for levels of testing Execution-based software testing, especially for large systems, is usually carried out at different levels.

At each level there are specific testing goals. For example, at unit test a single component is tested. A principal goal is to detect functional and structural defects in the unit. At the integration level several components are tested as a group, and the tester investigates component interactions. At the system level the system as a whole is tested and a principle goal is to evaluate attributes such as usability, reliability, and performance. For both object-oriented and procedural-based software systems - the testing process begins with the smallest units or components to identify functional and structural defects

After the individual components have been tested, and any necessary repairs made, they are integrated to build subsystems and clusters. Testers check for defects and adherence to specifications. Proper interaction at the component interfaces is of special interest at the integration level. System test begins when all of the components have been integrated successfully. It usually requires the bulk of testing resources. Laboratory equipment, special software, or special hardware may be necessary, especially for real-time, embedded, or distributed systems. At the system level the tester looks for defects, but the focus is on evaluating performance, usability, reliability, and other quality- related requirements.

If the system is being custom made for an individual client then the next step following system test is acceptance test. This is a very important testing stage for the developers. During acceptance test the development organization must show that the software meets all of the client’s requirements. Very often final payments for system development depend on the quality of the software as observed during the acceptance test.

Software developed for the mass market often goes through a series of tests called alpha and beta tests. Alpha tests bring potential users to the developer’s site to use the software. Developers note any problems. Beta tests send the software out to potential users who use it under real-world conditions and report defects to the developing organization. Implementing all of these levels of testing require a large investment in time and organizational resources. Organizations with poor testing processes tend to skimp on resources, ignore test planning until code is close to completion, and omit one or more testing phases.

The approach used to design and develop a software system has an impact on how testers plan and design suitable tests. There are two major approaches to system development—bottom-up, and top-down. These approaches are supported by two major types of programming languages—procedure-oriented and object-oriented. Levels of abstraction for the two types of systems are also somewhat different. In traditional procedural systems, Lowest level of abstraction is described as a function or a procedure that performs some simple task. The next higher level of abstraction is a group of procedures (or functions) that call one another and implement a major system requirement. These are called subsystems. Combining subsystems finally produces the system as a whole, which is the highest level of abstraction.

In object-oriented systems, Lowest level is viewed by some researchers as the method or member function. The next highest level is viewed as the class that encapsulates data and methods that operate on the data. To move up one more level in an object-oriented -use the concept of the cluster, which is a group of cooperating or related classes Finally, there is the system level, which is a combination of all the clusters and any auxiliary code needed to run the system

When object-oriented development - Beneficial features were encapsulation, inheritance, and polymorphism. These features would simplify design and development and encourage reuse. However, testing of object-oriented systems is not straightforward due to these same features. For example, encapsulation can hide details from testers, and that can lead to uncovered code. Inheritance also presents many testing challenges, among those the retesting of inherited methods when they are used by a subclass in a different context.