Vidya Pratishthan's College of Engineering Department of Information Technology B.E. (I.T.)

advertisement
Computer Laboratory Practical – I Part (A)
Vidya Pratishthan's
College of Engineering
Department of Information Technology
LABORATORY MANUAL
B.E. (I.T.)
COMPUTER LAB PRACTICES-I
LABORATORY
STAFF: Prof. P. T. RAUT
Teaching Scheme
Theory: 00 hrs/week
Practical: 04 hrs/week/batch
Examination Scheme
Term work: 50 marks
Practical Exam: 50 Marks
1
Computer Laboratory Practical – I Part (A)
INDEX
COMPUTER LABORATOTY PRACTICES-I
(PART A: OOMD) LABORATORY
Sr. No.
Name of the Assignment
1
Prepare Software Requirement Specification and Use Case
Diagram.
2
CRC (Class Responsibility Collaborator), Class Diagram, and
Composite Structure Diagram.
3
Design Sequence and Communication Diagram.
4
Design Activity Diagram.
5
Design State Machine Diagram.
6
Design Component Diagram.
7
Design Deployment Diagram.
8
Design Package Diagram.
9
Design Interaction Overview Diagram.
2
Computer Laboratory Practical – I Part (A)
Assignment No: 1
Title: Software Requirement Specification and Use Case Diagram.
________________________________________________________________
Aim: Prepare software requirement specification for mini project. Identify major
requirements/functionality of system using Use Case Diagram.
What is a Software Requirements Specification?
SRS – a requirements specification for a software system – is a complete
description of the behavior of a system to be developed. It includes a set of use
cases that describe all the interactions the users will have with the software. In
addition to use cases, the SRS also contains non-functional requirements. Nonfunctional requirements are requirements which impose constraints on the design
or implementation (such as performance engineering requirements, quality
standards, or design constraints).
Software requirements is a sub-field of software engineering that deals with the
elicitation, analysis, specification, and validation of requirements for software.
SRS is providing basically an organization's understanding (in writing) of a
customer or potential client's system requirements and dependencies at a
particular point in time (usually) prior to any actual design or development work.
It's a two-way insurance policy that assures that both the client and the
organization understand the other's requirements from that perspective at a given
point in time.
Template for SRS is as follows:
1.0 Introduction
This section provides an overview of the entire requirement document. This
document describes all data, functional and behavioral requirements for
software.
1.1 Goals and objectives
Overall goals and software objectives are described.
1.2 Statement of scope
A description of the software is presented. Major inputs, processing
functionality and outputs are described without regard to implementation
detail.
3
Computer Laboratory Practical – I Part (A)
1.3 Software context
The software is placed in a business or product line context. Strategic
issues relevant to context are discussed. The intent is for the reader to
understand the 'big picture'.
1.4 Major constraints
Any business or product line constraints that will impact the manner in
which the software is to be specified, designed, implemented or tested are
noted here.
2.0 Usage scenario
This section provides a usage scenario for the software. It organized information
collected during requirements elicitation into use-cases.
2.1 User profiles
The profiles of all user categories are described here.
2.2 Use-cases
All use-cases for the software are presented.
2.3 Special usage considerations
Special requirements associated with the use of the software are
presented.
3.0 Data Model and Description
This section describes information domain for the software
3.1 Data Description
Data objects that will be managed/manipulated by the software are
described in this section.
3.1.1 Data objects
Data objects and their major attributes are described.
4
Computer Laboratory Practical – I Part (A)
3.1.2 Relationships
Relationships among data objects are described using an ERD- like form.
No attempt is made to provide detail at this stage.
3.1.3 Complete data model
An ERD for the software is developed
3.1.4 Data dictionary
A reference to the data dictionary is provided. The dictionary is maintained
in electronic form.
4.0 Functional Model and Description
A description of each major software function, along with data flow or class
hierarchy (OO) is presented.
4.1 Description for Function n
A detailed description of each software function is presented. Section 4.1
is repeated for each of n functions.
4.1.1 Processing narrative (PSPEC) for function n
A processing narrative for function n is presented.
4.1.2 Function n flow diagram
A diagram showing the flow of information through the function and
the transformation it undergoes is presented.
4.1.3 Function n interface description
A detailed description of the input and output interfaces for the
function is presented.
4.1.4 Function n transforms
A detailed description for each transform (subfunction) for function
n is presented. Section 4.1.4 is repeated for each of k transforms.
5
Computer Laboratory Practical – I Part (A)
4.1.4.1 Transform k description (processing narrative,
PSPEC)
4.1.4.2 Transform k interface description
4.1.4.3 Transform k lower level flow diagrams
4.1.4.4 Transform k interface description
4.1.5 Performance Issues
Special performance required for the subsystem is specified.
4.1.6 Design Constraints
Any design constraints that will impact the subsystem are noted.
4.2 Software Interface Description
The software interface(s)to the outside world is(are) described.
4.2.1 External machine interfaces
Interfaces to other machines (computers or devices) are described.
4.2.2 External system interfaces
Interfaces to other systems, products or networks are described.
4.2.3 Human interface
An overview of any human interfaces to be designed for the
software is presented.
4.3 Control flow description
The control flow for the system is presented with reference to Section 5.0
of this document.
6
Computer Laboratory Practical – I Part (A)
5.0 Behavioral Model and Description
A description of the behavior of the software is presented.
5.1 Description for software behavior
A detailed description of major events and states is presented in this
section.
5.1.1 Events
A listing of events (control, items) that will cause behavioral change
within the system is presented.
5.1.2 States
A listing of states (modes of behavior) that will result as a
consequence of events is presented.
5.2 State Transition Diagrams
Depict the overall behavior of the system.
5.3 Control specification (CSPEC)
Depict the manner in which control is managed by the software.
6.0 Restrictions, Limitations, and Constraints
Special issues which impact the specification, design, or implementation of the
software are noted here.
7.0 Validation Criteria
The approach to software validation is described.
7.1 Classes of tests
The types of tests to be conducted are specified, including as much detail
as is possible at this stage. Emphasis here is on black- box testing.
7.2 Expected software response
7
Computer Laboratory Practical – I Part (A)
The expected results from testing are specified.
7.3 Performance bounds
Special performance requirements are specified.
8.0 Appendices
Presents information that supplements the Requirements Specification
8.1 System traceability matrix
A matrix that traces stated software requirements back to the system
specification.
8.2 Product Strategies
If the specification is developed for a product, a description of relevant
product strategy is presented here.
8.3 Analysis metrics to be used
A description of all analysis metrics to be used during the analysis activity
is noted here.
8.4 Supplementary information (as required)
8
Computer Laboratory Practical – I Part (A)
Use Case Diagram
Theory:
Use case diagrams depict:




Use cases: A use case is narrative textual description of functionality from
end user point of view. It describes a sequence of actions that provide
something of measurable value to an actor and is drawn as a horizontal
ellipse.
Actors: An actor is a person, organization, or external system that
initiates a Use Case. It plays a role in one or more interactions with your
system. Actors are drawn as stick figures.
Associations: Associations between actors and use cases are indicated
in use case diagrams by solid lines. An association exists whenever an
actor is involved with an interaction described by a use case.
Associations are modeled as lines connecting use cases and actors to
one another.
System boundary boxes (optional): You can draw a rectangle around
the use cases, called the system boundary box, to indicate the scope of
your system. Anything within the box represents functionality that is in
scope and anything outside the box is not. System boundary boxes are
rarely used, but use them to identify which use cases will be delivered in
each major release of a system as shown in figure 1.1.
Figure 1.1
9
Computer Laboratory Practical – I Part (A)
Steps for preparing Use Case Diagrams:
1. Start by identifying as many actors as possible.
2. Ask how the actors interact with the system to identify an initial set of use
cases.
3. Connect the actors with the use cases with which they are involved. If
actor supplies information, initiates the use case, or receives any
information as a result of the use case, then there should be an
association between them.
Relationships in Use Case Diagram:
1. Actor Generalization: Actor generalization factors out behavior common
to two or more actors into a parent actor.
2. Use Case Generalization: Actor generalization factors out behavior
common to two or more actors into a parent actor.
3. <<include>>: The <<include>> relationship between use cases allows
you to include behavior of one use case into the flow of another use case.
4. <<extend>>: The <<extend>> relationship provides a way to insert new
behavior into an existing use case. The base use case provides a set of
extension points that are hooks where new behavior may be added, and
the extension use case provides a set of insertion segments that can be
inserted into the base use case at these hooks.
10
Computer Laboratory Practical – I Part (A)
Fig 1.2 is Use case diagram showing the reuse opportunities of use cases in the
context of system “Enrollment of Student for Course in University” shows the
three types of relationships between use cases -- extends, includes, and
inheritance -- as well as inheritance between actors
Figure 1.2
11
Computer Laboratory Practical – I Part (A)
Assignment No: 2
Title: CRC (Class Responsibility Collaborator), Class Diagram, and Composite
Structure Diagram.
________________________________________________________________
Aim: Identify analysis classes using CRC model and prepare class diagram to
describe structural view of project/system. Design structured classes using
Composite Structure diagram.
CRC (Class Responsibility Collaborator):
Theory:
Terms and concepts:
A Class Responsibility Collaborator (CRC) model is a collection of standard index
cards that have been divided into three sections, as depicted in figure 2.1. A
class represents a collection of similar objects, a responsibility is something that
a class knows or does, and a collaborator is another class that a class interacts
with to fulfill its responsibilities.
Figure 2.1
CRC Analysis procedure:
CRC analysis should always be used in conjunction with noun/verb analysis of
use cases, requirements, glossary, and other related documentation.
CRC is run as two-phase activity:
12
Computer Laboratory Practical – I Part (A)
Phase 1: Brainstorm-gather the information.
The participants are OO analysts, stakeholders, and domain experts. The
procedure is as follows:
1. Accept all ideas as good ideas.
2. Record ideas but do not debate.
3. Name the things that operate in their business domain. For example,
student, instructor.
4. State responsibilities that those things might have.
5. Try to identify classes that might work together.
Phase 2: Analyze information.
1. Analysis class represents abstraction in the problem domain as well as
key business.
2. If a note logically seems to be a part of another note, mark it as
attribute.
To prepare class diagram, perform following steps:
1. Identify the mechanism that represents some function or behavior of
the part of the system you are modeling.
2. Identify classes, interfaces, and other collaborations that participate in
collaboration. Identify the relationships among these things.
3. Use scenarios to walk through these things.
4. Populate these things with their contents.
Terms and concepts in Class diagram:






Classes
Responsibilities
Associations
Inheritance relationships
Composition associations
Interfaces
Classes:
An object is any person, place, thing, concept, event, screen, or report applicable
to your system. A class is a representation of an object and, in many ways, it is
simply a template from which objects are created. Classes form the main building
blocks of an object-oriented application.
Class can be represented as rectangle with maximum four compartments. First
compartment- Class Name, Second compartment
- Attributes Third
compartment – Operations, Fourth compartment – Responsibilities.
13
Computer Laboratory Practical – I Part (A)
Syntax:
1. For attribute
Visibility Attribute_name : Attribute_type = initialValue
2. For operation
Visibility name( direction parameter_Name: parameter_type
= initialValue ): return_type
Responsibilities:
Classes are typically modeled as rectangles with three sections: the top section
for the name of the class, the middle section for the attributes of the class, and
the bottom section for the methods of the class. The initial classes of your model
can be identified in the same manner as they are when you are CRC modeling, as
will the initial responsibilities (its attributes and methods). Figure 2.2 shows
Student and address (Conceptual class diagram)
Figure 2.2
Associations:
Objects are often associated with, or related to, other objects. Associations are
modeled as lines connecting the two classes whose instances (objects) are
involved in the relationship.
While modeling associations in UML class diagrams, show them as a thin line
connecting two classes, as seen in Figure 2.3. Associations can become quite
complex; consequently. The label, which is optional, although highly
recommended, is typically one or two words describing the association.
14
Computer Laboratory Practical – I Part (A)
Figure 2.3
The multiplicity of the association is labeled on either end of the line, one
multiplicity indicator for each direction (Table 2.1 summarizes the potential
multiplicity indicators). Multiplicity indicates how many objects are involved in
relationship at particular point in time.
Indicator
0..1
1
0..*
1..*
N
0..n
1..n
Meaning
Zero or one
One only
Zero or more
One or more
Only n (where n > 1)
Zero to n (where n >
1)
One to n (where n >
1)
Table 2.1
Inheritance Relationships i.e. Generalization/Specialization
Similarities often exist between different classes. Very often two or more classes
will share the same attributes and/or the same methods. To reduce the overhead
of writing the same code repeatedly, use a mechanism that takes advantage of
these similarities. Inheritance is that mechanism. When A inherits from B, we say
A is the subclass of B and B is the superclass of A. Person is superclass,
Student and Professor are subclasses as shown in Figure 2.4.
15
Computer Laboratory Practical – I Part (A)
Figure 2.4
Composition Associations:
Sometimes an object is made up of other objects. For example, an airplane is
made up of a fuselage, wings, engines, landing gear, flaps, and so on. Figure 2.5
presents an example using composition, modeling the fact that a building is
composed of one or more rooms, and then, in turn, that a room may be
composed of several sub rooms (you can have recursive composition). In UML
2, aggregation would be shown with an open diamond.
Figure 2.5
16
Computer Laboratory Practical – I Part (A)
Figure 2.6 is the conceptual class diagram for system “Enrollment of Student for
Course in University”
Figure 2.6
17
Computer Laboratory Practical – I Part (A)
Composite Structure Diagram
Theory:
Composite structure diagram is used to model
1. Structured classifiers/classes
2. Collaboration
Elements of Composite structure diagram:
Structured Classifiers: A structured Classifier is a classifier that has an internal
structure. This structure is modeled as parts that are joined with connectors. The
interaction of structured classifier with its environment is modeled by its
interfaces and ports.
Part has:
1. Role name: a descriptive name for the role that instances play in the
context of the structured classifier.
2. Type: only instances of this type (or subtype of this type) can play a role.
3. Multiplicity: the number of instances that can play the role at any point in
time.
Connectors: It represents communication links between the instances of classes
participating in internal structure. Figure 2.7 shows example of named connector.
Link between Pedal and a Wheel is a connector named “c”, which is a chain.
Figure 2.7
Ports: A way to offer functionality from composite structure to external
environment without exposing internal details of how that functionality is realized.
Port
is
collection
of
required
and
provided
interfaces.
CreditCardVerificationSystem with required (IAccountServices) and provided
(ICreditCardProcessor) interfaces as shown in figure 2.8
18
Computer Laboratory Practical – I Part (A)
.
Figure 2.8
Port has port name and visibility. When port is drawn overlapping the boundary
of the classifier, it is public (required and provided interfaces are public). If the
port rectangle is shown inside the classifier boundary then the port has either
protected (default) visibility or private visibility.
UML 2.0 allows you to have multiple connectors leading from a port to different
internal elements. However it doesn’t specifies what happens when
communication is received at that port. This is modeler’s decision. Some possible
solutions are to forward the communication to all connectors, forward based on
priority, forward on round robin basis, or simply randomly choose a connector.
Figure 2.9 shows an example of using a port with multiple connectors.
Figure 2.9
Structured Classes: A Structured Class has the extra constraint that it owns all
of its parts. connectors, and ports. It has implicit containment relationship with
them. Let us look an example of using structured classes in practice. Suppose
library management system has the following constraint:
1. There are two types of Borrower, StudentBorrowers and StaffBorrowers
2. StudentBorrowers can have maximum of four books on loan
simultaneously.
3. StaffBorrowers can have maximum of eight books on loan simultaneously.
19
Computer Laboratory Practical – I Part (A)
4. Only one librarian can logged on to system at a time – it is single user
system.
Figure 2.10 shows a structured classifier LibraryManager satisfying above
constraint using composite structure diagram.
Figure 2.10
20
Computer Laboratory Practical – I Part (A)
Assignment No: 3
Title: Sequence and Communication Diagram.
________________________________________________________________
Aim: Design sequence and communication diagram to describe dynamic nature
of system.
Theory:
UML sequence diagrams model the flow of logic within your system in a visual
manner, enabling you both to document and validate your logic, and are
commonly used for both analysis and design purposes.
Sequence diagrams are typically used to model:
1. Usage scenarios. A usage scenario is a description of a potential way
your system is used. The logic of a usage scenario may be part of a use
case, perhaps an alternate course.
2. The logic of methods. Sequence diagrams can be used to explore the
logic of a complex operation, function, or procedure.
3. The logic of services. A service is effectively a high-level method, often
one that can be invoked by a wide variety of clients.
Elements of sequence Diagram:
1. Interactions:
a. Interactions are simply units of behavior of classifier.
b. This classifier, known as the context classifier, provides context
for the interaction.
2. Lifelines:
Lifeline represents a single participant in an interaction shown as
rectangle connected with vertical line.
3 Messages:
A message represents a specific kind of communication between
two lifelines in an interaction. Different forms of messages
i] calling an operation – a call message
ii] creating or destroying an instance – a creation or
destruction message
iii] sending a signal
21
Computer Laboratory Practical – I Part (A)
4 Activations:
Activations are thin rectangles on the dashed line below the
lifeline to indicate when a particular lifeline has the focus of
control. These activations are called as activation bars or
execution occurrences or focus of control.
5 Combined Fragments:
To represent a particular sequence of event occurrences that has
special constraints or properties, combined fragment is used.
UML allows placing the interaction fragments in a container. Each
combined fragment is made up of an interaction operator.
Combined fragment is shown as rectangle, with the interaction
operator in a pentagon in the upper left and the interaction
operands inside the rectangle. Fig 3.1 shows syntax for combined
fragment.
Figure 3.1
22
Computer Laboratory Practical – I Part (A)
Interaction operators used in sequence diagram are shown in table 3.1.
Operator Long Name
opt
option
alt
loop
alternatives
loop
Semantics
There is single operand that executes if the condition
is true(like if …then)
The operand whose condition is true is executed. The
keyword may be used in place of Boolean expression
(like select….case)
This has a special syntax
Loop min, max[condition]
break
break
ref
par
critical
seq
reference
parallel
critical
weak
sequencing
strict
strict
sequencing
neg
negative
ignore
ignore
consider consider
Loop min times, then while condition is true, loop(maxmin) times
If guard condition is true, the operand is executed, but
the rest of enclosing interaction
The combined fragment refers to another interaction
All operands execute in parallel
The operand executes atomically without interruption
All operands execute in parallel subject to the
following constraint:
Events arriving on same lifeline from different
operands occur in the same sequence as the
operands occur. This gives rise to weak form of
sequencing – hence the name
All operands execute in strict sequence
The operand shows invalid interactions use this when
you want to show interactions that must not happen
Lists messages that are intentionally omitted from the
interaction- the names of ignored messages are
placed in braces in a comma- delimited list after the
operator name, (e.g. m1, m2, m3)
Lists messages that are intentionally included in the
interaction- the names of messages are placed in
braces in a comma- delimited list after the operator
name
Table 3.1
23
Computer Laboratory Practical – I Part (A)
Types of messages used in sequence diagram are shown in table 3.2 with its
notation.
Syntax
aMessage (aParameter )
Name
Synchronous message
aMessage (aParameter )
Asynchronous message
Message return
«destroy»
Object destruction
Found message
Lost message
Table 3.2
To prepare sequence diagram, perform following steps:
1. Set the context for interaction, whether it is a system, subsystem,
operation, or class or one scenario of a use case or collaboration.
2. Set the stage for interaction by identifying which objects play a role in the
interaction. Lay them out on sequence diagram from left to right, placing
the more important to the left and their neighboring objects to the right. .
3. Set the lifeline for each object.
4. Optionally, for important messages, you can draw a dotted line with an
arrowhead pointing back to the originating class instance; label the return
value above the dotted line. We should include the return value lines
because it shows the extra details and makes it easier to read.
24
Computer Laboratory Practical – I Part (A)
Figure 3.2 shows sequence diagram for printing student record/transcript in
the context of system “Enrollment of Student for Course in University”.
Figure 3.2
25
Computer Laboratory Practical – I Part (A)
Communication Diagram:
A communication diagram emphasizes the organization of the objects that
participate in the interaction.
To prepare Communication diagram, perform following steps:
1. Place objects that participate in the interaction as the vertices in a
graph.
2. Render the links that connect these objects as arcs of these graphs.
3. Display these links with the messages that object send and receive.
Two features that distinguish communication diagram from sequence diagram:
1. Path: To indicate one object is linked to other. Attach a path
stereotype to the far end of al link.(such as <<local>> or <<global>>
indicating that designated object is local or global to the sender)
2. Sequence Number: To indicate the order of message, prefix the
message with number (starting with the message numbered 1)
increasing monotonically for each new message in the flow of control
(2, 3, and so on). Use Dewey decimal numbering to show nesting of
messages. (1 is the first message; 1.1 is the first message nested in
message 1; 1.2 is the second message nested in message 1; and so
on). Figure 3.3 shows use of path and sequence no. in communication
diagram.
Figure 3.3
26
Computer Laboratory Practical – I Part (A)
Here is message notation:
[sequenceNumber:] methodName(parameters) [: returnValue]
Figure 3.4
Figure 3.5 shows communication diagram for displaying a seminar details screen
or page in the context of system “Enrollment of Student for Course in University”
Figure 3.5
27
Computer Laboratory Practical – I Part (A)
Assignment No: 4
Title: Activity Diagram.
________________________________________________________________
Aim: Design Activity diagram to describe dynamic nature of system.
Theory:
Activity diagram:
Activity diagrams are typically used for:
 Business process modeling, for modeling the logic captured by a single
use case or usage scenario, or for modeling the detailed logic of a
business
rule.
 Business processes modeling in which several objects participate.
Elements of Activity Diagram:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Initial node: The filled in circle is the starting point of the diagram. An
initial node isn’t required although it does make it significantly easier to
read the diagram.
Activity final node: The filled circle with a border is the ending point. An
activity diagram can have zero or more activity final nodes.
Activity: It is sequence of actions. The rounded rectangles represent
activities that occur. An activity may be physical, such as Inspect Forms,
or electronic, such as Display Create Student Screen.
Flow/edge. The arrows on the diagram. .
Fork. Splits a single flow into more concurrent flows. A black bar with one
flow going into it and several leaving it. This denotes the beginning of
parallel activity.
Join. Synchronizes multiple flows into one flow. A black bar with several
flows entering it and one leaving it. All flows going into the join must reach
it before processing may continue. This denotes the end of parallel
processing.
Condition. Text such as [Incorrect Form] on a flow, defining a guard
which must evaluate to true in order to traverse the node.
Decision. A diamond with one flow entering and several leaving. The
flows leaving include conditions.
Merge. A diamond with several flows entering and one leaving. The
implication is that one or more incoming flows must reach this point until
processing continues, based on any guards on the outgoing flow.
Partition. Partitions are used to organize responsibilities of particular
object in the system, partitions, also called swimlanes, indicating who/what
is performing the activities
28
Computer Laboratory Practical – I Part (A)
11.
Flow final. The circle with the X through it. This indicates that the
process stops at this point.
Advanced Elements of Activity Diagram:
1. Connector: Use connectors to break long edges that are hard to follow or
to untangle the edges that cross. Connector syntax is as shown in figure
4.1 each outgoing connector must have exactly one incoming connector
with the same label.
Figure 4.1
2. Interruptible activity regions: Interruptible activity regions are regions of
an activity that are interrupted when a token traverses an interrupting
edge. Interruptible activity regions give a way to model interrupts and
asynchronous events. Figure 6.2 shows a simple Log On activity that has
an interruptible region shown as dashed rectangle with rounded corner.
3. Exception Handling: Exception handling in activity diagram is modeled
using exceptions pins, protected nodes and exception handlers. Exception
pin can be represented as small equilateral triangle. Figure 4.2 shows
exception handling.
29
Computer Laboratory Practical – I Part (A)
Figure 4.2
4. Expansion nodes: Expansion nodes allow you to show how a collection
of objects is processed by a part of activity diagram called an expansion
region. Expansion node is an object node that represents a collection of
objects flowing into or out of an expansion region. The expansion region is
executed once per input element. The type of output collection at expansion
node must match type of input collection. In Figure 6.3 expansion region
accepts a set of Student objects. It processes each of these objects in turn
(mode = iterative) and outputs a set of processed Student objects.
Figure 4.3
30
Computer Laboratory Practical – I Part (A)
5. Streaming: An action is said to be streaming if it can produce output
while it is processing input.
6. <<centralBuffer>>: Central buffer node provides a place to specify
queuing functionality for data processing between object nodes. A central
buffer node takes input from several object node sources and offers them
along several object node outputs.
Figure 4.4
7. <<datastore>>: Data store node is a special type of central buffer node
that copies data that passes through it. It indicates that all the interactions
logged to an external database. When an order is placed, the information
regarding the sale is stored in the customer database before the item is
shipped as shown in figure 6.6.
Figure 4.5
To prepare activity diagram, perform following steps:
5. Establish the focus for the work flow. For complex or huge system it is
difficult to show all interesting workflows in one diagram, then prepare
more than one diagrams as required.
6. Select the business objects that have high level responsibilities for parts of
the overall workflow. Create a swimlane for each important business
object.
31
Computer Laboratory Practical – I Part (A)
7. Identify the preconditions of the workflow’s initial state and the
postconditions of the workflow’s initial state to decide boundaries
workflow.
8. Beginning at workflow’s initial state, specify the activities and actions that
take place over time and render them in tha activity diagram as either
activity states or action states.
9. For complicated actions or sets of actions that appear multiple times,
collapse these into activity states, and provide separate activity diagram
that expands on each.
10. Render the transitions that connect these activity and action states. Start
with sequential flows in the workflow first, next consider branching, and
only then consider forking and joining.
32
Computer Laboratory Practical – I Part (A)
Assignment No: 5
Title: State Machine Diagram.
________________________________________________________________
Aim: Design State Machine diagram to describe dynamic nature of system.
Theory:
State Machine:
UML state machine diagrams are used for modeling life cycle history of a single
reactive object as a finite state machine. UML state machine diagrams depict the
various states that an object may be in and the transitions between those states.
Elements of State Machine:
1. State: A condition or situation during the life of an object during which it
satisfies some condition, performs some activity, or waits for some event.
2. Event: The specification of noteworthy occurrence that has location in
time and Space.
3. Transition: The movement from one state to another in response to
event.
Types of state machines:
1. Behavioral state machines: Behavioral state machines use states,
transitions, and events to define the behavior of context classifier.
Behavioral state machines can only be used when the context classifier
has a behavior of some sort to be modeled.
2. Protocol state machines: Some classifiers for example, interfaces and
ports, have no behavior. They simply define a usage protocol. It says
nothing about implementation of the behavior.
Types of event:
1. Call event: A call event is a request for a specific operation to be in
invoked on an instance of the context class.
2. Signal event: A signal is package of information that is sent
asynchronously between objects.
3. Change event: A change event is specified as a Boolean Expression. All
values in Boolean expression must be constants, globals, or attributes or
operations of the context class.
33
Computer Laboratory Practical – I Part (A)
Figure 5.1
4. Time event: Time events are usually indicated by keywords when and after
as shown in figure 5.2
Figure 5.2
34
Computer Laboratory Practical – I Part (A)
Table 5.1 showing elements in state machine along with their notation
Table 5.1
Composite state: Composite state is a state that contains nested states. These
nested states are organized into one or more state machines, called
submachines. Each submachine exists in its own region within composite state
icon. Regions are just areas of the state icon separated by dashed lines.
Figure 5.3
35
Computer Laboratory Practical – I Part (A)
Types of composite states:
1. Simple composite state: Simple composite state is a state that contains
a single region.
2. Orthogonal composite state: Orthogonal composite state is a state that
has more than one region as shown in Figure 5.4
Figure 5.4
Figure 5.5 depicts complete life cycle of seminar object in the context of
system “Enrollment of Student for Course in University”
Figure 5.5
36
Computer Laboratory Practical – I Part (A)
Assignment No: 6
Title: Component Diagram.
________________________________________________________________
Aim: Design Component diagram to show organization and dependencies.
Theory:
Component diagram:
Component diagram is a diagram that shows the organization of and
dependencies among a set of components; Component diagrams address the
static implementation view of a system.
Elements of Component Diagram:
1. Component: A physical and replaceable part of a system that conforms to
and provides a realization of a set of interfaces. A component represents a
modular part of system that encapsulates its contents and whose
manifestation is replaceable within its environment.
2. Interface: A collection of operations that are used to specify a service of
class or a component. Two types of interfaces: provided interface and
required interface. A set of interfaces realized by classifier is known as its
provided interface. When a classifier requires one or more interfaces for
its operations, these are known as its required interfaces. Component and
its interfaces are shown in figure 6.1.
Figure 6.1
3. Dependency, generalization, association, and realization
relationship:
37
Computer Laboratory Practical – I Part (A)
To prepare component diagram especially for executable system, perform
following steps:
1. Identify the set of components to model. These are components that live
on one node or the distribution of these sets of components across all the
nodes in the system.
2. Consider the stereotype of each component in this set.
3. For each component in this set, consider its relationships to its neighbors.
Table 6.1 summarizes several design principles for improving the quality of
packages or components.
Principle
Acyclic
Dependencies
Common Closure
Common Reuse
Dependency
Inversion
Open-Closed
Release-Reuse
Equivalency
Stable
Abstractions
Stable
Dependencies
Description
Allow no cycles in the dependencies graph between
components. For example disallow A è B è C è A because
it includes a cycle.
The classes of a component should be closed together
against the same kinds of changes. A change that affects a
class within a component should not affect classes outside
that component. In other words your components should
be cohesive in that sweeping changes across several
components are not required.
The classes in a component are reused together. If you
reuse one class in a component you reuse them all. This is
another principle addressing cohesion.
Abstractions should not depend on details, instead details
should depend on abstractions.
Software elements should be open for extension but closed
for modification.
The granule of reuse is the granule of release. In other
words you should not reuse only part of a released software
element.
A component should be as abstract as it is stable. A
component should be sufficiently abstract so that it can be
extended without affecting its stability.
Depend on the direction of stability – If component A
depends on component B, then B should be more stable
(e.g. less likely to change) than A.
Table 6.1
38
Computer Laboratory Practical – I Part (A)
Figure 6.2 is the Component diagram for system “Enrollment of Student for
Course in University”
Figure 6.2
39
Computer Laboratory Practical – I Part (A)
Assignment No: 7
Title: Deployment Diagram.
________________________________________________________________
Aim: Design deployment diagram to describe structural view of system.
Theory:
A UML 2 deployment diagram depicts a static view of the run-time configuration of
processing nodes and the components that run on those nodes. In other words,
deployment diagrams show the hardware for your system, the software that is
installed on that hardware, and the middleware used to connect the disparate
machines to one another.
Elements of Deployment Diagram:
1. Node. The node represents a type of computational resource upon which
artifacts can be deployed for execution.
There are two standard stereotypes for nodes.

<<device>>: the node represents a type of typical device such as
PC or server.
 <<execution environment>>: the node represents a type of
execution environment for software such as an Apache web server
or the JBoss EJB container.
2. Artifact: An artifact represents the specification of a concrete, real-world
thing such as the source file BankAccount.java. Artifacts are deployed on
nodes. Figure 7.1 shows Node - AppServer1 and artifact - .jar files
Some examples of artifacts are:





Source files
Executable files
Scripts
Database tables
Documents
40
Computer Laboratory Practical – I Part (A)
Figure 7.1
To prepare deployment diagram especially for embedded system, perform
following steps:
1. Identify the devices and nodes that are unique to your system
2. Provide visual cues, especially for unusual devices, by using the UML’s
extensibility mechanisms to define system specific stereotypes with
appropriate icons.
3. Model the relationships/connections among these processors and devices
in a deployment diagram.
4. As necessary, expand on any intelligent devices by modeling their
structure with a more detailed deployment diagram.
41
Computer Laboratory Practical – I Part (A)
Figure 7.2 is the Deployment diagram for system “Enrollment of Student for
Course in University”
Figure 7.2
42
Computer Laboratory Practical – I Part (A)
Assignment No: 8
Title: Package Diagram.
________________________________________________________________
Aim: Design package diagram to group the elements in the system.
Theory:
Packages are UML constructs that enable you to organize model elements into
groups, making your UML diagrams simpler and easier to understand. Packages
are depicted as file folders and can be used on any of the UML diagrams,
although they are most common on use-case diagrams and class diagrams
because these models have a tendency to grow.
The following is an example of a usecase package diagram.
Elements contained in a package share the same namespace. Therefore, the
elements contained in a specific namespace must have unique names.
43
Computer Laboratory Practical – I Part (A)
Packages can be built to represent either physical or logical relationships. When
choosing to include classes in specific packages, it is useful to assign the classes
with the same inheritance hierarchy to the same package. There is also a strong
argument for including classes that are related via composition, and classes that
collaborate with them, in the same package.
Packages are represented in UML 2.1 as folders and contain the elements that
share a namespace; all elements within a package must be identifiable, and so
have a unique name or type. The package must show the package name and
can optionally show the elements within the package in extra compartments.
Package Merge
A «merge» connector between two packages defines an implicit generalization
between elements in the source package, and elements with the same name in
the target package. The source element definitions are expanded to include the
element definitions contained in the target. The target element definitions are
unaffected, as are the definitions of source package elements that don't match
names with any element in the target package.
Package Import
The «import» connector indicates that the elements within the target package,
which in this example is a single class, use unqualified names when being
referred to from the source package. The source package's namespace gains
access to the target classes; the target's namespace is not affected.
NestingConnectors
The nesting connector between the target package and source packages shows
that the source package is fully contained in the target package.
44
Computer Laboratory Practical – I Part (A)
Assignment No: 9
Title: Interaction Overview Diagram.
________________________________________________________________
Aim:.Design Interaction Overview Diagram for the system.
Theory:
Interaction Overview Diagram represents interactions using a simplification of the
activity diagram notation. Interaction Overview Diagrams can help you visualize
the overall flow of control through a diagram. However, they don’t show detailed
message information.
UML 2 interaction overview diagrams are variants on UML activity diagrams
which overview control flow. The nodes within the diagram are frames instead of
the normal activities which you would see on an activity diagram. There are two
types of frame shown: interaction frames which depict any type of UML
interaction diagram (sequence diagram, communication diagram, timing diagram,
interaction overview diagram) or interaction occurrence frames which indicate an
activity or operation to invoke.
You can embed interactions or interaction occurrences inside an interaction
overview diagram if it is helpful to see message details for a subset of the overall
interaction.
Several sequence diagram concepts are supported in interaction overview
diagrams as following:
 Show combined fragment using decision node and merge node.
 Show parallel interactions by using a fork node and join node.
 Show loops as cycles in the activity diagram.
 Show names of the lifelines involved in an interaction using the keyword
lifelines after the name of the interaction overview diagram, followed by a
comma-delimited list of each lifeline’s name.
Following is interaction overview diagram showing System Authentication
interaction.
45
Computer Laboratory Practical – I Part (A)
46
Laboratory Manual
Computer Laboratory Practice-I
Final Year - Information Technology
Teaching Scheme
Examination Scheme
Theory : ——
Term Work: 50 Marks
Practical : 04 Hrs/Week
Practical : 50 Marks
Oral :
——
Prepared By
Prof.Bhagwat K. S.
Department of Information Technology
Vidya Pratishthan’s College of Engineering
Baramati – 413133, Dist- Pune (M.S.)
INDIA
June 2013
Table of Contents
1 Manual Testing-Black box testing
1.1 Problem Statement . . . . . . . . . .
1.2 Pre Lab . . . . . . . . . . . . . . . .
1.3 Hardware and Software Requirement
1.4 Theory . . . . . . . . . . . . . . . . .
1.4.1 Manual Testing: . . . . . . .
1.4.2 Stages: . . . . . . . . . . . . .
1.4.3 Manual testing: . . . . . . . .
1.5 Post Lab . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
1
1
1
1
1
2
3
3
2 Manual Testing-White box testing.
2.1 Problem Statement . . . . . . . . . .
2.2 Pre Lab . . . . . . . . . . . . . . . .
2.3 Hardware and Software Requirement
2.4 Theory . . . . . . . . . . . . . . . . .
2.4.1 White Box Testing Strategy2.5 Post Lab . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5
5
5
5
5
5
6
3 Manual Testing-Black box testing
3.1 Problem Statement . . . . . . . . . .
3.2 Pre Lab . . . . . . . . . . . . . . . .
3.3 Hardware and Software Requirement
3.4 Theory . . . . . . . . . . . . . . . . .
3.4.1 Testing Techniques: . . . . .
3.4.2 Black Box Testing: . . . . . .
3.4.3 White Box Testing: . . . . . .
3.4.4 Test Director tool: . . . . . .
3.4.5 Planning Tests: . . . . . . . .
3.4.6 Running Tests: . . . . . . . .
3.4.7 Tracking Defects: . . . . . . .
3.5 Procedure . . . . . . . . . . . . . . .
3.6 Post Lab . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
7
7
7
7
7
7
7
8
8
9
9
10
10
11
4 Software Metrics
4.1 Problem Statement . . . . . . . . . .
4.2 Pre Lab . . . . . . . . . . . . . . . .
4.3 Hardware and Software Requirement
4.4 Theory . . . . . . . . . . . . . . . . .
4.5 Post Lab . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
16
16
16
16
16
18
i
TABLE OF CONTENTS
5 Ishikawas Seven tools
5.1 Problem Statement . . . . . . . . . .
5.2 Pre Lab . . . . . . . . . . . . . . . .
5.3 Hardware and Software Requirement
5.4 Theory . . . . . . . . . . . . . . . . .
5.4.1 Check sheet: . . . . . . . . .
5.4.2 Histogram: . . . . . . . . . .
5.4.3 Pareto Chart: . . . . . . . . .
5.4.4 Cause and effect diagram . .
5.4.5 Scatter Diagram: . . . . . .
5.4.6 Run Chart . . . . . . . . . .
5.4.7 Control Chart . . . . . . . . .
5.5 Post Lab . . . . . . . . . . . . . . . .
TABLE OF CONTENTS
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
19
19
19
19
19
19
21
22
23
25
26
26
28
the test results
Problem Statement . . . . . . . . . . .
Pre Lab . . . . . . . . . . . . . . . . .
Hardware and Software Requirement .
Theory . . . . . . . . . . . . . . . . . .
6.4.1 Defect Tracking: . . . . . . . .
6.4.2 Introduction to Defect Report:
6.4.3 Defect Tracking . . . . . . . . .
6.4.4 Defect lifecycle . . . . . . . . .
6.5 Post Lab . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
29
29
29
29
29
29
31
32
33
33
7 Defect Tracking Report
7.1 Problem Statement . . . . . . . . . . . . . . . . . . . . . . . .
7.2 Pre Lab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.3 Hardware and Software Requirement . . . . . . . . . . . . . .
7.4 Theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.4.1 Using Rapid Test Script wizard . . . . . . . . . . . . .
7.4.2 Using GUI-Map Configuration Tool: . . . . . . . . . .
7.4.3 Using Record-ContextSensitive mode: . . . . . . . . .
7.4.4 Using Record-Analog Mode: . . . . . . . . . . . . . . .
7.4.5 GUI CHECK POINTS-Single Property Check: . . . .
7.4.6 GUI CHECK POINTS-For Object/Window Property:
7.5 Post Lab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
37
37
37
37
37
37
38
38
38
39
39
40
6 Log
6.1
6.2
6.3
6.4
References
41
ii
List of Tables
iii
List of Figures
1.1
Test Summary Report using Excel Sheet . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
Test director environment. . . . . . . . . .
Test director environment. . . . . . . . . .
Creation of New Folder . . . . . . . . . .
Creation of New Test and give name . . .
Creation of New Test and give name . . .
fill up the information in the Blank fields
Design Steps . . . . . . . . . . . . . . . .
Recording test cases . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
11
12
12
13
13
14
14
15
5.1
5.2
5.3
5.4
5.5
5.6
5.7
Check sheet telephone interruption data
Histogram . . . . . . . . . . . . . . . . .
data table . . . . . . . . . . . . . . . . .
Pareto Diagram . . . . . . . . . . . . . .
fishbone diagram . . . . . . . . . . . . .
Run chart Diagram . . . . . . . . . . . .
control chart Diagram . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
20
22
23
24
25
27
28
6.1
6.2
6.3
6.4
6.5
How serious is the defect . . . . . .
How to decide priority . . . . . . .
Template of defect tracking report
Defect Tracking Log Instructions: .
Defect life cycle . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
32
33
34
35
36
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
iv
4
Assignment 1
Manual Testing-Black box testing
1.1
Problem Statement
Write black box test cases for an application using Excel sheet
1.2
Pre Lab
Knowledge of Software Engineering . Knowledge of Software Testing.
1.3
Hardware and Software Requirement
Hardware-P4 machine,1GB Ram,40 GB Hard Disk.Software-Test Director.
1.4
1.4.1
Theory
Manual Testing:
Is the process of manually testing software for defects. It requires a tester to play the role of an
end user, and use most of all features of the application to ensure correct behavior. To ensure completeness of testing, the tester often follows a written test plan that leads them through a set of important
test cases.
Overview:
A key step in the process of software engineering is testing the software for correct behavior prior
to release to end users. With this informal approach, the tester does not follow any rigorous testing
procedure, but rather explores the user interface of the application using as many of its features as
1
1.4. THEORY
Manual Testing-Black box testing
possible, using information gained in prior tests to intuitively derive additional tests. The success of
exploratory manual testing relies heavily on the domain expertise of the tester, because a lack of knowledge will lead to incompleteness in testing. One of the key advantages of an informal approach is to
gain an intuitive insight to how it feels to use the application. Large scale engineering projects that
rely on manual software testing follow a more rigorous methodology in order to maximize the number
of defects that can be found. A systematic approach focuses on predetermined test cases and generally
involves the following steps.
1. Choose a high level test plan where a general methodology is chosen, and resources such as people,
computers, and software licenses are identified and acquired. 2. Write detailed test cases, identifying
clear steps to be taken by the tester, with expected outcomes. 3. Assign the test cases to testers, who
manually follow the steps and record the results. 4. Write a test report, detailing the findings of the
testers. The report is used by managers to determine whether the software can be released, and if not,
it is used by engineers to identify and correct the problems.
1.4.2
Stages:
There are several stages of manual testing. They are
1)Unit Testing: This initial stage in testing normally carried out by the developer who wrote the
code and sometimes by a peer using the white box testing technique.e.g function, procedure and class
testing
2)Integration Testing: This stage is carried out in two modes, as a complete package or as a increment to the earlier package. Most of the time black box testing technique is used. However, sometimes
a combination of Black and White box testing is also used in this stage.
3)System Testing: In this stage the software is tested from all possible dimensions for all intended
purposes and platforms. In this stage Black box testing technique is normally used.
4)User Acceptance Testing: This testing stage carried out in order to get customer sign-off of finished
product. A ’pass’ in this stage also ensures that the customer has accepted the software and is ready
for their use.
Lab Manual - Computer Laboratory Practice-I
2
VPCOE, Baramati
1.5. POST LAB
1.4.3
Manual Testing-Black box testing
Manual testing:
Manual testing means to perform manual test operations on the auto without any help of automation
tools.
Steps for manual testing:
1.Understand the functionality of application
2.Prepare the test plan
3.Write the test cases and execute on the auto.
4.Verify actual and expected results
5.Prepare the bug report
After receiving the modified build from the developer we will go for retesting and regression
testing. These processes are repeated until the bug status is closed.
Example: Electric bulb test cases:1. The bulb should be of required shape and size
2. Should be able to fitted and removed from the holder
3. Should sustain the voltage for which it is designed for
4. Should glow on switching on
5. Should not glow on switching off
6. Should glow with required illumination
7. Life of the bulb should meet the requirement
figure 1.1 shows the test summary report by using Excel Sheet.
1.5
Post Lab
Hence from this assignment students can learn how to write black box test cases for an application using
Excel sheet.
Lab Manual - Computer Laboratory Practice-I
3
VPCOE, Baramati
1.5. POST LAB
Manual Testing-Black box testing
Figure 1.1: Test Summary Report using Excel Sheet
Lab Manual - Computer Laboratory Practice-I
4
VPCOE, Baramati
Assignment 2
Manual Testing-White box testing.
2.1
Problem Statement
Perform white box testing Cyclomatic complexity, data flow testing, control flow testing
2.2
Pre Lab
Knowledge of Software Engineering . Knowledge of Software Testing.
2.3
Hardware and Software Requirement
Hardware-P4 machine,1GB Ram,40 GB Hard Disk.
2.4
2.4.1
Theory
White Box Testing StrategyCyclomatic complexity is a Software metric (measurement). It was developed by Thomas Mc-
Cabe and is used to measure the complexity of a program. It directly measures the number of linearly
independent paths through a program’s source code. Cyclomatic complexity is computed using a graph
that describes the control flow of the program. The nodes of the graph correspond to the commands of
a program. A directed edge connects two nodes if the second command might be executed immediately
after the first command.
Cyclomatic Complexity measures the logical complexity in the algorithm.
CC Formula=
5
2.5. POST LAB
Manual Testing-White box testing.
CC=Edges-Nodes+2
CC=Number of bounded+1
CC=Number of predicated+1
Simple example-
1. Int a, b, c
2. Read a, b
3. If a¿b
4. Then c=a-b
5. Else c=b-a
6. End if
Path-1
1-2-3-4-6
a=5, b=3
Expected result= 2
Path-2
1-2-3-5-6
a=2, b=7
Expected result= 5
Cyclomatic ComplexityEdges Node +2
6-6+2
=2
2.5
Post Lab
Hence from this assignment students can learn how to Perform white box testing Cyclomatic complexity,
data flow testing,control flow testing.
Lab Manual - Computer Laboratory Practice-I
6
VPCOE, Baramati
Assignment 3
Manual Testing-Black box testing
3.1
Problem Statement
Perform black box testing using automated testing tool (Test Director) on an application.
3.2
Pre Lab
Knowledge of Software Engineering . Knowledge of Software Testing.
3.3
Hardware and Software Requirement
Hardware-P4 machine,1GB Ram,40 GB Hard Disk.Software-Test Director.
3.4
Theory
3.4.1
Testing Techniques:
1. Static Testing / Reviews:
Testing of an object without execution on a computer.
2. Dynamic Testing: The process of executing a program or system with the intent of finding errors.
Sub Techniques under this are 1) Black box and 2) White Box
3.4.2
Black Box Testing:
1. Definition: Black Box Testing is a software testing method in which the internal structure/ design/
implementation of the item being tested is NOT known to the tester
7
3.4. THEORY
Manual Testing-Black box testing
2. Levels Applicable To: Mainly applicable to higher levels of testing:Acceptance Testing, System
Testing
3. Responsibility :Generally, independent Software Testers
4. Programming Knowledge :Not Required
5. Implementation Knowledge :Not Required
6. Basis for Test Cases: Requirement Specifications
EXAMPLE:
A tester, without knowledge of the internal structures of a website, tests the web pages by using a
browser; providing inputs (clicks, keystrokes) and verifying the outputs against the expected outcome.
3.4.3
White Box Testing:
1. Definition: White Box Testing is a software testing method in which the internal structure, design,
implementation of the item being tested is known to the tester.
2. Levels Applicable To:Mainly applicable to lower levels of testing:Unit Testing, Integration Testing
3. Responsibility :Generally, Software Developers
4. Programming Knowledge :Required
5. Implementation Knowledge : Required
6. Basis for Test Cases: Detailed Design
3.4.4
Test Director tool:
Software Automated Tool Test Director simplifies test management by helping you organize and
manage all phases of the software testing process, including planning, creating tests, executing tests,
and tracking defects. With Test Director, you maintain a project’s database of tests. From a project,
you can build test sets groups of tests executed to achieve a specific goal. For example, you can create
a test set that checks a new version of the software. As you execute tests, Test Director lets you report
defects detected in the software. Defect records are stored in a database where you can track them until
they are resolved in the software. Test Director works together with Win Runner, Mercury Interactive’s
automated GUI Testing tool. Win Runner enables you to create and execute automated test scripts.
Lab Manual - Computer Laboratory Practice-I
8
VPCOE, Baramati
3.4. THEORY
Manual Testing-Black box testing
You can include Win Runner automated tests in your project, and execute them directly from Test
Director.Test Director activates Win Runner, runs the tests, and displays the results.
The Test Director work flow consists of 3 main phases:
In each phase you perform several tasks:
1) Planning Tests 2) Running Tests 3) Tracking Defects
3.4.5
Planning Tests:
Divide your application into test subjects and build a project.
1. Define your testing goals:Examine your application, system environment, and testing resources to
determine what and how you want to test.
2. Define test subjects:Define test subjects by dividing your application into modules or functions to
be tested. Build a test plan tree that represents the hierarchical relationship of the subjects.
3. Define tests:Determine the tests you want to create and add a description of each test to the test
plan tree.
4. Design test steps:Break down each test into steps describing the operations to be performed and
the points you want to check. Define the expected outcome of each step.
5. Automate tests:Decide whether to perform each test manually or to automate it. If you choose
to perform a test manually, the test is ready for execution as soon as you define the test steps.
If you choose to automate a test, use Win Runner to create automated test scripts in Mercury
Interactive’s Test Script Language (TSL).
6. Analyze the test plan:Generate reports and graphs to help you analyze your test plan. Determine
whether the tests in the project will enable you to successfully meet your goals.
3.4.6
Running Tests:
Create test sets and perform test runs.
1. Create test sets:Create test sets by selecting tests from the project. A test set is a group of tests
you execute to meet a specific testing goal.
Lab Manual - Computer Laboratory Practice-I
9
VPCOE, Baramati
3.5. PROCEDURE
Manual Testing-Black box testing
2. Run test sets:Schedule test execution and assign tasks to testers. Run the manual and/or automated tests in the test sets.
3. Analyze the testing progress:Generate reports and graphs to help you determine the progress of
test execution
3.4.7
Tracking Defects:
1. Report defects detected in your application and track how repairs are progressing.
2. Report defects detected in the software: Each new defect is added to the defect database.
3. Track defects:Review all new defects reported to the database and decide which ones should be
repaired. Test a new version of the application after the defects are corrected.
4. Analyze defect tracking:Generate reports and graphs to help you analyze the progress of defect
repairs, and to help you determine when to release the application.
3.5
Procedure
STEP 1: Open Test Director
In figure 1.1 Test Director Environment,There is no password needed.
STEP 2: figure 1.3 Click on Plan Tests TAB and Create New folder
STEP 3: figure 1.4 Click on Plan Tests TAB and Create New folder and then click on New Test give
name MyTest then click OK.
STEP 4:figure 1.5 Click on Plan Tests TAB and Create New folder and then click on New Test give
name MyTest then click OK.
STEP 5: figure 1.6 Now fill up the information in the Blank fields about the Test Information.
STEP 5:figure 1.7 Click Design Steps=¿Click New, Now write Description and Expected, =¿ click
new write step 2 and so onfinally close
figure 1.8 is the view where the test cases recorded.
Lab Manual - Computer Laboratory Practice-I
10
VPCOE, Baramati
3.6. POST LAB
Manual Testing-Black box testing
Figure 3.1: Test director environment.
3.6
Post Lab
Hence from this assignment students can learn how to write black box test cases for an application using
Test Director tool.
Lab Manual - Computer Laboratory Practice-I
11
VPCOE, Baramati
3.6. POST LAB
Manual Testing-Black box testing
Figure 3.2: Test director environment.
Figure 3.3: Creation of New Folder
Lab Manual - Computer Laboratory Practice-I
12
VPCOE, Baramati
3.6. POST LAB
Manual Testing-Black box testing
Figure 3.4: Creation of New Test and give name
Figure 3.5: Creation of New Test and give name
Lab Manual - Computer Laboratory Practice-I
13
VPCOE, Baramati
3.6. POST LAB
Manual Testing-Black box testing
Figure 3.6: fill up the information in the Blank fields
Figure 3.7: Design Steps
Lab Manual - Computer Laboratory Practice-I
14
VPCOE, Baramati
3.6. POST LAB
Manual Testing-Black box testing
Figure 3.8: Recording test cases
Lab Manual - Computer Laboratory Practice-I
15
VPCOE, Baramati
Assignment 4
Software Metrics
4.1
Problem Statement
Calculate Software Metrics for an application using FP analysis method.
4.2
Pre Lab
Knowledge of Software Engineering .Knowledge of Software Testing.
4.3
Hardware and Software Requirement
Hardware-P4 machine,1GB Ram,40 GB Hard Disk.
4.4
Theory
Select Any one system that is to be used for calculation of software metric.following is the one
system
Online Railway Reservation Management System having Description is as follows:
The Online railway Reservation application is used to reserve the seats in railway in advance for customers using the internet as the medium. Customer will browse through the railway site and reserve
seats online without having to visit the station physically.
- Allow the customer to browse the available seats for a particular destination.
- Check the availability of the seats.
- When there are no available seats, Cancel the reservation procedure or wait up to the seats become
available
16
4.4. THEORY
Software Metrics
- Check the availability of seats with first (AC),second class ,General, with 2 tiers ,3 tiers.
- Update the seats and no of customer details.
- Produce ticket with name, seat no, cost ,starting and destination address.
- Update no of seats based on no of reservations.
- Update customer account details based on payment by a customer.
- Provide Feedback mechanism where Customer can provide suggestions and complaints to the administrator.
RET1 -External Inputs = 5
-Customer details
-Seats
-Reservation Details
-Customer Payment Details
-Feedback Details
RET2-External Outputs =1
-Ticket
RET3-External Inquiries = 2
-Customer Details Request
-Seats Details Request
RET4-External Files = 0
Internal Files = 4
-Customer Database
-No of seats Database
-Customer reserved seats Database
-Seats update Database
table 4.1 Function Point Complexity Weighting:
Function-Type
Complexity
Points
External Inputs
Low(5)
3
External Outputs
Low(1)
4
External inquiries
Low(2)
3
External Files
None(0)
0
Internal Files
Low(4)
7
Unadjusted Function Point Count = 3(5) +4(1) +3(2) +7(0) +5(4)
Lab Manual - Computer Laboratory Practice-I
17
VPCOE, Baramati
4.5. POST LAB
Software Metrics
Unadjusted Function Point Count = 15+4+6+0+20
=45
table 4.2 Technical Complexity Factors
Fi
Complexity Factor
1
Does the system require reliable back up and recovery?
3/
2
Are data communication required
0/
3
Are there distributed processing functions?
0/
4
Is performance critical
4/
5
Will the system run in an existing, heavily utilized operating system
3/
6
Does the system require on-line entry?
4/
7
Does the on-line data entry require the input transaction to be built over multiple screen or operations?
3/
8
Are the master files updated on-line?
5/
9
Are the inputs, outputs, files, or inquiries complex?
0/
10
Is the internal processing complex?
2/
11
Is the code designed to be reusable
4/
12
Are the conversion and installation included in the design?
0/
13
Is the system designed for multiple installations in different organizations?
4/
14
Is the application designed to facilitate change and ease by the user?
3/
Total
Adjusted FP Count = Unadjusted FP count * VAF
Valu
-
3
FP = 60 * [0.65+0.01*35]
Function Point FP=60
4.5
Post Lab
Hence from this assignment students can learn how to Calculate Software Metrics for an application
using FP analysis method.
Lab Manual - Computer Laboratory Practice-I
18
VPCOE, Baramati
Assignment 5
Ishikawas Seven tools
5.1
Problem Statement
Prepare any two of the Ishikawas Seven tools listed below for an application.
1. The cause-and-effect or Ishikawa diagram 2. The check sheet 3. The control chart 4. The histogram
5. The Pareto chart 6. The scatter diagram 7. Stratification
5.2
Pre Lab
Knowledge of Software Engineering . Knowledge of Software Testing.
5.3
Hardware and Software Requirement
Hardware-P4 machine,1GB Ram,40 GB Hard Disk.
5.4
Theory
The seven basic tools according to Ishikawa are:
1)Check sheets 2) Histograms 3)Pareto diagram 4)Cause and effect diagram 5)Scatter diagram 6) Control chart 7) Run chart
5.4.1
Check sheet:
It is defined as A form or sheet used to record data
When to Use a Check Sheet:
19
5.4. THEORY
Ishikawas Seven tools
- When data can be observed and collected repeatedly by the same person or at the same location.
- When collecting data on the frequency or patterns of events,problems, defects, defect location, defect
causes, etc.
- When collecting data from a production process.
According to Ishikawa 1982, check sheets have the following functions:
-Production Process distribution checks
-Defective item checks
-Defective location checks
-Defective cause checks
-Check-up confirmation checks
-Others
Check List Example:
The figure below shows a check sheet used to collect data on telephone interruptions. The tick marks
were added as data was collected over several weeks
Figure 5.1: Check sheet telephone interruption data
Lab Manual - Computer Laboratory Practice-I
20
VPCOE, Baramati
5.4. THEORY
5.4.2
Ishikawas Seven tools
Histogram:
Histogram Defined As
-A bar graph that shows frequency data.
-Provides the easiest way to evaluate the distribution of data.
-Organizes a group of data points into user-specified ranges.
-The histogram condenses a data series into an easily interpreted visual by taking many data points and
grouping them into logical ranges.
Drawing Histograms:
- Mark class intervals on X-axis and frequencies on Y-axis. The scales for both the axes need not be
the same.
- Class intervals must be exclusive. If the intervals are in inclusive form, convert them to the exclusive
form.
-Draw rectangles with class intervals as bases and the corresponding frequencies as heights. A rectangle
is constructed on each class interval.
-If the intervals are equal, then the height of each rectangle is proportional to the corresponding class
frequency.
-If the intervals are unequal, then the area of each rectangle is proportional to the corresponding class
frequency.
Constructing a Histogram:
From a set of data compute:sum,mean (x),Max,Min,Range (max-min)
Use range to estimate beginning and end
Calculate the width of each column by dividing the range by the number of columns
Range/ no of Columns = Width
Acme Pizza Example:
Lets say the owner wants a distribution of Acmes Thursday Night Sales
Data Set from last Thursday(slices)
0212241312122434143223212212214221212212121212121222121
2112223142232221232242244122232212242124217212231211212
22122121222424
Mean = 2.032258
Max = 7
Min = 0
Lab Manual - Computer Laboratory Practice-I
21
VPCOE, Baramati
5.4. THEORY
Ishikawas Seven tools
Range = 7
For 7 columns what would the width be?
Range/Columns= 7/7 = 1 slice
Figure 5.2: Histogram
5.4.3
Pareto Chart:
Pareto Charts Defined As
- A Pareto chart is a bar graph.
- The lengths of the bars represent frequency or cost (time or money)
- Bars are arranged with longest bars on the left and the shortest to the right.
- In this way the chart visually depicts which situations are more significant.
Constructing a Pareto Chart
1. Decide what categories you will use to group items.
2. Decide what measurement is appropriate. Common measurements are frequency, quantity, cost and
time.
3. Decide what period of time the Pareto chart will cover: One work cycle? One full day? A week?
4. Collect the data, recording the category each time. (Or assemble data that already exist.)
5. Subtotal the measurements for each category.
6. Determine the appropriate scale for the measurements you have collected. The maximum value will
Lab Manual - Computer Laboratory Practice-I
22
VPCOE, Baramati
5.4. THEORY
Ishikawas Seven tools
be the largest subtotal from step
7. Mark the scale on the left side of the chart.
8. Construct and label bars for each category. Place the tallest at the far left, then the next tallest to
its right and so on. If there are many categories with small measurements, they can be grouped as other.
Example:
The information to be represented on a Pareto diagram should already have been collected in some sort
of record.
Figure 5.3: data table
The data are then displayed graphically in figure 5.4. Firstly in terms of frequency.....
5.4.4
Cause and effect diagram
Cause and Effect Diagram Defined As:
- The cause and effect diagram is also called the Ishikawa diagram or the fishbone diagram.
- The fishbone diagram identifies many possible causes for an effect or problem.
- It can be used to structure a brainstorming session. It immediately sorts ideas into useful categories.
Constructing a Cause and Effect Diagrams
Lab Manual - Computer Laboratory Practice-I
23
VPCOE, Baramati
5.4. THEORY
Ishikawas Seven tools
Figure 5.4: Pareto Diagram
1. First, clearly identify and define the problem or effect for which the causes must be identified. Place
the problem or effect at the right or the head of the diagram.
2. Identify all the broad areas of the problem.
i. Methods ii. Machines (equipment) iii. People (manpower) iv. Materials v. Measurement vi. Environment
3. Write in all the detailed possible causes in each of the broad areas.
4. Each cause identified should be looked upon for further more specific causes.
5. View the diagram and evaluate the main causes.
6. Set goals and take action on the main causes.
Example Cause and Effect Diagrams:
- The managing director of a weighing machine company received a number of irate letters, complaining
of slow service and a constantly engaged telephone.
- Rather surprised, he asked his support and marketing managers to look into it.
-They used the ’Four M’s’ (Manpower, Methods, Machines and Materials) as primary cause areas, and
then added secondary cause areas before adding actual causes, thus helping to ensure that all possible
causes were considered. Causes common to several areas were flagged with capital letters, and key
causes to verify and address were circled.
-On further investigation, they found that service visits were not well organized; engineers just picked
Lab Manual - Computer Laboratory Practice-I
24
VPCOE, Baramati
5.4. THEORY
Ishikawas Seven tools
up a pile of calls and did them in order. They consequently set up regions by engineer and sorted calls;
this significantly reduced traveling time and increased service turnaround time. They also improved the
telephone system and recommended a review of suppliers’ quality procedures.
Figure 5.5: fishbone diagram
5.4.5
Scatter Diagram:
Scatter Diagrams Defined:
Scatter Diagrams are used to study and identify the possible relationship between the changes observed
in two different sets of variables.
Constructing a Scatter Diagram:
-First, collect two pieces of data and create a summary table of the data.
-Draw a diagram labeling the horizontal and vertical axes.
.It is common that the cause variable be labeled on the X axis and the effect variable be labeled on the
Y axis.
-Plot the data pairs on the diagram.
-Interpret the scatter diagram for direction and strength.
An Example of When a Scatter Diagram Can Be Used:
A scatter diagram can be used to identify the relationship between the production speed of an operation
Lab Manual - Computer Laboratory Practice-I
25
VPCOE, Baramati
5.4. THEORY
Ishikawas Seven tools
and the number of defective parts made.
5.4.6
Run Chart
Run Charts Defined:
Run charts are used to analyze processes according to time or order.
following procedure is used for Creating a Run Chart
1)Gathering Data:
Some type of process or operation must be available to take measurements for analysis.
2)Organizing Data:
Data must be divided into two sets of values X and Y. X values represent time and values of Y represent
the measurements taken from the manufacturing process or operation.
3)Charting Data:
Plot the Y values versus the X values.
4)Interpreting Data
Interpret the data and draw any conclusions that will be beneficial to the process or operation.
Run charts (often known as line graphs outside the quality management field) display process performance over time. Upward and downward trends, cycles, and large aberrations may be spotted and
investigated further. In a run chart, events, shown on the y axis, are graphed against a time period
on the x axis. For example, a run chart in a hospital might plot the number of patient transfer delays
against the time of day or day of the week. The results might show that there are more delays at noon
than at 3 p.m. Investigating this phenomenon could unearth potential for improvement. Run charts can
also be used to track improvements that have been put into place, checking to determine their success.
Also, an average line can be added to a run chart to clarify movement of the data away from the average.
5.4.7
Control Chart
The control chart is a graph used to study how a process changes over time. Data are plotted in time
order. A control chart always has a central line for the average, an upper line for the upper control
limit and a lower line for the lower control limit. These lines are determined from historical data. By
comparing current data to these lines, you can draw conclusions about whether the process variation is
consistent (in control) or is unpredictable (out of control, affected by special causes of variation).
Control charts for variable data are used in pairs. The top chart monitors the average, or the centering
of the distribution of data from the process. The bottom chart monitors the range, or the width of the
Lab Manual - Computer Laboratory Practice-I
26
VPCOE, Baramati
5.4. THEORY
Ishikawas Seven tools
Figure 5.6: Run chart Diagram
distribution. If your data were shots in target practice, the average is where the shots are clustering,
and the range is how tightly they are clustered. Control charts for attribute data are used singly.
When to Use a Control Chart:
When controlling ongoing processes by finding and correcting problems as they occur.
When predicting the expected range of outcomes from a process.
When determining whether a process is stable (in statistical control).
When analyzing patterns of process variation from special causes (non-routine events) or common causes
(built into the process).
When determining whether your quality improvement project should aim to prevent specific problems
or to make fundamental changes to the process.
Control Chart Basic Procedure:
Choose the appropriate control chart for your data.Determine the appropriate time period for collecting
and plotting data.Collect data, construct your chart and analyze the data.Look for out-of-control signals
on the control chart. When one is identified, mark it on the chart and investigate the cause. Document
how you investigated, what you learned, the cause and how it was corrected.Continue to plot data as
they are generated. As each new data point is plotted, check for new out-of-control signals.When you
start a new control chart, the process may be out of control. If so, the control limits calculated from the
first 20 points are conditional limits. When you have at least 20 sequential points from a period when
Lab Manual - Computer Laboratory Practice-I
27
VPCOE, Baramati
5.5. POST LAB
Ishikawas Seven tools
the process is operating in control, recalculate control limits.
Out-of-control signals:
A single point outside the control limits. In Figure 1, point sixteen is above the UCL (upper control
limit).Two out of three successive points are on the same side of the centerline and farther than 2 s
from it. In Figure 1, point 4 sends that signal.Four out of five successive points are on the same side of
the centerline and farther than 1 s from it. In Figure 1, point 11 sends that signal. A run of eight in a
row are on the same side of the centerline. Or 10 out of 11, 12 out of 14 or 16 out of 20. In Figure 1,
point 21 is eighth in a row above the centerline. Obvious consistent or persistent patterns that suggest
something unusual about your data and your process.
Figure 5.7: control chart Diagram
5.5
Post Lab
Hence from this assignment students can learn how to prepare Ishikawas Seven tools for an given
application.
Lab Manual - Computer Laboratory Practice-I
28
VPCOE, Baramati
Assignment 6
Log the test results
6.1
Problem Statement
Log the test results in test director.
6.2
Pre Lab
Knowledge of Software Engineering . Knowledge of Software Testing.
6.3
Hardware and Software Requirement
Hardware-P4 machine,1GB Ram,40 GB Hard Disk.
6.4
6.4.1
Theory
Defect Tracking:
To track defects, a defect workflow process has been implemented. Defect workflow training will be
conducted for all test engineers. The steps in the defect workflow process are as follows:
a) When a defect is generated initially, the status is set to ”New”. (Note: How to document the defect,
what fields need to be filled in and so on, also need to be specified.)
b) The Tester selects the type of defects:
-Bug
- Cosmetic
- Enhancement
29
6.4. THEORY
Log the test results
- Omission
c) The tester then selects the priority of the defect:
- Critical - fatal error
- High - require immediate attention
- Medium - needs to be resolved as soon as possible but not a showstopper
- Low - cosmetic error
d) A designated person (in some companies, the software manager; in other companies, a special
board) evaluates the defect and assigns a status and makes modifications of type of defect and/or priority if applicable.
- The status ”Open” is assigned if it is a valid defect.
-The status ”Close” is assigned if it is a duplicate defect or user error. The reason for ”closing” the
defect needs to be documented.
- The status ”Deferred” is assigned if the defect will be addressed in a later release.
- The status ”Enhancement” is assigned if the defect is an enhancement requirement.
e) If the status is determined to be ”Open”, the software manager (or other designated person)
assigns the defect to the responsible person (developer) and sets the status to ”Assigned”.
f) Once the developer is working on the defect, the status can be set to ”Work in Progress”.
g) After the defect has been fixed, the developer documents the fix in the defect tracking tool and
sets the status to .fixed,. if it was fixed, or ”Duplicate”, if the defect is a duplication (specifying the
duplicated defect). The status can also be set to ”As Designed”, if the function executes correctly. At
the same time, the developer reassigns the defect to the originator.
h) Once a new build is received with the implemented fix, the test engineer retests the fix and other
possible affected code. If the defect has been corrected with the fix, the test engineer sets the status to
”Close”. If the defect has not been corrected with the fix, the test engineer sets the status to reopen.
Defect correction is the responsibility of system developers; defect detection is the responsibility of the
test team. The test leads will manage the testing process, but the defects will fall under the purview of
the configuration management group. When a software defect is identified during testing of the application, the tester will notify system developers by entering the defect into the Defect Tracker tool and
filling out the applicable information.
Lab Manual - Computer Laboratory Practice-I
30
VPCOE, Baramati
6.4. THEORY
6.4.2
Log the test results
Introduction to Defect Report:
Defect reports are among the most important deliverables to come out of test. They are as important
as the test plan and will have more impact on the quality of the product than most other deliverables
from test. It is worth the effort to learn how to write effective defect reports.
Effective defect reports will:
-Reduce the number of defects returned from development
- Improve the speed of getting defect fixes
- Improve the credibility of test
- Enhance teamwork between test and development
Why do some testers get a much better response from development than others? Part of the answer lies
in the defect report. Following a few simple
rules can smooth the way for a much more productive environment. The objective is not to write
the perfect defect report, but to write an effective defect report that conveys the proper message, gets
the job done, and simplifies the process for everyone.
Contents:
- Defect Remarks
- Essentials for Effective Defect Remarks
-Defect Abstracts
Who reads our defect reports?
-Project Manager, Executives, Development, Customer Support, Marketing, Quality Assurance, Any
member of the Project Team
What may happen to these defects?
-The Product team cannot make the right decisions about this software error
Who reads the description part of the defect report? -Development, Project Manager, Customer
Support, Quality Assurance, Any member of the Project Team
Definitions:
Severity: - it indicate how bad the bugs and reflex is impolite on the product and on the user.
Priority: - Indicate how important it is to fix the bugs and when it should be fixed.
How serious is the defect?: figure 6.1
How to decide priority?: figure 6.2
Lab Manual - Computer Laboratory Practice-I
31
VPCOE, Baramati
6.4. THEORY
Log the test results
Figure 6.1: How serious is the defect
What we need to write in the defect report:
- What are the conditions and the Failure?
- Use the Failure info. for your Subject line
- Steps to reproduce the Software Error
- Determine the Severity and Priority
- Include the OS and build number
- Information on other conditions tested
Fields in defect report
1. Summary,2. Priority,3. Severity,4. Description,5. Reproducible(either yes or no),6. Status, 7.
Version no. etc..
Defect Tracking Log Instructions:figure 6.4
6.4.3
Defect Tracking
Monitoring defects from the time of recording until satisfactory resolution has been determined.
Lab Manual - Computer Laboratory Practice-I
32
VPCOE, Baramati
6.5. POST LAB
Log the test results
Figure 6.2: How to decide priority
6.4.4
Defect lifecycle
Bug lifecycle/Defect tracking lifecycle/change request lifecycle. Defect Tracking: - Monitoring defect
from the time of recording until satisfactory resolution has been determine
defect life cycle as shown in figure 6.5
6.5
Post Lab
Hence from this assignment students can learn how to log the test results in test director.
Lab Manual - Computer Laboratory Practice-I
33
VPCOE, Baramati
6.5. POST LAB
Log the test results
Figure 6.3: Template of defect tracking report
Lab Manual - Computer Laboratory Practice-I
34
VPCOE, Baramati
6.5. POST LAB
Log the test results
Figure 6.4: Defect Tracking Log Instructions:
Lab Manual - Computer Laboratory Practice-I
35
VPCOE, Baramati
6.5. POST LAB
Log the test results
Figure 6.5: Defect life cycle
Lab Manual - Computer Laboratory Practice-I
36
VPCOE, Baramati
Assignment 7
Defect Tracking Report
7.1
Problem Statement
Prepare defect tracking report/Bug report using defect tracking tool like Winrunner.
7.2
Pre Lab
Knowledge of Software Engineering . Knowledge of Software Testing.
7.3
Hardware and Software Requirement
Hardware-P4 machine,1GB Ram,40 GB Hard Disk,win Runner software.
7.4
7.4.1
Theory
Using Rapid Test Script wizard
- Start− >Program Files− >Win runner− >winruner
- Select the Rapid Test Script Wizard (or) create− >Rapid Test Script wizard
- Click Next button of welcome to script wizard
- Select hand icon and click on Application window and Click Next button
- Select the tests and click Next button
- Select Navigation controls and Click Next button
- Set the Learning Flow(Express or Comprehensive) and click Learn button
- Select start application YES or NO, then click Next button
37
7.4. THEORY
Defect Tracking Report
- Save the Startup script and GUI map files, click Next button
- Save the selected tests, click Next button
- Click Ok button
- Script will be generated. Then run the scripts. Run− >Run from top
- Find results of each script and select tools− >text report in Winrunner test results.
7.4.2
Using GUI-Map Configuration Tool:
- Open an application.
- Select Tools-GUI Map Configuration;Windows pops-up.
- Click ADD button; Click on hand icon.
- Click on the object, which is to be configured. A user-defined class for that object is added to list.
- Select User-defined class you added and press Configure button.
- Mapped to Class ;( Select a corresponding standard class from the combo box).
- You can move the properties from available properties to Learned Properties. By selecting Insert
button
- Select the Selector and recording methods.
- Click Ok button
- Now, you will observe Winrunner indentifying the configured objects.
7.4.3
Using Record-ContextSensitive mode:
- Create− >Record context Sensitive
- Select start− >program files− >Accessories− >Calculator
- Do some action on the application.
- Stop recording
- Run from Top; Press OK.
7.4.4
Using Record-Analog Mode:
- Create− >Insert Function− >from function generator
- Function name :( select ”invoke-application” from combo box).
- Click Args button; File: mspaint.
- Click on ”paste” button; Click on ”Execute” button to open the application; finally click on ”Close”.
Lab Manual - Computer Laboratory Practice-I
38
VPCOE, Baramati
7.4. THEORY
Defect Tracking Report
- Create− >Record-Analog.
- Draw some picture in the paintbrush file.
- Stop Recording
- Run− >Run from Top; Press ”OK”.
7.4.5
GUI CHECK POINTS-Single Property Check:
- Create− >Insert function− >Function Generator− > (Function name:Invoke-application; File :Flight
1a)
- Click on”paste” and click on ”execute” and close the window.
- Create− >Record Context sensitive.
- Do some operations and stop recording.
- Create− >GUI Check Point− >For single Property.
- Click on some button whose property to be checked.
- Click on paste.
- Now close the Flight1a application; Run− >Run from top.
- Press ”OK” it displays results window.
- Double click on the result statement. It shows the expected value and actual value window.
7.4.6
GUI CHECK POINTS-For Object/Window Property:
- Create− >Insert function− >Function Generator− > (Function name:Invoke-application; File :Flight
1a)
- Click on”paste” and click on”execute” and close the window.
- Create− >Record Context sensitive.
- Do some operations and stop recording.
- Create− >GUI Check Point− >Object/Window Property.
- Click on some button whose property to be checked.
- Click on paste.
- Now close the Flight 1a application; Run− >Run from top.
- Press ”OK” it displays results window.
- Double click on the result statement. It shows the expected value and actual value window.
Lab Manual - Computer Laboratory Practice-I
39
VPCOE, Baramati
7.5. POST LAB
7.5
Defect Tracking Report
Post Lab
Hence from this assignment students can learn how to prepare defect tracking report/Bug report using
defect tracking tool like Winrunner .
Lab Manual - Computer Laboratory Practice-I
40
VPCOE, Baramati
References
[1] Boris Beizer, ”Software Testing Techniques”, dreamTech ,
[2] Dr KVKK Prasad, ”Software Testing Tools”,dreamTech.
41
Download