Ooad Unit III
Ooad Unit III
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Learning Objectives
Construction Introduction the design model block design working with construction Testing Introduction on testing unit testing integration testing system testing the testing process
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
CONSTRUCTION
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
U3. #
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
All about BUILDING the system from model of analysis & requirement phase. Consists of Design and Implementation. Start from elaboration & continues to construction
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Why construction?
For seamless transition to source code; analysis model not sufficient. The actual system must implementation environment. be adapted to the
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Behavior
Behavior
Implementation Environment
Design
Information
Information Presentation Presentation
Analysis Space
Design Space
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Design Model
Implementation Model
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
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 process Specification document, including models etc. Outputs of the design process A design document that describes how the code will be written. Includes design models! What subsystems, modules or components are used How these integrate (i.e. work together) Information allowing testing of the system
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Problem
New System
Existing System
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? specifications.
Design Goals..
Efficiency It Should Not Waste Resources. But: Better A Working Slow Design Than A Fast Design That Does Not Work
Simplicity It Should Be As Understandable As Possible
Important: A design should fully describe how coders will implement the system in the next phase
Designs are blue-prints for code construction
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Levels of Design
Three possible levels: System Design, if appropriate Part of Systems Engineering High-level Software Design Architecture, architectural design Low-level Software Design Detailed Design, Module Design
Systems Engineering: Large combinations of hardware and software. Decompose system into subsystems Determine which subsystems are HW, which are SW Software Engineering activities thus become a part of a larger activity.
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak U3. #
Incorporate the conclusions & develop a First approach to a design model from requirement models. Use analysis model as base & translate analysis objects to design objects in design model fit for current implementation. Why cant this be incorporated in analysis model?
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
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 system should be built Including: The target environment Programming language Existing products that should be used (DBMSs, etc) Strategies: n As few objects as possible should be aware of the constraints of the actual implementation environment
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
File Manager
MS-DOS
UNIX
Mac-OS
U3. #
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
Implementation Environment
Target environment Create a new blocks that represent occurrences of the changed parts in the target environment Strategies: Specified an abstract class polymorphism The object can check the platform at run-time CASE statement in the source code Decide this when the system us delivered Provide several different modul which will be choosed later Investigate whether the target environment will execute in a distributed way on a different processors or different processes
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak U3. #
Implementation Environment
Programming language Affect the design in translating the concepts used The basic properties of the language and its environment are fundamental for the design Inheritance and Multiple inheritance Typing Standard Portability Strategies for handling errors during run-time Exception (Ada) Assertions (Eiffel) Memory management Automatic garbage collection The use of component Component library, such as interface objects
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak U3. #
Implementation Environment..
Using existing products DBMS UIMS (User Interface Management System) Network facilities Internally or externally developed applications that should be incorporated Products used during development Compilers Debuggers Preprocessor Other considerations Requirement for performance Limitations of memory
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 are absolutly sure that they will be needed the real bottlenecks are often missed and then new optimizations are necessary Use simulation or prototyping to investigate potential optimization 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 it should be done
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak U3. #
Implementation Environment
The people and organization involved 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 today will probably change during the systems life cycle
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak U3. #
in
the
Traceability
refines the analysis model in light of actual implementation environment. 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 design objects. One block is implemented as one class
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Traceability..
The blocks abstract actual implementation the
Traceability is extremely important aspect of the system. Changes made will be only local to a module. Provides high functional localization (high cohesion).
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Alarm
Alarmist
Deposit
extends
Receipt printer
Bottle
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Change in Environment
Changing the associations between the blocks in the design model. extensions to stimuli inheritance to delegation
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Interaction Diagrams
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
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak U3. #
message
Blocks life line (showing life cycle) Events occurring within a block feedback signal
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Stair diagram
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Sequence Diagram
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;
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Sequence Diagram
Events (when a customer 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; }
U3. #
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
Sequence Diagram
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
asynchronous
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Recursion in SD
Syntax:
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Homogenization
In parallel design process, several stimuli with the same purpose or meaning are defined by several designers. These stimuli should be consolidated to obtain as few stimuli as possible.
Called homogenization.
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Example - Homogenization
What_is_your_phone_number? Where_do_you_live? Get_address Get_address_and_phone_number Homogenized into: Get_address Get_phone_number
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Structure of SD
Centralised structure -- Fork: Everything is handled and controlled by the left-most block.
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Structure of SD
Decentralised structure -- Stair: There is no central control
block.
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Structure of SD
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.
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Structure of SD
A centralized structure is appropriate:
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Structure of SD
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Structure of SD..
Fork 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:
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Structure of SD.
Stair indicates decentralized structure and is characterized by delegated responsibility. Each object only knows a few of the other objects and knows which objects can help with a specific behavior. This structure is appropriate when: The operation have a strong connection. Strong connection exists if the objects: form a consist-of hierarchy form an information hierarchy form a fixed temporal relationship form a (conceptual) inheritance relationship The operation will always be performed in the same order
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak U3. #
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Block Design
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 designed
before descendant. Look at all interaction diagrams where a block participates, and
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Block Design...
From the interaction diagram for Returning Item: The interface for Deposit Item:
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Composition
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Aggregation
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Association
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Inheritance
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Realization
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Multiplicity Notation
1 *
exactly one many (zero or more) optional (zero or more) numerically specified ordered
0..1 m..n
{ordered} *
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Class Diagram
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Object Behavior
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.
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Object Behavior...
To provide a simplified description that increases
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Textual Notation
Machine stack State init input createinstance next state empty otherwise error; State empty input push do store on top next state loaded print stack is empty otherwise error; .. endmachine
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak U3. #
Object Behavior...
Stimulus control object
An object that perform the same operation independent of state when a certain stimulus is received. Entity objects
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Object Behavior...
state-controlled objects
Objects that select operations not only from the stimulus received, but also from the current state Control object
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Operation
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
STD
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
State
A condition or situation during the life of an object during 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)
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak U3. #
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Implementation
Now, need to write code for each block. Implementation strategy depends on the programming language. 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.
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Mapping
Analysis Analysis objects Behavior in objects Design Block Operations Source code C++ 1..N classes Member functions
Attributes(class) Attributes(instance)
Attributes(class) Attributes(instance)
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Mapping..
Analysis Acquuaintance ass. Design Acquuaintance ass. Source code C++ Instance variables
Communication ass.
Interaction between objects Usecase
Communication ass.
Stimulus
Reference to a function
Call to a functiom
subsystem
Subsystem
File
U3. #
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
Implementation Environment
Everything that does not come from analysis phase, including performance requirements. Design must be adapted to implementation environment. Use of existing products must be decided. Includes
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
What we learnt
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
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak U3. #
Testing Techniques Testing Regression Test Verification Testing Focuses Validation Operation test Debugging Full-scale test Certification Clean Room Software Engineering Stress test Overload test Error Negative test Fault Test based on requirements Failure Ergonomic tests Testing Level Testing of the user Unit testing documentation Integration Testing Acceptance testing System Testing
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Test program
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Why testing must be planned in the same manner as analysis and construction?
Why it is not possible to arrive at high quality software just by testing and debugging? How testing can be done on analysis and design documents?
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
Why unit test of object-oriented code is more complex than testing ordinary (procedural) code?
What is difference between ordinary (procedural) unit testing and 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?
U3. #
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
When a test is done what are the different reasons of detected failure?
What we need to do when testing has been completed?
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Testing Introduction on testing unit testing integration testing system testing the testing process
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak U3. #
Phases of SDLC
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
Srihari Techsoft
U3. #
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
Srihari Techsoft
U3. #
Top-down approach
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
Srihari Techsoft
U3. #
Bottom-Up Approach
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
Srihari Techsoft
U3. #
Srihari Techsoft
U3. #
Confusing or misleading data Software usability by end users Inconsistent processing Unreliable results or performance Incorrect interfaces with other systems Inadequate performance and security Incorrect file handling
controls
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
Srihari Techsoft
U3. #
Software testing can be stated as the process of validating and verifying that a software 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 the development process. However, most of the test effort occurs after the requirements have been defined and the coding process has been completed.
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
A primary purpose of testing is to detect software failures so that defects may be discovered and corrected. Testing cannot establish that a product functions properly under all conditions but can only establish that it does not function properly under specific conditions
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Objectives of testing
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.
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
Srihari Techsoft
U3. #
Objectives of testing A good test case is one that has a probability of finding undiscovered error. A good test is not redundant. A good test should be best of type. A good test should neither be too simple nor too complex.
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
Srihari Techsoft
U3. #
Objective of a Software Tester Find bugs as early as possible and make sure they get 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 to uncover the hidden bugs and also ensure that the software is usable and reliable
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
Srihari Techsoft
U3. #
Srihari Techsoft
U3. #
Action
Do
Check
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
Srihari Techsoft
U3. #
PLAN (P): Device a plan. Define your objective and determine the strategy and supporting methods required to achieve that objective. 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 the results are obtained. ACTION (A): Take the necessary and appropriate action if checkup tells that the work is not being performed according to plan or not as expected.
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
Srihari Techsoft
U3. #
Requirements study Test Case Design and Development Test Execution Test conclusion
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
Srihari Techsoft
U3. #
Requirements study
Testing Cycle starts with the study of clients requirements.
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
Srihari Techsoft
U3. #
Test objective and coverage Overall schedule Standards and Methodologies Resources required, including necessary training Roles and responsibilities of the team members Tools used
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
Srihari Techsoft
U3. #
Test Case Design and Development Component Identification Test Specification Design Test Specification Review Test Execution Code Review Test execution and evaluation Performance and simulation
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
Srihari Techsoft
U3. #
Test Closure
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
Srihari Techsoft
U3. #
Testing Levels
Unit testing Integration testing System testing Acceptance testing
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Types of Testing
Unit Testing:
Individual subsystem Carried out by developers Goal: Confirm that subsystems is correctly coded and carries out the intended functionality
Integration Testing:
Groups of subsystems (collection of classes) and eventually the entire system Carried out by developers Goal: Test the interface among the subsystem
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
System Testing
System Testing:
The entire system Carried out by developers Goal: Determine if the system meets the requirements (functional and global)
Acceptance Testing:
Evaluates the system delivered by developers Carried out by the client. May involve executing typical transactions on site on a trial basis Goal: Demonstrate that the system meets customer requirements and is ready to use
Testing Activities
Subsystem Code Subsystem Code
Unit Test
Tested Subsystem
Unit Test
Tested Subsystem
User Manual
Integration Test
Functioning System
Tested Subsystem
Subsystem Code
Unit Test
All tests by developer
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
User Environment
Accepted Validated Functioning System Performance System Acceptance System Installation Test Test Test
Tests by client Tests by developer Users understanding
Usable System
System in Use
Tests (?) by user
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak U3. #
Unit testing
The most micro scale of testing. Tests done on particular functions or code modules. Requires knowledge of the internal program design and code. Done by Programmers (not by testers).
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
Srihari Techsoft
U3. #
Unit testing
Objectives
To test the function of a program or unit of code such as a program or module To test internal logic To verify internal design To test path & conditions coverage To test exception conditions & error handling After modules are coded Internal Application Design Unit Test Plan Unit Test Report
Srihari Techsoft
U3. #
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
Developer
White
Debug Re-structure Code Analyzers Path/statement coverage Testing Methodology Effective use of tools
tools
Education
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
Srihari Techsoft
U3. #
Continuous testing of an application as and when a new functionality is added. Applications functionality aspects are required to be independent enough to work separately before completion of development.
Done by programmers or testers.
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
Srihari Techsoft
U3. #
Integration Testing
Srihari Techsoft
U3. #
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
Srihari Techsoft
U3. #
To technically verify proper interfacing between modules, and within sub-systems After modules are unit tested Internal & External Application Design Integration Test Plan Integration Test report
Srihari Techsoft
U3. #
When Input
Output
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
Who Methods
Developers White
Tools
Education
and Black Box techniques Problem / Configuration Management Debug Re-structure Code Analyzers Testing Methodology Effective use of tools
Srihari Techsoft
U3. #
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
For the selection use the system decomposition from the System Design
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak U3. #
Layer I
Layer II
Layer III
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
System Test
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Bottom-up Integration
A Layer I
Layer II
Layer III
Test A, B, C, D, E, F, G
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Layer III
Test A Layer I
Test A, B, C, D
Test A, B, C, D, E, F, G
Layer I + II
All Layers
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
How do you select the target layer if there are more than 3 layers?
Heuristic: Try to minimize the number of stubs and drivers
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Test E
E
Layer II
Layer III
Test A
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Test in parallel:
Top layer accessing middle layer (top layer replaces drivers) Bottom accessed by middle layer (bottom layer replaces stubs)
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Double Test I
Layer I C D Layer II
Test B
B
Layer III
Test A
Double I Applications and Management, New Delhi-63, by Nitish Pathak Bharati Vidyapeeths InstituteTest of Computer
Test C
U3. #
Steps in Integration-Testing
1. Based on the integration strategy, select a component to be tested. Unit test all the classes in the component. . 2. Put selected component together; do any preliminary fix-up necessary to make the integration test operational (drivers, stubs) 3. Do functional testing: Define test cases that exercise all uses cases with the selected component 4. Do structural testing: Define test cases that exercise the selected component 5. Execute performance tests 6. Keep records of the test cases and testing activities. 7. Repeat steps 1 to 7 until the full system is tested. The primary goal of integration testing is to identify errors in the (current) component configuration.
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
System Testing
Functional Testing Structure Testing Performance Testing Acceptance Testing Installation Testing
The more explicit the requirements, the easier they are to test. Quality of use cases determines the ease of functional testing Quality of subsystem decomposition determines the ease of structure testing Quality of nonfunctional requirements and constraints determines the ease of performance tests:
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak U3. #
Structure Testing
Essentially the same as white box testing. Goal: Cover all paths in the system design
Exercise all input and output parameters of each component. Exercise all components and all calls (each component is called at least once and every component is called by all possible callers.) Use conditional and iteration testing as in unit testing.
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Functional Testing
Essentially the same as black box testing . Goal: Test functionality of system Test cases are designed from the requirements analysis document (better: user manual) and centered around requirements and key functions (use cases) The system is treated as black box. Unit test .cases can be reused, but in end user oriented new test cases have to be developed as well.
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Performance Testing
Stress Testing
Stress limits of system (maximum # of users, peak demands, extended operation)
Timing testing
Evaluate response times and time to perform a function
Environmental test
Test tolerances for heat, humidity, motion, portability
Volume testing
Test what happens if large amounts of data are handled
Quality testing
Test reliability, maintain- ability & availability of the system
Configuration testing
Test the various software and hardware configurations
Recovery testing
Tests systems response to presence of errors or loss of data.
Compatibility test
Test backward compatibility with existing systems
Security testing
Try to violate security requirements
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Acceptance Testing
Goal: Demonstrate system is ready for operational use
Choice of tests is made by client/sponsor Many tests can be taken from integration testing Acceptance test is performed by the client, not by the developer. Majority of all bugs in software is typically found by the client after the system is in use, not by the developers or testers. Therefore two kinds of additional tests:
Alpha test:
Sponsor uses the software at the developers site. Software used in a controlled setting, with the developer always ready to fix bugs.
Beta test:
Conducted at sponsors site (developer is not present) Software gets a realistic workout in target environ- ment Potential customer might get discouraged
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Test Team
Professional Tester
Programmer too familiar with code
Analyst
User
Test Team
System Designer
System Testing
Objectives
When Input
To verify that the system components perform control functions To perform inter-system test To demonstrate that the system performs both functionally and operationally as specified To perform appropriate types of tests relating to Transaction Flow, Installation, Reliability etc. After Integration Testing
Detailed Requirements & External Application Design Master Test Plan System Test Plan System Test Report Srihari Techsoft
U3. #
Output
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
Who
Development Team
and Users
Methods
Problem
/ Configuration Management
Tools
Recommended
set of tools
Education
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
Srihari Techsoft
U3. #
To test the co-existence of products and applications that are required to perform together in the production-like operational environment (hardware, software, network) To ensure that the system functions together with all the components of its environment as a total system To ensure that the system releases can be deployed in the current environment After system testing Often performed outside of project life-cycle Test Strategy Master Test Plan Systems Integration Test Plan Systems Integration Test report Srihari Techsoft
U3. #
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
Who Methods
Tools
Education
and Black Box techniques Problem / Configuration Management Recommended set of tools
Testing
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
Srihari Techsoft
U3. #
Output
To verify that the system meets the user requirements After System Testing Business Needs & Detailed Requirements Master Test Plan User Acceptance Test Plan User Acceptance Test report
Srihari Techsoft
U3. #
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
Who Methods
Management
Tools Education Compare, keystroke capture & playback, regression testing
Testing Methodology Effective use of tools Product knowledge Business Release Strategy
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
Srihari Techsoft
U3. #
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
Srihari Techsoft
U3. #
Testing methodologies
Black box testing
White box testing Incremental testing
Thread testing
No knowledge of internal design or code required. Tests are based on requirements and functionality
White box testing Knowledge of the internal program design and code required. Tests are based on coverage of code statements,branches,paths,conditions.
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
Srihari Techsoft
U3. #
Black box / Functional testing Based on requirements and functionality Not based on any knowledge of internal design or code Covers all combined parts of a system Tests are data driven
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
Srihari Techsoft
U3. #
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 ("test cases")
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
Srihari Techsoft
U3. #
White-box Testing
Focus: Thoroughness (Coverage). Every statement in the component is executed at least once. Four types of white-box testing
Statement Testing Loop Testing Path Testing Branch Testing
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Statement Testing (Algebraic Testing): Test single statements (Choice of operators in polynomials, etc) Loop Testing:
Cause execution of the loop to be skipped completely. (Exception: Repeat loops) Loop to be executed exactly once Loop 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 tested at least once
if ( i = TRUE) printf("YES\n"); else printf("NO\n"); Test cases: 1) i = TRUE; 2) i = FALSE
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
F 5
F 9
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Functional testing
Black box type testing geared to functional requirements of an application. Done by testers.
System testing
Black box type testing that is based on overall requirements specifications; covering all combined parts of the system.
End-to-end testing
Similar to system testing; involves testing of a complete application environment in a situation that copies real-world use.
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
Srihari Techsoft
U3. #
Regression testing
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
Srihari Techsoft
U3. #
Acceptance testing
Testing an application under heavy loads. Eg. Testing of a web site under a range of loads to determine, when the system response time degraded or fails.
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
Srihari Techsoft
U3. #
Stress Testing
Testing under unusually heavy loads, heavy repetition of certain actions or inputs, input of large numerical values, large complex queries to a database etc. Term often used interchangeably with load and performance testing.
Performance testing
Srihari Techsoft
U3. #
Install/uninstall testing
Testing how well a system recovers from crashes, HW failures or other problems.
Compatibility testing
Srihari Techsoft
U3. #
Comparison testing
Comparing SW strengths and weakness to competing products.
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
Srihari Techsoft
U3. #
Alpha testing Testing done when development is nearing completion; minor design changes may still be made as a result of such testing.
Beta-testing Testing when development and testing are essentially completed and final bugs and problems need to be found before release.
Srihari Techsoft
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
Srihari Techsoft
U3. #
Loop Testing
This white box technique focuses on the validity of loop constructs. different classes of loops can be defined
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
Srihari Techsoft
U3. #
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
Srihari Techsoft
U3. #
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
Srihari Techsoft
U3. #
Srihari Techsoft
U3. #
Incremental Testing
A disciplined method of testing the interfaces between unittested programs as well as between system components. Involves adding unit-testing program module or component one by one, and testing each result and combination.
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
Srihari Techsoft
U3. #
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
Srihari Techsoft
U3. #
Black Box
Incremental
Thread
X
X X X Srihari Techsoft
U3. #
Acceptance Testing
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
TEST PLAN
Objectives
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
Srihari Techsoft
U3. #
Purpose of preparing a Test Plan Validate the acceptability of a software product. Help the people outside the test group to understand why and how of product validation. A Test Plan should be
thorough enough (Overall coverage of test to be conducted) useful and understandable by the people inside and outside the test group.
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
Srihari Techsoft
U3. #
Test Approach Details on how the testing is to be performed. Any specific strategy is to be followed for testing (including configuration management).
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
Srihari Techsoft
U3. #
Entry Criteria
Various steps to be performed before the start of a test i.e. fundamentals. E.g.
Timely environment set up Starting the web server/app server Successful implementation of the latest build etc.
Resources
List of the people involved in the project and their designation etc.
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
Srihari Techsoft
U3. #
Tasks/Responsibilities
Tasks to be performed and responsibilities assigned to the various team members.
Exit Criteria
Contains tasks like Bringing down the system / server Restoring system to pre-test environment Database refresh etc.
Schedule / Milestones
Deals with the final delivery date and the various milestones dates.
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
Srihari Techsoft
U3. #
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
Srihari Techsoft
U3. #
Tools to be used List the testing tools or utilities Eg.WinRunner, LoadRunner, Test Director, Rational Robot, QTP. Deliverables Various deliverables due to the client at various points of time i.e. Daily / weekly / start of the project end of the project etc. These include test plans, test procedures, test metric, status reports, test scripts etc.
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
Srihari Techsoft
U3. #
Developed and Reviewed early. Clear, Complete and Specific Specifies tangible deliverables that can be inspected. Staff knows what to expect and when to expect it.
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
Srihari Techsoft
U3. #
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
Srihari Techsoft
U3. #
TEST CASES
Test case is defined as A set of test inputs, execution conditions and expected results, developed for a particular objective. Documentation specifying inputs, predicted results and a set of execution conditions for a test item.
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
Srihari Techsoft
U3. #
Specific inputs that will be tried and the procedures that will be followed when the software tested.
Sequence of one or more subtests executed as a sequence as the outcome and/or final state of one subtests is the input and/or initial state of the next. Specifies the pretest state of the AUT and its environment, the test inputs or conditions. The expected result specifies what the AUT should produce from the test inputs.
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
Srihari Techsoft
U3. #
Test Cases
Contents
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
Srihari Techsoft
U3. #
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
Srihari Techsoft
U3. #
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
Srihari Techsoft
U3. #
Defect Log
Defect ID number Descriptive defect name and type Source of defect test case or other source Defect strictness Defect Priority Defect status (e.g. New, open, fixed, closed, reopen, reject)
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
Srihari Techsoft
U3. #
7. Date and time tracking for either the most recent status change, or for each change in the status. 8. Detailed description, including the steps necessary to reproduce the defect. 9. Component or program where defect was found 10. Screen prints, logs, etc. that will aid the developer in resolution process. 11. Stage of origination. 12. Person assigned to research and/or corrects the defect.
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
Srihari Techsoft
U3. #
Analysis between the number of defects being generated against the expected number of defects expected from the planning stage.
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
Srihari Techsoft
U3. #
A line graph format that shows the Number of defects uncovered verses the number of defects being corrected and accepted by the testing group.
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
Srihari Techsoft
U3. #
Test Metrics
User Participation = User Participation test time Vs. Total test time. Path Tested = Number of path tested Vs. Total number of paths. Acceptance criteria tested = Acceptance criteria verified Vs. Total acceptance criteria.
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
Srihari Techsoft
U3. #
Test cost = Test cost Vs. Total system cost. Cost to locate defect = Test cost / No. of defects located in the testing. Detected production defect = No. of defects detected in production / Application system size. Test Automation = Cost of manual test effort / Total test cost.
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
Srihari Techsoft
U3. #
Objective Questions
Q1. Q2. Q3. Q4. Q5. Q6. Q7. Q8. Q9. Define Block Define Design model Define Verification Define negative test with example. What is association class? Give example. Differentiate message and signal with example. Define Homogenization with example. Define probe in sequential diagram. Differentiate full-scale test and overload test.
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #
Short Questions
Q1. What are the reasons for having construction phase in object oriented software engineering? Q2. How is Object oriented testing different than procedural testing? Q3. What are the guidelines for defining stimuli in an interaction diagram? Q4. Write short note on Testing strategies, Automatic Testing and System Testing Q5. Define and differentiate full-scale test, performance test & overload test Q6. Differentiate Object Oriented Analysis (OOA) and Object Oriented Design (OOD)? Q7. What are the consequences of implementation environment? Why analysis objects are required before design objects? Discuss with example.
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak U3. #
Long Questions
Q1. The identification of classes and objects is the hardest part of object oriented analysis and design. Discuss with the help of an example. Q2. Explain the procedure of converting analysis model into construction model. Q3. Explain different types of System Testing Q4. What are the various testing levels in an object oriented system? Explain. Q5. Differentiate between implementation and test model of OO system. Take suitable examples. Q6. What are the limitations of State Transition Table? How are they overcome? Q7. Explain unit and integration testing in the object oriented context. Differentiate betweenthread based and use case based strategies for integration testing. Q8. How is object oriented integration testing different from structural integration testing? Q9. Compare and contrast various object oriented integration testing techniques. Q10. Discuss the state based testing and system testing. Q11. Describe the purpose of the construction phase? What are the main steps to develop design model? Q12. Describe the Activities in testing process. Q13. Discuss the structure of use cases in the interaction diagram.
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak U3. #
Research Problems
Consider the following Library Management System(LIS) : The Librarian can create new member records by entering the member's name and address. LIS assigns a unique membership number to each new library member. The Librarian can also delete a membership by entering the membership number. LIS registers each book issued to a member. When a member returns a book, LIS deletes the book from the member's account and make the book available for future issue. When a member returns an overdue book, LIS software computes the penalty charge and prints a bill towards the fine payable by the member. A member can input either the name of a book or the name of the author of the book and query about the availability of the book. If available, LIS displays the following :
rack number in which book is located, the number of copies of books available for issue number of copies of books already issued
Perform the following. You can make suitable assumptions regarding the details of various features of LIS software but you must clearly write down the assumptions you make. a) Draw the use case diagram and give the use case description of issue and return of books. b) For implementing the LIS software identify the classes and their interrelationships and represent them in class diagram. C) Draw Sequence Diagram for Cash Withdrawal from ATM Machine.
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak U3. #
References
Ivar Jacobson, Object Oriented Software Engineering, Pearson, 2004. Grady Booch, James Runbaugh, Ivar Jacobson, The UML User Guide, Pearson, 2004 3. R. Fairley, Software Engineering Concepts, Tata McGraw Hill, 1997. 4. P. Jalote, An Integrated approach to Software Engineering, Narosa, 1991. 5. Stephen R. Schach, Classical & Object Oriented Software Engineering, IRWIN, 1996. 6. James Peter, W Pedrycz, Software Engineering, John Wiley & Sons 7. Sommerville, Software Engineering, Addison Wesley, 1999. 8. http://www.gentleware.com/fileadmin/media/archives/userguides/poseidon_u sers_guide/userguide.html 9. http://www.gentleware.com/fileadmin/media/archives/userguides/poseidon_u sers_guide/statemachinediagram.html 10. http://www.developer.com/design/article.php/2238131/State-Diagram-inUML.htm 1. 2.
Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi-63, by Nitish Pathak
U3. #