OOAD UNIT V B RAVINDER REDDY PROFESSOR DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING.

Slides:



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

Configuration management
Testing Workflow Purpose
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
System Integration Verification and Validation
Software Testing By Marcin Starzomski :P. What is Testing ? Testing is a process used to help identify the correctness, completeness and quality of developed.
10 Software Engineering Foundations of Computer Science ã Cengage Learning.
David Woo (dxw07u).  What is “White Box Testing”  Data Processing and Calculation Correctness Tests  Correctness Tests:  Path Coverage  Line Coverage.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Metrics for Process and Projects
Metrics Project and Process Metrics. Why do we measure? Assessing project status Allows us to track risks Before they go critical Adjust workflow See.
Software Development Process Models. The Waterfall Development Model.
Software Engineering II - Topic: Software Process Metrics and Project Metrics Instructor: Dr. Jerry Gao San Jose State University
CS 425/625 Software Engineering Software Testing
Software Process and Product Metrics
Configuration Management
Handouts Software Testing and Quality Assurance Theory and Practice Chapter 17 Software Quality
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22Slide 1 Verification and Validation u Assuring that a software system meets a user's.
BY: GARIMA GUPTA MCA FINAL YEAR WHAT IS SOFTWARE TESTING ? SOFTWARE TESTING IS THE PROCESS OF EXECUTING PROGRAMS OR SYSTEM WITH THE INTENT.
12.
Managing Software Quality
Implementation Considerations Yonglei Tao. Components of Coding Standards 2  File header  file location, version number, author, project, update history.
RUP Implementation and Testing
An Introduction to Software Architecture
1 Software Quality CIS 375 Bruce R. Maxim UM-Dearborn.
 Explain the role of a system analyst.  Identify the important parts of SRS document.  Identify the important problems that an organization would face.
Configuration Management (CM)
Software Measurement & Metrics
Testing Workflow In the Unified Process and Agile/Scrum processes.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Software Engineering Quality What is Quality? Quality software is software that satisfies a user’s requirements, whether that is explicit or implicit.
Dr. Tom WayCSC Testing and Test-Driven Development CSC 4700 Software Engineering Based on Sommerville slides.
Software Development Cycle What is Software? Instructions (computer programs) that when executed provide desired function and performance Data structures.
Software Project Management Lecture # 3. Outline Chapter 22- “Metrics for Process & Projects”  Measurement  Measures  Metrics  Software Metrics Process.
Chapter 9 Project Management. Introduction Effective project management requires a well-structured project and diligent oversight A well-structured project.
OHT 1.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 The uniqueness of software quality assurance The environments for which.
Historical Aspects Origin of software engineering –NATO study group coined the term in 1967 Software crisis –Low quality, schedule delay, and cost overrun.
Sylnovie Merchant, Ph.D. MIS 161 Spring 2005 MIS 161 Systems Development Life Cycle II Lecture 5: Testing User Documentation.
TESTING LEVELS Unit Testing Integration Testing System Testing Acceptance Testing.
Computing and SE II Chapter 15: Software Process Management Er-Yu Ding Software Institute, NJU.
Chapter 3: Software Project Management Metrics
LESSON 3. Properties of Well-Engineered Software The attributes or properties of a software product are characteristics displayed by the product once.
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.
LECTURE 20 26/11/15. Summary - Testing ◦ Testing affects all stages of software engineering cycle ◦ One strategy is a bottom-up approach – class, integration,
Chapter 2 Object-Oriented Paradigm Overview. Getting Acquainted with the Class Project Read the requirements specification carefully Make note of any.
SEN 460 Software Quality Assurance
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
Click to edit Master text styles CSM Management of Software Project Software Quality Assurance Lecture - 03.
Software Engineering Issues Software Engineering Concepts System Specifications Procedural Design Object-Oriented Design System Testing.
9/8/99Lecture 51 CIS 4251 / CIS 5930 SOFTWARE DEVELOPMENT Fall 1999 Sept. 8, 1999 Marge Holtsinger.
Metrics "A science is as mature as its measurement tools."
1 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.
1 Software Testing and Quality Assurance Lecture 17 - Test Analysis & Design Models (Chapter 4, A Practical Guide to Testing Object-Oriented Software)
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.
PREPARED BY G.VIJAYA KUMAR ASST.PROFESSOR
Software Testing.
SOFTWARE TESTING Date: 29-Dec-2016 By: Ram Karthick.
PREPARED BY G.VIJAYA KUMAR ASST.PROFESSOR
Software Quality Assurance Software Quality Factor
McCall’s Quality Factors
Software engineering.
مقدمه اي بر مهندسي نيازمنديها
Thursday’s Lecture Chemistry Building Musspratt Lecture Theatre,
Testing and Test-Driven Development CSC 4700 Software Engineering
An Introduction to Software Architecture
Software metrics.
Chapter # 7 Software Quality Metrics
Presentation transcript:

OOAD UNIT V B RAVINDER REDDY PROFESSOR DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

OOAD Testing and Quality Assurance  Once a program code is written, it must be tested to detect and subsequently handle all errors in it. A number of schemes are used for testing purposes.  Another important aspect is the fitness of purpose of a program that ascertains whether the program serves the purpose which it aims for. The fitness defines the software quality.

Testing Object-Oriented Systems  Testing is a continuous activity during software development. In object-oriented systems, testing encompasses three levels, namely, unit testing, subsystem testing, and system testing.  Unit Testing  In unit testing, the individual classes are tested. It is seen whether the class attributes are implemented as per design and whether the methods and the interfaces are error-free. Unit testing is the responsibility of the application engineer who implements the structure.  Subsystem Testing  This involves testing a particular module or a subsystem and is the responsibility of the subsystem lead. It involves testing the associations within the subsystem as well as the interaction of the subsystem with the outside. Subsystem tests can be used as regression tests for each newly released version of the subsystem.  System Testing  System testing involves testing the system as a whole and is the responsibility of the quality-assurance team. The team often uses system tests as regression tests when assembling new releases.

Object-Oriented Testing Techniques  Grey Box Testing  The different types of test cases that can be designed for testing object-oriented programs are called grey box test cases. Some of the important types of grey box testing are:  State model based testing : This encompasses state coverage, state transition coverage, and state transition path coverage.  Use case based testing : Each scenario in each use case is tested.  Class diagram based testing : Each class, derived class, associations, and aggregations are tested.  Sequence diagram based testing : The methods in the messages in the sequence diagrams are tested.

Techniques for Subsystem Testing  The two main approaches of subsystem testing are:  Thread based testing : All classes that are needed to realize a single use case in a subsystem are integrated and tested.  Use based testing : The interfaces and services of the modules at each level of hierarchy are tested. Testing starts from the individual classes to the small modules comprising of classes, gradually to larger modules, and finally all the major subsystems.

Categories of System Testing  Alpha testing : This is carried out by the testing team within the organization that develops software.  Beta testing : This is carried out by select group of co-operating customers.  Acceptance testing : This is carried out by the customer before accepting the deliverables.

Software Quality Assurance  Software Quality  Schulmeyer and McManus have defined software quality as “the fitness for use of the total software product”. A good quality software does exactly what it is supposed to do and is interpreted in terms of satisfaction of the requirement specification laid down by the user.  Quality Assurance  Software quality assurance is a methodology that determines the extent to which a software product is fit for use. The activities that are included for determining software quality are:  Auditing  Development of standards and guidelines  Production of reports  Review of quality system

Quality Factors  Correctness : Correctness determines whether the software requirements are appropriately met.  Usability : Usability determines whether the software can be used by different categories of users (beginners, non-technical, and experts).  Portability : Portability determines whether the software can operate in different platforms with different hardware devices.  Maintainability : Maintainability determines the ease at which errors can be corrected and modules can be updated.  Reusability : Reusability determines whether the modules and classes can be reused for developing other software products.

Object-Oriented Metrics  Metrics can be broadly classified into three categories: project metrics, product metrics, and process metrics.  Project Metrics  Project Metrics enable a software project manager to assess the status and performance of an ongoing project. The following metrics are appropriate for object-oriented software projects:  Number of scenario scripts  Number of key classes  Number of support classes  Number of subsystems

Product Metrics  Product metrics measure the characteristics of the software product that has been developed. The product metrics suitable for object-oriented systems are:  Methods per Class : It determines the complexity of a class. If all the methods of a class are assumed to be equally complex, then a class with more methods is more complex and thus more susceptible to errors.  Inheritance Structure : Systems with several small inheritance lattices are more well–structured than systems with a single large inheritance lattice. As a thumb rule, an inheritance tree should not have more than 7 (± 2) number of levels and the tree should be balanced.  Coupling and Cohesion : Modules having low coupling and high cohesion are considered to be better designed, as they permit greater reusability and maintainability.  Response for a Class : It measures the efficiency of the methods that are called by the instances of the class.

Process Metrics  Process metrics help in measuring how a process is performing. They are collected over all projects over long periods of time. They are used as indicators for long-term software process improvements. Some process metrics are:  Number of KLOC (Kilo Lines of Code)  Defect removal efficiency  Average number of failures detected during testing  Number of latent defects per KLOC