+ All Categories
Home > Documents > Ooad Unit III

Ooad Unit III

Date post: 14-Apr-2018
Category:
Upload: shubham-gupta
View: 259 times
Download: 2 times
Share this document with a friend

of 215

Transcript
  • 7/29/2019 Ooad Unit III

    1/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    OBJECT-ORIENTED

    ANALYSIS AND DESIGNConstruction and Testing

    UNIT III

  • 7/29/2019 Ooad Unit III

    2/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Learning ObjectivesConstruction Introduction the design model block design working with constructionTesting

    Introduction on testing unit testing integration testing system testing

    the testing process

  • 7/29/2019 Ooad Unit III

    3/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    CONSTRUCTION

  • 7/29/2019 Ooad Unit III

    4/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Learning Objectives What is Construction Phase

    Why Construction Add a Dimension Artifacts for Construction Design (What, Purpose, Goals, Levels) Implementation Environemnt Traceability Interaction Diagram Block design Block Behavior Implementation

  • 7/29/2019 Ooad Unit III

    5/215 Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    What is Construction Phase?

    All about BUILDINGthe system from model of analysis & requirement phase.

    Consists of Design and Implementation.

    Start from elaboration & continues to construction

  • 7/29/2019 Ooad Unit III

    6/215 Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish PathakU3.#

    Why construction?

    For seamless transition to source code; analysis model

    not sufficient.

    The actual system must be adapted to theimplementation environment.

    Must explore into more dimensions.

    To validate the analysis result.

  • 7/29/2019 Ooad Unit III

    7/215 Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.

    #

    Add A Dimension: Analysis To Design Space

    Design

    Behavior

    Information

    Presentation

    Behavior

    InformationPresentation

    Analysis Space Design Space

    ImplementationEnvironment

  • 7/29/2019 Ooad Unit III

    8/215 Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.

    #

    Artifacts for Construction

    RequirementsModel

    ImplementationModel

    Analysis

    Model

    DesignModel

    Construction

    Input & Output Models of Construction

  • 7/29/2019 Ooad Unit III

    9/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Design

    There are two ways of constructing a software design:

    make it so simple that there are obviously no deficiencies

    make it so complicated that there are no obvious deficiencies.

    - C.A.R. Hoare

  • 7/29/2019 Ooad Unit III

    10/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    What is Design?

    Specification Is about What, and Design is the start of the

    How Inputs to the design processSpecification document, including models etc.

    Outputs of the design process A design document that describes how the code will bewritten. Includes design models!

    What subsystems, modules or components areusedHow these integrate (i.e. work together)

    Information allowing testing of the system

  • 7/29/2019 Ooad Unit III

    11/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    The Purpose of System Design

    Bridging the gap betweendesired and existing system ina manageable way

    Use Divide and Conquer

    We model the new systemto be developed as a set of subsystems

    Problem

    Existing System

    NewSystem

  • 7/29/2019 Ooad Unit III

    12/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Why is Design so Difficult? Analysis: Focuses on the application domain

    Design: Focuses on the solution domain

    Design knowledge is a moving targetThe reasons for design decisions are changing very

    rapidly

    Halftime knowledge in software engineering

    What I teach today will be out of date in 3 years

    Cost of hardware rapidly sinking

  • 7/29/2019 Ooad Unit III

    13/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Design Goals..

    Qualities Of A Good Design:

    Correct, Complete, Changeable, Efficient, Simple

    Correctness :It Should Lead To A Correct Implementation

    Completeness :It Should Do Everything. Everything? It should follow thespecifications.

    Changeable :It Should Facilitate Change Change Is Inevitable

  • 7/29/2019 Ooad Unit III

    14/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Efficiency

    It Should Not Waste Resources. But:Better A Working Slow Design Than A Fast Design ThatDoes Not Work

    SimplicityIt Should Be As Understandable As Possible

    Important: A design should fully describe how coders willimplement the system in the next phase

    Designs are blue-prints for code construction

    Design Goals..

  • 7/29/2019 Ooad Unit III

    15/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Levels of DesignThree possible levels:

    System Design, if appropriatePart of Systems Engineering

    High-level Software DesignArchitecture, architectural design

    Low-level Software DesignDetailed Design, Module Design

    Systems Engineering: Large combinations of hardware andsoftware.

    Decompose system into subsystemsDetermine which subsystems are HW, which are SWSoftware Engineering activities thus become a partof a larger activity.

    l d l

  • 7/29/2019 Ooad Unit III

    16/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Develop Design Model

    Create detailed plans (like blueprints) for implementation

    Identify the Implementation Environment & drawconclusions.

    Incorporate the conclusions & develop a First approach to adesign model from requirement models.Use analysis model as base & translate analysis objects todesign objects in design model fit for current implementation.Why cant this be incorporated in analysis model?

    D l D i M d l

  • 7/29/2019 Ooad Unit III

    17/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Develop Design Model

    Describe how the Object Interact in each specific

    use case & how stimuli between objects is exchanged

    Create design models before coding so that wecan:

    Compare different possible design solutions

    Evaluate efficiency, ease of modification, maintainability,etc

    I l i E i

  • 7/29/2019 Ooad Unit III

    18/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Implementation Environment

    Identify the actual technical constraints under which the systemshould be built

    Including:The target environment

    Programming languageExisting products that should be used (DBMSs, etc)

    Strategies:

    n As few objects as possible should be aware of theconstraints of the actual implementation environment

  • 7/29/2019 Ooad Unit III

    19/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    File Manager

    Application Objects

    MS-DOS Mac-OSUNIX

    Implementation Environment: Target Environment

    severalimplementations of the filemanagerblock

    I l t ti E i t

  • 7/29/2019 Ooad Unit III

    20/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Implementation EnvironmentTarget environment

    Create a new blocks that represent occurrences of thechanged parts in the target environment

    Strategies:Specified an abstract class

    polymorphismThe object can check the platform at run-time

    CASE statement in the source codeDecide this when the system us delivered

    Provide several different modul which will be choosed later

    Investigate whether the target environment will execute in adistributed wayon a different processors or different processes

    I l t ti E i t

  • 7/29/2019 Ooad Unit III

    21/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Implementation EnvironmentProgramming language

    Affect the design in translating the concepts usedThe basic properties of the language and its environment

    are fundamental for the designInheritance and Multiple inheritanceTypingStandardPortabilityStrategies for handling errors during run-time

    Exception (Ada)Assertions (Eiffel)

    Memory managementAutomatic garbage collection

    The use of componentComponent library, such as interface objects

    Implementation Environment

  • 7/29/2019 Ooad Unit III

    22/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Implementation Environment..

    Using existing productsDBMSUIMS (User Interface Management System)Network facilitiesInternally or externally developed applications that should beincorporatedProducts used during development

    CompilersDebuggersPreprocessor

    Other considerationsRequirement for performanceLimitations of memory

    Implementation Environment

  • 7/29/2019 Ooad Unit III

    23/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Implementation Environment

    Other considerations

    Strategies:To postpone optimizations until they are needed or you areabsolutly sure that they will be needed

    the real bottlenecks are often missed and then newoptimizations are necessary

    Use simulation or prototyping to investigate potentialoptimization problem early

    Extensive experiences may help to jugde at an early stage If youre not sure of the correctnessof a performance

    optimizations, you should not make it untill youre sure of how itshould be done

    Implementation Environment

  • 7/29/2019 Ooad Unit III

    24/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Implementation Environment

    The people and organization involved in the

    development could also afect the design

    The principal strategy:

    such factors should not affect the system structure.

    The reason: the circumtances (organizations,

    staffing, competence areas) that are in effect todaywill probably change during the systems life cycle

    Traceability

  • 7/29/2019 Ooad Unit III

    25/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Traceability

    refines the analysis model in light of actual implementationenvironment.

    Explicit definition of interfaces of objects, semantics of operation. Additionally, different issues like DBMS,programming language etc. can be considered.

    The model is composed of BLOCKS which are the designobjects.

    One block is implemented as one class

    Traceability

  • 7/29/2019 Ooad Unit III

    26/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    The blocks abstract theactual implementation

    Traceability is extremelyimportant aspect of thesystem.

    Changes made will beonly local to a module.Provides high functionallocalization (high

    cohesion).

    Traceability..

    Example Recycling Machine Analysis Model

  • 7/29/2019 Ooad Unit III

    27/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Receipt printer

    Customer panel

    Receipt basisDeposit items

    Deposit item receiver Deposit

    Report Generator

    Operator Panel

    Administrator Alarmist

    Alarm Device

    Alarm

    extends

    Can Bottle Crate

    Example Recycling Machine Analysis Model

    Example Recycling Machine Analysis Model

  • 7/29/2019 Ooad Unit III

    28/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Example Recycling Machine Analysis Model

    Example Recycling Machine Design Model

  • 7/29/2019 Ooad Unit III

    29/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Example Recycling Machine Design Model

    Working with the Design Model

  • 7/29/2019 Ooad Unit III

    30/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Working with the Design Model

    Changes can and should occur, but all changes should be justified and documented (for robustness reason)

    We may have to change the design model in various way:To introduce new blocks which dont have any representationin the analysis model

    To delete blocks from the design modelTo change blocks in the design model (splitting and joiningexisting blocks)

    To change the associations between the blocks in the designmodel

    Use the component

    Change in Environment

  • 7/29/2019 Ooad Unit III

    31/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Change in Environment

    Changing the associations between the blocks inthe design model.

    extensions to stimuli

    inheritance to delegation

    Interaction Diagrams

  • 7/29/2019 Ooad Unit III

    32/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Describe how the blocks are to communicate by designing the

    use case The main purpose of the use case design is to define the

    protocols of the blocks The interaction diagram describes how each usecase is offered

    by communicating objects The diagram shows how the participating objects realize

    the use case through their interaction The blocks send stimuli between one another

    All stimuli are defined including their parameters For each concrete use case, draw an interaction diagram

    te act o ag a s

    Sequence Diagram (Contd)

  • 7/29/2019 Ooad Unit III

    33/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Syntax and Semantics

    Distinguishing asystem and theoutside world(RationalRose: Use

    Actors )

    Blocks life line(showing lifecycle)

    Events occurringwithin a block

    message

    feedbacksignal

    Sequence Diagram (Cont d)

    Building an Interaction Diagram

  • 7/29/2019 Ooad Unit III

    34/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Building an Interaction Diagram

    Identify blocks

    Draw skeleton, consist of:

    System border

    Bars for each block that participates

    Describes the sequences

    Structured text or pseudo-code

    Mark the bar to which operations belongs with a rectangle

    representing operation

    Define a stimulus

    Building an Interaction Diagram..

  • 7/29/2019 Ooad Unit III

    35/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    u d g a te act o ag a ..

    Draw a stimulus as a horizontal arrow

    Start: bar of the sending block

    End: bar of the receiving block

    Structure the interaction diagram

    Fork diagram

    Stair diagram

    The Skeleton for the Interaction Diagram

  • 7/29/2019 Ooad Unit III

    36/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    g

    Example Interaction Diagram for Use Case Returning Item

  • 7/29/2019 Ooad Unit III

    37/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Example Interaction Diagram for Use Case Returning Item

  • 7/29/2019 Ooad Unit III

    38/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Sequence Diagram

  • 7/29/2019 Ooad Unit III

    39/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Events (when the customer presses receipt button):

    Print Logo and date;for (all types of items){

    Find name and number for a type of item;

    Find deposit value for a type of item;Sum;Print sum;

    }Ready for the next customer;

    q g

    Sequence Diagram

  • 7/29/2019 Ooad Unit III

    40/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Events (when acustomer insert

    an item):

    If (customer is new){

    Create a new account;}Do{

    If (returned item is acceptable == true)

    {Classify;Increment items;Increment values;

    }else

    reject;}

    q g

    Sequence Diagram

  • 7/29/2019 Ooad Unit III

    41/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Rational Rose Collaboration Diagram

  • 7/29/2019 Ooad Unit III

    42/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Advance Interaction Diagrams

  • 7/29/2019 Ooad Unit III

    43/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Synchronous and asynchronous

    A synchronous message/signal is a control which has to waitfor an answer before continuing.

    the sender passes the control to the receiver and cannot do

    anything until the receiver sends the control back.

    An asynchronous message is a control which does not need to

    wait before continuing.

    the sender actually does not pass the control to the receiver.

    The sender and the receiver carry on their work concurrently.

    g

    Synchronous & Asynchronous

  • 7/29/2019 Ooad Unit III

    44/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    here there

    Simple(unspecified)

    synchronous

    asynchronous

    Recursion in SD

  • 7/29/2019 Ooad Unit III

    45/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Syntax:

    Use Case with Extension

  • 7/29/2019 Ooad Unit III

    46/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Described by a probe position in the interaction diagram

    The probe position indicates a position in the use caseto be extended

    Often accompanied by a condition which indicates under whatcircumstances the extension should take placed

    Example Probe position

  • 7/29/2019 Ooad Unit III

    47/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Homogenization

  • 7/29/2019 Ooad Unit III

    48/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    In parallel design process, several stimuli with the samepurpose or meaning are defined by several designers.

    These stimuli should be consolidated to obtain as fewstimuli as possible.

    Called homogenization .

    Example - Homogenization

  • 7/29/2019 Ooad Unit III

    49/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    What_is_your_phone_number?

    Where_do_you_live?Get_addressGet_address_and_phone_number

    Homogenized into:Get_addressGet_phone_number

    Structure of SD

  • 7/29/2019 Ooad Unit III

    50/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Centralised structure -- Fork: Everything is handled andcontrolled by the left-most block.

    Structure of SD

  • 7/29/2019 Ooad Unit III

    51/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Decentralised structure -- Stair: There is no central controlblock.

    Structure of SD

  • 7/29/2019 Ooad Unit III

    52/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    decentralized structure is appropriate: If the sub-event phases are tightly coupled. This will be the case if

    the participating objects:Form a part-of or consists-of hierarchy, such as Country - State- City;Form an information hierarchy, such as CEO - Division

    Manager - Section Manager;Represent a fixed chronological progression (the sequence of sub-event phases will always be performed in the same order),such as Advertisement - Order - Invoice -Delivery - Payment; or Form a conceptual inheritance hierarchy, such as Animal -Mammal - Cat.

  • 7/29/2019 Ooad Unit III

    53/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Structure of SD

  • 7/29/2019 Ooad Unit III

    54/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    A centralized structure is appropriate:

    If the order in which the sub-event phases will be

    performed is likely to change.

    If you expect to insert new sub-event phases.

    If you want to keep parts of the functionality reusable as

    separate piec

    Structure of SD

  • 7/29/2019 Ooad Unit III

    55/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Structure of SD..

  • 7/29/2019 Ooad Unit III

    56/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    F o r k

    indicates a centralized structure and is characterized by the fact

    that it is an object controls the other objects interacted with it.

    This structure is appropriate when:

    The operations can change order

    New operations could be inserted

    Structure of SD.

  • 7/29/2019 Ooad Unit III

    57/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Stair indicates decentralized structure and is characterized by

    delegated responsibility.Each object only knows a few of the other objects and knowswhich objects can help with a specific behavior.This structure is appropriate when:The operation have a strong connection. Strong connectionexists if the objects:

    form a consist -of hierarchyform an information hierarchyform a fixed temporal relationshipform a (conceptual) inheritance relationship

    The operation will always be performed in the same order

    Structural Control in Sequence Diagram

  • 7/29/2019 Ooad Unit III

    58/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Optional Execution

    Conditional Execution Parallel Execution Loop Execution Nested

    Block Design

  • 7/29/2019 Ooad Unit III

    59/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Block design can start when all use cases for a specific block

    have been designed. The implementation (code) for the block can start when the

    interfaces are stable and are frozen.

    Ancestor objects (classes) should be designedbefore descendant.

    Look at all interaction diagrams where a block participates, and

    extract all the operations defined for it, yielding a complete

    picture of the interface.

  • 7/29/2019 Ooad Unit III

    60/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Block Design...

  • 7/29/2019 Ooad Unit III

    61/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    From the interaction diagram for Returning Item :

    The interface for Deposit Item :

    exists, incr, getName, getValue

    The interface for Receipt Basis :

    insertItem(item), printOn(ostream), delete

    When writing the class interface for a block in OOP language,

    may need additional classes, that are not seen by other blocks

    Block Design Comments

  • 7/29/2019 Ooad Unit III

    62/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    The description of the operation is extracted from the

    text to the left of the diagram.

    Can work in parallel once interfaces are frozen (recall

    the open closed principle).

    UML Class Diagram

  • 7/29/2019 Ooad Unit III

    63/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    a collection of classes and interfaces, along with the

    collaborations and relationships among classes and

    interfaces

    How to Build Class Diagram

  • 7/29/2019 Ooad Unit III

    64/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Identify the main members of the family

    Determine how they are related to each other

    Identify the characteristics of each family member

    Find relations among family members

    Decide the inheritance of personal traits and characters Class Syntax

    Syntax Class Diagram

  • 7/29/2019 Ooad Unit III

    65/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Composition

  • 7/29/2019 Ooad Unit III

    66/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Aggregation

  • 7/29/2019 Ooad Unit III

    67/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Association

  • 7/29/2019 Ooad Unit III

    68/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Inheritance

  • 7/29/2019 Ooad Unit III

    69/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Realization

  • 7/29/2019 Ooad Unit III

    70/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Multiplicity Notation

  • 7/29/2019 Ooad Unit III

    71/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    1Class exactly one

    * Class many (zero or more)

    0..1 Class optional (zero or more)

    m..nClass numerically specified

    {ordered} *Class ordered

    Attributes Structural Features

  • 7/29/2019 Ooad Unit III

    72/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    An attribute describes a property as a line of textwithin the class box

    Syntaxvisibility name: type multiplicity = default {property-string}

    {+,-, {Integer, { [1], {0, { readOnly,#,`} Boolean, [n] foo, ordered,String, [0..1], 12-05-06, nonunique,Date, [m..n], 100 , unique,Money, [*], } bag,} [1..*], set

    [n..*]} }

    Class Diagram

  • 7/29/2019 Ooad Unit III

    73/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Object Behavior

  • 7/29/2019 Ooad Unit III

    74/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    An intermediate level of object internal behavior may be

    described using a state machine. The input alphabet is the set of stimuli.

    State represent modes of operation of the object.

    The state machine specifies possible orders of stimuli, that willlater be expressed in preconditions.

    This is particularly important in reactive systems

    Object Behavior...

  • 7/29/2019 Ooad Unit III

    75/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    To provide a simplified description that increases

    understanding of the block without having to go down to

    source code

    Less dependant on programming language

    Machine stack

    Textual Notation

  • 7/29/2019 Ooad Unit III

    76/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Machine stackState init

    input createinstancenext state emptyotherwise error;

    State empty

    input pushdo store on top

    next state loadedprint stackis empty

    otherwise error;..endmachine

    Object Behavior...

  • 7/29/2019 Ooad Unit III

    77/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Stimulus control object

    An object that perform the same operation independent of

    state when a certain stimulus is received.

    Entity objects

    Object Behavior...

  • 7/29/2019 Ooad Unit III

    78/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    state-controlled objects

    Objects that select operations not only from the stimulus

    received, but also from the current state

    Control object

    Notation used for State Transition Diagram

  • 7/29/2019 Ooad Unit III

    79/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

  • 7/29/2019 Ooad Unit III

    80/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Operation

  • 7/29/2019 Ooad Unit III

    81/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    STD

  • 7/29/2019 Ooad Unit III

    82/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    STD for Deposit Item

  • 7/29/2019 Ooad Unit III

    83/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    STD for Deposit Item Receiver

  • 7/29/2019 Ooad Unit III

    84/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    State Diagram in UML

  • 7/29/2019 Ooad Unit III

    85/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    show the different states of an entity also how an entity

    responds to various events by changing from one state

    to another

    State A condition or situation during the life of an object during

  • 7/29/2019 Ooad Unit III

    86/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    which it satisfies some condition, performs some activities

    or wait for some events.

    Several Parts

    Name

    Entry/exit effects

    Internal Transitions

    Substates

    Orthogonal (concurrently active)Nonorthogonal (Sequential active)

    State Diagram in UML..

  • 7/29/2019 Ooad Unit III

    87/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    State Diagram in UML..

  • 7/29/2019 Ooad Unit III

    88/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    State Diagram in UML..

  • 7/29/2019 Ooad Unit III

    89/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Internal Block Structure In case of OOPL object-module becomes classes

  • 7/29/2019 Ooad Unit III

    90/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    In case of OOPL object module becomes classes

    otherwise module unit Generally more classes than object

    split class when required

    5-10 times longer to design a component class than an

    ordinary class

    Implementation Now, need to write code for each block.

  • 7/29/2019 Ooad Unit III

    91/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    ,

    Implementation strategy depends on the programminglanguage.

    In an OOP language, the implementation of a block

    starts with one class.

    Sometimes there is a need for additional classes, that

    are not seen by other blocks.

    Mapping

  • 7/29/2019 Ooad Unit III

    92/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Analysis Design Source code C++

    Analysis objects Block 1..N classes

    Behavior in objects Operations Member functions

    Attributes(class) Attributes(class) Static variables

    Attributes(instance) Attributes(instance) Instance variables

    Analysis Design Source code C++Mapping..

  • 7/29/2019 Ooad Unit III

    93/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Acquuaintanceass. Acquuaintanceass. Instance variables

    Communicationass.

    Communicationass.

    Reference to afunction

    Interactionbetween objects

    Stimulus Call to a functiom

    Usecase Designed usecase Sequence of calls

    subsystem Subsystem File

    Implementation EnvironmentEverything that does not come from analysis phase, including

  • 7/29/2019 Ooad Unit III

    94/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    y g y p , g

    performance requirements.Design must be adapted to implementation environment.

    Use of existing products must be decided. Includes

    previous version of the system.

    To use an existing product we must adapt our design.

    Tradeoff - less development vs. more complex architecture.

    Also consider testing costs.

    Other Considerations in the Construction Phase

    Subsystems defined in analysis phase are used to guide the

  • 7/29/2019 Ooad Unit III

    95/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    construction phase.

    Developed separately as much as possible.

    Incremental development - start construction phase in parallel

    with analysis phase - to identify implementation environment.

    How much refinement to do in analysis phase? (How early/late to

    move from analysis to design) - decided in each project

    What we learntWhat is Construction Phase

    h C i

  • 7/29/2019 Ooad Unit III

    96/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Why Construction

    Add a Dimension Artifacts for ConstructionDesign (What, Purpose, Goals, Levels)Implementation EnvironemntTraceabilityInteraction DiagramBlock design

    Block Behavior Implementation

    Object Oriented Testing Concepts Testing Verification

    Testing TechniquesRegression Test

  • 7/29/2019 Ooad Unit III

    97/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Verification Validation Debugging Certification Clean Room Software Engineering Error

    Fault Failure Testing Level

    Unit testingIntegration Testing

    System Testing

    Testing Focuses

    Operation testFull-scale testStress testOverload test Negative testTest based on requirementsErgonomic testsTesting of the user documentationAcceptance testing

    Stubs

    Object Oriented Testing Concepts..

  • 7/29/2019 Ooad Unit III

    98/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Drivers Test bed Equivalence set Equivalence partitioning

    Automatic TestingTest data

    Test program

    When the testing activities must be commence?

    Object Oriented Testing Concepts..

  • 7/29/2019 Ooad Unit III

    99/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Justify the statement More the testing is integrated with

    software development phases it will be better .

    Why the most important aspect of testing is actually the attitudeadopted toward it?

    Why testing must be planned in the same manner as analysisand construction?

    Why it is not possible to arrive at high quality software just bytesting and debugging?

    How testing can be done on analysis and design documents?

    Why reviews and inspections should also be performed inll l t lid ti

    Object Oriented Testing Concepts..

  • 7/29/2019 Ooad Unit III

    100/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    parallel to validation

    Why reviews and inspections consider as costly method? How reviews and inspections produce high quality code?

    Justify the statement Defect avoidance is more powerful thandefect removal .

    Discuss testing strategy. Why bottom up testing strategy isbetter than top down testing strategy.

    Discuss the principle of automatic testing

    Compare test program with test data Why interface simulator is use in automatic testing?

    Whether the test programs are part of the tested product or theyare a separate product?

    Object Oriented Testing Concepts..

  • 7/29/2019 Ooad Unit III

    101/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    are a separate product?

    Why unit test of object-oriented code is more complex thantesting ordinary (procedural) code?

    What is difference between ordinary (procedural) unit testingand object oriented unit testing?

    Describe state-based testing.

    What do you mean by state matrix for testing?

    Describe test coverage.

    How polymorphism impact the test coverage?

    How inheritance effect the structural testing?

    If ll i i l i h d f i i

    Object Oriented Testing Concepts..

  • 7/29/2019 Ooad Unit III

    102/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    If we test all units extensively, is there a need for integration

    testing, since all units will be correct as they are? What are test for a usecase?

    What are the different tests can be done during system test?Why?

    What are the different activities in testing process?

    Why we need to kept test log during the entire test process?

    What is the purpose of test specification?

    Why we need to prepare test reports while writing testspecifications?

    Object Oriented Testing Concepts..

  • 7/29/2019 Ooad Unit III

    103/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    specifications?

    When a test is done what are the different reasons of detectedfailure?

    What we need to do when testing has been completed?

    UNIT III Learnings Construction

    Introduction

  • 7/29/2019 Ooad Unit III

    104/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    the design modelblock designworking with construction

    TestingIntroductionon testingunit testingintegration testingsystem testing

    the testingprocess

    SOFTWARE DEVELOPMENT LIFE CYCLE(SDLC)

  • 7/29/2019 Ooad Unit III

    105/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Srihari Techsoft

    Phases of SDLC

    Requirement Specification and Analysis Design Coding Testing Implementation Maintenance

    (SDLC)

    The Design process

  • 7/29/2019 Ooad Unit III

    106/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Srihari Techsoft

    Breaking down the product into independentmodules to arrive at micro levels.

    2 different approaches followed in designing

    Top Down ApproachBottom Up Approach

    Top-down approach

  • 7/29/2019 Ooad Unit III

    107/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Srihari Techsoft

    Bottom-Up Approach

  • 7/29/2019 Ooad Unit III

    108/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Srihari Techsoft

    Most Common Software problems

  • 7/29/2019 Ooad Unit III

    109/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Srihari Techsoft

    Incorrect calculationIncorrect data edits & ineffective data editsIncorrect matching and merging of dataData searches that yields incorrect resultsIncorrect processing of data relationshipIncorrect coding / implementation of businessrules

    software performance

    Confusing or misleading dataS ft bilit b d

  • 7/29/2019 Ooad Unit III

    110/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Srihari Techsoft

    Software usability by end usersInconsistent processingUnreliable results or performance

    Incorrect interfaces with other systemsInadequate performance and security controlsIncorrect file handling

    Software testing can be stated as the process of validating and verifying that a software

  • 7/29/2019 Ooad Unit III

    111/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    g y g

    program/application/product: meets the requirements that guided its design and

    development;works as expected; Software testing, depending on the testing method

    employed, can be implemented at any time in thedevelopment process. However, most of the test effortoccurs after the requirements have been defined andthe coding process has been completed.

    A primary purpose of testing is to detect softwarefailures so that defects may be discovered and

  • 7/29/2019 Ooad Unit III

    112/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    y

    corrected. Testing cannot establish that a productfunctions properly under all conditions but can onlyestablish that it does not function properly under specificconditions

    Testing takes creativity Testing often viewed as dirty work. To develop an effective test, one must have:

  • 7/29/2019 Ooad Unit III

    113/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Detailed understanding of the systemKnowledge of the testing techniquesSkill to apply these techniques in an effective and efficient manner

    Testing is done best by independent testersWe often develop a certain mental attitude that the program should in acertain way when in fact it does not.

    Objectives of testingE i i h h l f fi di

  • 7/29/2019 Ooad Unit III

    114/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Srihari Techsoft

    Executing a program with the goal of finding an error . To check if the system meets the requirements and be

    executed successfully in the planned environment. To check if the system is Fit for purpose .

    To check if the system does what it is expected to do.

    Objectives of testing A good test case is one that has a probability of finding

  • 7/29/2019 Ooad Unit III

    115/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Srihari Techsoft

    g p y g

    undiscovered error. A good test is not redundant. A good test should be bestof type . A good test should neither be too simple nor too

    complex.

    Objective of a Software Tester Find bugs as early as possible and make sure they get

  • 7/29/2019 Ooad Unit III

    116/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Srihari Techsoft

    fixed. To understand the application well. Study the functionality in detail to find where the bugs

    are likely to occur.

    Study the code to ensure that each and every line of code is tested.

    Create test cases in such a way that testing is done touncover the hidden bugs and also ensure that thesoftware is usable and reliable

    VERIFICATION & VALIDATION

  • 7/29/2019 Ooad Unit III

    117/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Srihari Techsoft

    Verification - typically involves reviews and meeting toevaluate documents, plans, code, requirements, andspecifications. This can be done with checklists, issueslists, and inspection meeting.

    Validation - typically involves actual testing and takesplace after verifications are completed.

    Validation and Verification process continue in acycle till the software becomes defects free.

    Software Development Process Cycle

  • 7/29/2019 Ooad Unit III

    118/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Srihari Techsoft

    Plan

    Do

    Check

    Action

    PLAN (P): Device a plan. Define your objective anddetermine the strategy and supporting methods required toachieve that objective.

  • 7/29/2019 Ooad Unit III

    119/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Srihari Techsoft

    DO (D): Execute the plan. Create the conditions and perform the necessary training to execute the plan.

    CHECK (C): Check the results. Check to determine whether work is progressing according to the plan and whether theresults are obtained.

    ACTION (A): Take the necessary and appropriate action if checkup tells that the work is not being performedaccording to plan or not as expected.

    SOFTWARE TESTING LIFECYCLE - PHASES

    Requirements study

  • 7/29/2019 Ooad Unit III

    120/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Srihari Techsoft

    Requirements study

    Test Case Design and Development

    Test Execution

    Test conclusion

    Test Process Analysis

    Requirements study

  • 7/29/2019 Ooad Unit III

    121/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Srihari Techsoft

    Testing Cycle starts with the study of clients requirements.

    Understanding of the requirements is very essential for testing the product.

    Analysis & Planning

  • 7/29/2019 Ooad Unit III

    122/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Srihari Techsoft

    Test objective and coverageOverall scheduleStandards and Methodologies

    Resources required, including necessarytrainingRoles and responsibilities of the teammembersTools used

    Test Case Design and Development

  • 7/29/2019 Ooad Unit III

    123/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Srihari Techsoft

    Component Identification Test Specification Design Test Specification Review

    Test Execution Code Review Test execution and evaluation Performance and simulation

    Test Closure

  • 7/29/2019 Ooad Unit III

    124/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Srihari Techsoft

    Test summary report Project Documentation

    Test Process Analysis

    Analysis done on the reports and improving theapplications performance by implementing new technologyand additional features.

    Testing Levels

  • 7/29/2019 Ooad Unit III

    125/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Unit testing Integration testing

    System testing Acceptance testing

    Types of Testing Unit Testing:

    Individual subsystem

  • 7/29/2019 Ooad Unit III

    126/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Carried out by developersGoal: Confirm that subsystems is correctly coded andcarries out the intended functionality

    Integration Testing:Groups of subsystems (collection of classes) andeventually the entire systemCarried out by developersGoal: Test the interface among the subsystem

    System Testing System Testing:

    The entire system

  • 7/29/2019 Ooad Unit III

    127/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Carried out by developersGoal: Determine if the system meets the requirements(functional and global)

    Acceptance Testing:

    Evaluates the system delivered by developersCarried out by the client. May involve executing typicaltransactions on site on a trial basisGoal: Demonstrate that the system meets customer requirements and is ready to use

    Implementation (Coding) and testing go hand in hand

    Testing Activities

    Tested

    RequirementsAnalysis

    Document

    SystemDesign

    Document

    UnitTest

    User

    RequirementsAnalysis

    Document

    SubsystemCode

  • 7/29/2019 Ooad Unit III

    128/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Subsystem

    SubsystemCode

    FunctionalIntegration

    Unit

    TestedSubsystem

    Tested Subsystem

    Test Test

    Test

    UnitTest

    ManualSubsystemCode

    All tests by developer

    Functioning

    SystemIntegrated

    Subsystems

    GlobalRequirements

    Testing Activities continuedClients

    Understandingof Requirements

    UserEnvironment

  • 7/29/2019 Ooad Unit III

    129/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Users understanding Tests by developer

    Performance AcceptanceTest

    FunctioningSystem

    TestInstallation

    Test

    System inUse

    UsableSystem

    ValidatedSystem

    AcceptedSystem

    Tests (?) by user

    Tests by client

    Unit testingThe most micro scale of testing.

  • 7/29/2019 Ooad Unit III

    130/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Srihari Techsoft

    Tests done on particular functions or code modules.Requires knowledge of the internal program design and code.Done by Programmers (not by testers).

    Unit testingObjectives To test the function of a program or unit of code

    such as a program or module

  • 7/29/2019 Ooad Unit III

    131/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Srihari Techsoft

    To test internal logicTo verify internal designTo test path & conditions coverageTo test exception conditions & error handling

    When After modules are coded

    Input Internal Application DesignUnit Test Plan

    Output Unit Test Report

    Who Developer

  • 7/29/2019 Ooad Unit III

    132/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Srihari Techsoft

    Methods White Box testing techniques

    Tools Debug

    Re-structureCode AnalyzersPath/statement coverage tools

    Education Testing MethodologyEffective use of tools

    Incremental integration testing

  • 7/29/2019 Ooad Unit III

    133/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Srihari Techsoft

    Continuous testing of an application as and when anew functionality is added.

    Applications functionality aspects are required to be independent enough to work separately beforecompletion of development.

    Done by programmers or testers.

    Integration Testing

  • 7/29/2019 Ooad Unit III

    134/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Srihari Techsoft

    Testing of combined parts of an application todetermine their functional correctness.

    Parts can becode modulesindividual applications

    client/server applications on a network.

    Types of Integration Testing

  • 7/29/2019 Ooad Unit III

    135/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Srihari Techsoft

    Big Bang testing

    Top Down Integration testing

    Bottom Up Integration testing

    Integration testing Objectives To technically verify proper

    interfacing between modules, and

  • 7/29/2019 Ooad Unit III

    136/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Srihari Techsoft

    within sub-systemsWhen After modules are unit tested

    Input Internal & External Application

    DesignIntegration Test Plan

    Output Integration Test report

    Who Developers

    Methods White and Black Box

  • 7/29/2019 Ooad Unit III

    137/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Srihari Techsoft

    techniquesProblem / ConfigurationManagement

    Tools DebugRe-structureCode Analyzers

    Education Testing Methodology

    Effective use of tools

    Integration Testing Strategy The entire system is viewed as a collection of

    subsystems (sets of classes) determined during thesystem and object design.

  • 7/29/2019 Ooad Unit III

    138/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    The order in which the subsystems are selected for testing and integration determines the testing strategy

    Big bang integration (Nonincremental)

    Bottom up integrationTop down integrationSandwich testingVariations of the above

    For the selection use the system decomposition fromthe System Design

    Example: Three Layer Call Hierarchy

    A Layer I

  • 7/29/2019 Ooad Unit III

    139/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    B C D

    GFE

    Layer II

    Layer III

    Integration Testing: Big-Bang Approach

    U i T

    Unit TestA

    Dont try this!

  • 7/29/2019 Ooad Unit III

    140/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Unit Test

    F

    Unit TestE

    Unit TestD

    Unit TestC

    Unit TestB

    System Test

    Bottom-up Testing Strategy The subsystem in the lowest layer of the call hierarchy are tested

    individually Then the next subsystems are tested that call the previously tested

    b

  • 7/29/2019 Ooad Unit III

    141/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    subsystems This is done repeatedly until all subsystems are included in the

    testing

    Bottom-up IntegrationA

    B C D

    Layer I

    Layer IITest E

  • 7/29/2019 Ooad Unit III

    142/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    GFE Layer III

    Test F

    Test G

    Test C

    Test D,G

    Test B, E, F

    Test

    A, B, C, D,E, F, G

    Pros and Cons of bottom up integration testing

    Bad for functionally decomposed systems:T t th t i t t b t (UI) l t

  • 7/29/2019 Ooad Unit III

    143/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Tests the most important subsystem (UI) last

    Useful for integrating the following systemsObject-oriented systemsreal-time systemssystems with strict performance requirements

    Top-down Testing Strategy Test the top layer or the controlling subsystem first Then combine all the subsystems that are called by

    th t t d b t d t t th lti ll ti

  • 7/29/2019 Ooad Unit III

    144/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    the tested subsystems and test the resulting collectionof subsystems

    Do this until all subsystems are incorporated into thetest

    Top-down Integration TestingA

    B C D

    Layer I

    Layer II

  • 7/29/2019 Ooad Unit III

    145/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    GFE Layer III

    Test A

    Layer I

    Test A, B, C, D

    Layer I + II

    TestA, B, C, D,

    E, F, G

    All Layers

    Sandwich Testing Strategy Combines top-down strategy with bottom-up strategy The system is view as having three layers

    A target layer in the middle

  • 7/29/2019 Ooad Unit III

    146/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    A target layer in the middle A layer above the target A layer below the targetTesting converges at the target layer

    How do you select the target layer if there are more than3 layers?

    Heuristic: Try to minimize the number of stubs and drivers

    Sandwich Testing StrategyA

    B C D

    GFE

    Layer I

    Layer II

    Layer III

    Test E

  • 7/29/2019 Ooad Unit III

    147/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    y

    Test D,G

    Test B, E, F

    TestA, B, C, D,

    E, F, G

    Test F

    Test G

    Test A

    BottomLayerTests

    TopLayerTests

    Test A,B,C, D

    Pros and Cons of Sandwich Testing Top and Bottom Layer Tests can be done in parallel Does not test the individual subsystems thoroughly

    before integration

  • 7/29/2019 Ooad Unit III

    148/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    before integration Solution: Modified sandwich testing strategy

    Modified Sandwich Testing Strategy Test in parallel:

    Middle layer with drivers and stubsTop layer with stubs

  • 7/29/2019 Ooad Unit III

    149/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Bottom layer with drivers

    Test in parallel:Top layer accessing middle layer (top layer replaces drivers)

    Bottom accessed by middle layer (bottom layer replacesstubs)

    Modified Sandwich Testing StrategyA

    B C D

    GFE

    Layer I

    Layer II

    Layer III

    Test E

    Test B

    Triple

    Triple

    DoubleTest I

  • 7/29/2019 Ooad Unit III

    150/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Test F

    Test G

    Test D

    Test A

    Test C

    Test B, E, FTripleTest ITriple

    Test I

    Test D,G

    DoubleTest II

    DoubleTest II

    DoubleTest I

    Test A,C

    Test

    A, B, C, D,E, F, G

  • 7/29/2019 Ooad Unit III

    151/215

    System Testing Functional Testing Structure Testing Performance Testing Acceptance Testing

  • 7/29/2019 Ooad Unit III

    152/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Acceptance Testing Installation Testing

    Impact of requirements on system testing:

    The more explicit the requirements, the easier they are to test.Quality of use cases determines the ease of functional testingQuality of subsystem decomposition determines the ease of structure testingQuality of nonfunctional requirements and constraints

    determines the ease of performance tests:

  • 7/29/2019 Ooad Unit III

    153/215

    Functional Testing.

    Essentially the same as black box testing Goal: Test functionality of system

    Test cases are designed from the requirements analysis

  • 7/29/2019 Ooad Unit III

    154/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    .

    Test cases are designed from the requirements analysisdocument (better: user manual) and centered aroundrequirements and key functions (use cases)

    The system is treated as black box.

    Unit test cases can be reused, but in end user orientednew test cases have to be developed as well.

    Performance Testing Stress Testing

    Stress limits of system (maximum # of users, peak demands, extended

    operation )V l i

    Timing testingEvaluate response times and timeto perform a function

    Environmental testT l f h h idi

  • 7/29/2019 Ooad Unit III

    155/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    ) Volume testing

    Test what happens if large amounts of data are handled

    Configuration testingTest the various software and hardwareconfigurations

    Compatibility testTest backward compatibility withexisting systems

    Security testingTry to violate security requirements

    Test tolerances for heat, humidity,motion, portability

    Quality testingTest reliability, maintain- ability &availability of the system

    Recovery testingTests systems response topresence of errors or loss of data.

    Human factors testingTests user interface with user

    Acceptance Testing

    Goal: Demonstrate systemis ready for operational use

    Choice of tests is made byclient/sponsor

    Alpha test: Sponsor uses the software at

    the developers site. Software used in a controlled

  • 7/29/2019 Ooad Unit III

    156/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    client/sponsor Many tests can be taken fromintegration testing

    Acceptance test is performedby the client, not by thedeveloper.

    Majority of all bugs in software istypically found by the client after the system is in use, not by thedevelopers or testers. Therefore

    two kinds of additional tests:

    Software used in a controlledsetting, with the developer always ready to fix bugs.

    Beta test:

    Conducted at sponsors site(developer is not present)Software gets a realistic workoutin target environ- mentPotential customer might getdiscouraged

    Testing has its own Life Cycle

    Establish the test objectives

    Design the test cases

  • 7/29/2019 Ooad Unit III

    157/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    gWrite the test cases

    Test the test cases

    Execute the testsEvaluate the test results

    Change the system

    Do regression testing

    Test Team

    AnalystProgrammer

    too familiar with code

    ProfessionalTester

  • 7/29/2019 Ooad Unit III

    158/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    TestTeamUser

    ConfigurationManagement

    Specialist

    SystemDesigner

    System Testing

    Objectives To verify that the system components perform controlfunctionsTo perform inter-system test

    To demonstrate that the system performs bothfunctionally and operationally as specified

  • 7/29/2019 Ooad Unit III

    159/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Srihari Techsoft

    functionally and operationally as specifiedTo perform appropriate types of tests relating toTransaction Flow, Installation, Reliability etc.

    When After Integration Testing

    Input Detailed Requirements & External ApplicationDesignMaster Test PlanSystem Test Plan

    Output System Test Report

    Who Development Team and Users

    Methods Problem / Configuration Management

  • 7/29/2019 Ooad Unit III

    160/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Srihari Techsoft

    g g

    Tools Recommended set of tools

    Education Testing MethodologyEffective use of tools

    Systems Integration Testing

    Objectives To test the co-existence of products and applicationsthat are required to perform together in the

    production-like operational environment (hardware,software, network)

    To ensure that the system functions together with allh f l

  • 7/29/2019 Ooad Unit III

    161/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Srihari Techsoft

    the components of its environment as a total systemTo ensure that the system releases can be deployedin the current environment

    When After system testingOften performed outside of project life-cycle

    Input Test StrategyMaster Test PlanSystems Integration Test Plan

    Output Systems Integration Test report

    Who System Testers

    Methods White and Black Box techniquesP bl / C fi i

  • 7/29/2019 Ooad Unit III

    162/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Srihari Techsoft

    qProblem / Configuration

    ManagementTools Recommended set of tools

    Education Testing MethodologyEffective use of tools

    Acceptance Testing

    Objectives To verify that the system meets the

    user requirements

  • 7/29/2019 Ooad Unit III

    163/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Srihari Techsoft

    qWhen After System Testing

    Input Business Needs & Detailed

    RequirementsMaster Test PlanUser Acceptance Test Plan

    Output User Acceptance Test report

    Who Users / End Users

    Methods Black Box techniques

    Problem / ConfigurationManagement

  • 7/29/2019 Ooad Unit III

    164/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Srihari Techsoft

    Management

    Tools Compare, keystroke capture & playback,regression testing

    Education Testing MethodologyEffective use of toolsProduct knowledge

    Business Release Strategy

    TESTING METHODOLOGIES AND

  • 7/29/2019 Ooad Unit III

    165/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Srihari Techsoft

    TESTING METHODOLOGIES ANDTYPES

    Testing methodologies

    Black box testing

  • 7/29/2019 Ooad Unit III

    166/215

    White box testing

    Incremental testing

    Thread testing

    Black box testing

    No knowledge of internal design or code required. Tests are based on requirements and functionality

    White box testing

  • 7/29/2019 Ooad Unit III

    167/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Srihari Techsoft

    g

    Knowledge of the internal program design and code required. Tests are based on coverage of code

    statements,branches,paths,conditions.

    Black box / Functional testing

    Based on requirements and functionality

    Not based on any knowledge of internal

  • 7/29/2019 Ooad Unit III

    168/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Srihari Techsoft

    Not based on any knowledge of internaldesign or code

    Covers all combined parts of a system

    Tests are data driven

    Black-box Testing Focus: I/O behavior. If for any given input, we can

    predict the output, then the module passes the test. Almost always impossible to generate all possible inputs ("testcases")

  • 7/29/2019 Ooad Unit III

    169/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Goal: Reduce number of test cases by equivalencepartitioning:

    Divide input conditions into equivalence classesChoose test cases for each equivalence class. (Example: If anobject is supposed to accept a negative number, testing onenegative number is enough)

    White box testing / Structural testing

    Based on knowledge of internal logic of an application's code

  • 7/29/2019 Ooad Unit III

    170/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Srihari Techsoft

    Based on coverage of code statements, branches, paths,conditions

    Tests are logic driven

    White-box Testing Focus: Thoroughness (Coverage). Every statement in the component isexecuted at least once.

    Four types of white-box testingStatement TestingLoop TestingPath TestingBranch Testing

  • 7/29/2019 Ooad Unit III

    171/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Branch Testing

    White-box Testing (Continued) Statement Testing (Algebraic Testing): Test singlestatements (Choice of operators in polynomials, etc)

    Loop Testing:

    Cause execution of the loop to be skipped completely.(Exception: Repeat loops)L b d l

  • 7/29/2019 Ooad Unit III

    172/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    if ( i = TRUE) printf("YES\n"); else printf("NO\n");Test cases: 1) i = TRUE; 2) i = FALSE

    Loop to be executed exactly onceLoop to be executed more than once

    Path testing:

    Make sure all paths in the program are executed Branch Testing (Conditional Testing): Make sure

    that each possible outcome from a condition is testedat least once

    Constructing the Logic Flow DiagramStart

    2

    1

    F

    T

  • 7/29/2019 Ooad Unit III

    173/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    3

    4 5

    6

    7

    8 9

    Exit

    T F

    T F

    T

    Comparison of White & Black-box Testing

    White-box Testing:Potentially infinite number of pathshave to be testedWhite-box testing often tests what is

    done, instead of what should be doneCannot detect missing use cases

    Both types of testing are needed White-box testing and black box

    testing are the extreme ends of atesting continuum.

    Any choice of test case lies inbetween and depends on the

  • 7/29/2019 Ooad Unit III

    174/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Black-box Testing:Potential combinatorial explosion of test cases (valid & invalid data)Often not clear whether the selectedtest cases uncover a particular error Does not discover extraneous usecases ("features")

    pfollowing:

    Number of possible logical pathsNature of input data

    Amount of computationComplexity of algorithms and datastructures

    Functional testingBlack box type testing geared to functional requirements of anapplication.

    Done by testers.S t t ti g

  • 7/29/2019 Ooad Unit III

    175/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Srihari Techsoft

    System testingBlack box type testing that is based on overall requirementsspecifications; covering all combined parts of the system.

    End-to-end testingSimilar to system testing; involves testing of a complete applicationenvironment in a situation that copies real-world use.

    Regression testing

    Re-testing after fixes or modifications of thesoftware or its environment.

  • 7/29/2019 Ooad Unit III

    176/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Srihari Techsoft

    Acceptance testing

    Final testing based on specifications of the end-user or customer

  • 7/29/2019 Ooad Unit III

    177/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Srihari Techsoft

    Load testing

    Testing an application under heavy loads.Eg. Testing of a web site under a range of loads todetermine, when the system response timedegraded or fails.

    Stress Testing

    Testing under unusually heavy loads, heavyrepetition of certain actions or inputs, input of

    large numerical values, large complex queries to adatabase etc.

  • 7/29/2019 Ooad Unit III

    178/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Srihari Techsoft

    database etc.

    Term often used interchangeably with load and

    performance testing. Performance testing

    Testing how well an application complies to performance requirements.

    Install/uninstall testing

    Testing of full, partial or upgrade install/uninstall process.

    Recovery testing

  • 7/29/2019 Ooad Unit III

    179/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Srihari Techsoft

    Testing how well a system recovers from crashes,HW failures or other problems.

    Compatibility testing

    Testing how well software performs in a particular HW/SW/OS/NW environment.

    Exploratory testing / ad-hoc testingInformal SW test that is not based on formal test plans or test cases; testers will be learning the SW in totality as they testit.

  • 7/29/2019 Ooad Unit III

    180/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Srihari Techsoft

    Comparison testingComparing SW strengths and weakness to competing

    products .

    Alpha testingTesting done when development is nearing

    completion; minor design changes may still bemade as a result of such testing.

  • 7/29/2019 Ooad Unit III

    181/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Srihari Techsoft

    Beta-testing

    Testing when development and testing areessentially completed and final bugs and problemsneed to be found before release.

    White Box - testing techniqueAll independent paths within a module have been exercised

    at least once

    Exercise all logical decisions on their true and false sides

  • 7/29/2019 Ooad Unit III

    182/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Srihari Techsoft

    g

    Execute all loops at their boundaries and within their

    operational bounds

    Exercise internal data structures to ensure their validity

    This white box technique focuses on the validity of loopconstructs.

    different classes of loops can be defined

    Loop Testing

  • 7/29/2019 Ooad Unit III

    183/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Srihari Techsoft

    different classes of loops can be defined

    simple loops

    nested loops

    Other White Box Techniques Statement Coverage execute all statements at least once

    Decision Coverage execute each decision direction at least onceCondition Coverage execute each decision with all possible

  • 7/29/2019 Ooad Unit III

    184/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Srihari Techsoft

    g poutcomes at least once

    Decision / Condition coverage execute all possible combinations of condition outcomes in each decision.

    Multiple condition Coverage Invokes each point of entry at leastonce.

    Examples

    Statement Coverage Examples

    Eg. A + B

    If (A = 3) ThenB = X + YE d If

  • 7/29/2019 Ooad Unit III

    185/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Srihari Techsoft

    End-If

    While (A > 0) DoRead (X)

    A = A - 1End-While-Do

    Decision Coverage - ExampleIf A < 10 or A > 20 Then

    B = X + Y

    Condition Coverage ExampleA = X

  • 7/29/2019 Ooad Unit III

    186/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Srihari Techsoft

    If (A > 3) or (A < B) ThenB = X + Y

    End-If-Then

    While (A > 0) and (Not EOF) DoRead (X)A = A - 1

    End-While-Do

    Incremental Testing

    A disciplined method of testing the interfaces between unit-tested programs as well as between system components.

    Involves adding unit-testing program module or componentone by one and testing each result and combination

  • 7/29/2019 Ooad Unit III

    187/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Srihari Techsoft

    one by one, and testing each result and combination.

    There are two types of incremental testingTop-down testing form the top of the module hierarchy andwork down to the bottom. Modules are added in descendinghierarchical order.

  • 7/29/2019 Ooad Unit III

    188/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Srihari Techsoft

    Bottom-up testing from the bottom of the hierarchy andworks up to the top. Modules are added in ascendinghierarchical order.

    Testing Levels/Techniques

    WhiteBox

    Black Box

    Incre-mental

    Thread

    Unit Testing X

  • 7/29/2019 Ooad Unit III

    189/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Srihari Techsoft

    IntegrationTesting

    X XX

    System Testing X

    AcceptanceTesting

    X

    TEST PLAN Objectives

    To create a set of testing tasks.

    Assign resources to each testing task.

  • 7/29/2019 Ooad Unit III

    190/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Srihari Techsoft

    g g

    Estimate completion time for each testing task.

    Document testing standards.

    A document that describes thescopeapproachresourcesschedule

    of intended test activities.Id tifi th

  • 7/29/2019 Ooad Unit III

    191/215

    Identifies thetest items

    features to be testedtesting taskstask allotmentrisks requiring emergency planning.

    Purpose of preparing a Test Plan

    Validate the acceptability of a software product.

    Help the people outside the test group to understand whyand how of product validation.

  • 7/29/2019 Ooad Unit III

    192/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Srihari Techsoft

    A Test Plan should bethorough enough (Overall coverage of test to be conducted)

    useful and understandable by the people inside and outside thetest group.

    Test Approach

    Details on how the testing is to be performed.Any specific strategy is to be followed for

    testing (including configuration management)

  • 7/29/2019 Ooad Unit III

    193/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Srihari Techsoft

    testing (including configuration management).

    Entry CriteriaVarious steps to be performed before the start of a test i.e.fundamentals.E.g.

    Timely environment set up

  • 7/29/2019 Ooad Unit III

    194/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Srihari Techsoft

    Timely environment set upStarting the web server/app server Successful implementation of the latest build etc.

    ResourcesList of the people involved in the project and their designationetc.

    Tasks/ResponsibilitiesTasks to be performed and responsibilities assigned to the variousteam members.

    Exit CriteriaContains tasks like

  • 7/29/2019 Ooad Unit III

    195/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Srihari Techsoft

    Bringing down the system / serverRestoring system to pre-test environment

    Database refresh etc.

    Schedule / MilestonesDeals with the final delivery date and the various milestones dates.

    Hardware / Software RequirementsDetails of PCs / servers required to install the application or performthe testingSpecific software to get the application running or to connect to thedatabase etc.

  • 7/29/2019 Ooad Unit III

    196/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Srihari Techsoft

    Risks & improvement PlansList out the possible risks during testingimprovement plans to implement incase the risk actually turns into areality.

    Tools to be used

    List the testing tools or utilitiesEg.WinRunner, LoadRunner, Test Director, Rational Robot,

    QTP.Deliverables

  • 7/29/2019 Ooad Unit III

    197/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Srihari Techsoft

    Various deliverables due to the client at various points of timei.e. Daily / weekly / start of the project end of the project etc.These include test plans, test procedures, test metric, statusreports, test scripts etc.

    Good Test Plans

    Developed and Reviewed early.

    Clear, Complete and Specific

    Specifies tangible deliverables that can be inspected

  • 7/29/2019 Ooad Unit III

    198/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Srihari Techsoft

    Specifies tangible deliverables that can be inspected.

    Staff knows what to expect and when to expect it.

    Good Test Plans

    Realistic quality levels for goals

    Includes time for planning

    Can be monitored and updatedIncludes user responsibilities

  • 7/29/2019 Ooad Unit III

    199/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Srihari Techsoft

    p

    Based on past experience

    TEST CASES

    Test case is defined asA set of test inputs, execution conditions and expected results,

    developed for a particular objective.Documentation specifying inputs, predicted results and a set of

  • 7/29/2019 Ooad Unit III

    200/215

    Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi -63, by Nitish Pathak U3.#

    Srihari Techsoft

    p y g p pexecution conditions for a test item.

    Specific inputs that will be tried and the procedures thatwill be followed when the software tested.

    Sequence of one or more subtests executed as a sequenceas the outcome and/or final state of one subtests is theinput and/or initial state of


Recommended