PSE Unit 4
PSE Unit 4
SOFTWARE ENGINEERING
UNIT-Iy
Astrategic Approach for Software testing
Software Testing
One of the important phasesof software developnnent
Testing is the process of execution
Involves 40°% of total project cost of a program with the intentionof finding errors
Testing Strategy
A road map that
incorporates test planning, test case design, test execution and
collection and execution
Validation refers to adifferent set of activities that ensures that resultant data
requirements. the software is traceable to the
V&V encompasses a wide customer
Perform Fomal Technical aray of Software Quality Assurance
reviews(FTR) to
Begin testing at component level anduncover move
errors during software development
Adopt testing outward to integration of entire
component based system.
Testing can betechniques relevant to stages of testing
done by software developer and
Testing and debugging are different activities. independent testing group
Low level tests verifies sall Debugging follows ttesting
High level tests validate majorcode segments.
system functions against customer
requirements
Testing Strategies for Conventional
Software l)Unit Testing
2) Integration Testing
3)Validation Testing and
4)System Testing
Code
Desigo
Requirements
Systen ei yineering
Software Testing
Two major categories of software testing
Black box testing
White box testing
Directed
Object link Object
#1 #2e
Node
Undirected weight
link
Parallel Links
object
#3
Equivalence partitioning
Divides allpossible inputs into classes such that there are a finite equivalence classes.
Equivalence class
Set of objects that can be linked by relationship
Reduces the cost of testing
Example
Input consists of 1 to 10
Then classes are n<l, 1<=n<=10,n>10
Choose one valid class with value within the allowed range and two invalid classes where
values are greater than maximum value and smaller than minimum value.
Boundary Value analysis
Select input from equivalence classes such that the input lies at the edge of
the equivalence classes
Set of data lies on the edge or boundary of a class of input data or generates the data that lies at
the boundary of a class of output data
Example
If0.0<=X<=1.0
Then test cases (0.0,1.0) for valid input and (-0.1 and1.1) for invalid
input Orthogonal array Testing
To problems in which input domain is relatively small but too large for
exhaustive testing
Example
Three inputs A,B,Ceach having three values will require 27 test cases
L9 orthogonal testing will reduce the number of test case to 9 as
shown below
A B
2 2
3
2 3
2 2 3
2 3
3 3
SOFTWARE ENGINEERING
2
3 3 2
Condition Testing
--Exercise the logical conditions contained in a program module
--Focuses on testing each condition in the program to ensure that it does contain errors
--Simple condition
El<relation operator>E2
--Compound condition
simple condition<Boolean operator>simple condition
Portabil y
Maintainabliy Reusab liy
Flexibilty Interoperability
Testobility
PRODUCT TRANSITION
PRODUCT REVISION
PRODUCT OPERATION
Usabilty Efficiency
Correctness Integrity
Reliability
helps us to assess quality. attribute
Product metrics computer software or size of
some
Product metris for dimension, capacity
Measure of the extent, amount,
quantitative indication possess agiven
attribute
Provides a or process
or process93 definition)
Metric(IEEE component
of aproduct which a systen,
software process, a software project
degree to
of the
quantitative measure insightintothe
A that provide
combination of metrics
Indicator
a
A metric or
itself analysis,Design,Test and
maintenance
product
or a for Analysis model
Product Metrics metricsfor the
Product
Function point Metric
by Albrecht by the systemn
First proposed
the
functionality delivered
parameters
Measures following
from the inputs(EIS)
FP computed
external
Numberof
Number external outputs(EOS)
Inquiries(EQS)
Number of external Logical Files(ILE)
Number of Internal interface files(EIFS)
Number of external complex and weights are assigned as
follows
parameter is classified as simple, average or
Fach
"Information Domain Count Simple avg Complex
3 4
EIS
7
EOS
3 4 6
EQS
ILFS 10
EIFS 5 7 10
Function-Oriented Metrics
Function-oriented software metrics use ameasure of the functionality delivered by the application as a
normalization value. Since functionality" cannot be measured directly, it must be deri vedindirectly using other
direct measures. Function-oriented metrics were first proposed by Albrecht, who suggested a measure called the
function point. Functionpoints are derived using an empiricalrelationship based on countable (direct)
measures of software's information domain and assessments of software complexity.
Proponents claim that FP is programming language independent, making it ideal for application
using conventional and nonprocedural languages,
to be known early in the evolution of a project,and that it is based on data that are more likely
making FP more attractive as an estimation
approach.
Opponents clain that the method requires some sleight of hand l in th¡t
basedsubjective rather than objective data, that counts of the information domain van computation is
to collecÉ after :he fct, and that FP has no direct physical neaning- it's just a number. be difficult
Typical Function-Oriented Metries:
errors per FP (thousand lines of code)
FerFp
defects
S per
pages of documentation per FP
FP per person-month
Metrics system.
I.5) Use-Case Oriented
describe user-visible functions and features that are basic requirements for a
number of use-cases
proportional to the size of the application in LOC and to the cases that will have
Use-cases
The use-cases is directly application in LOC and to the number of test
tothe size of the
is directly proportionalexercise the application.
to be designed to fully can be created at vastly different levels of abstraction, there is no standard size
Because use-cases normalization measure
Without a standard measure of what a use-case is, its application as a
tor a use-case.
is suspect.
Metrics
1.6) Web Engineering Project
engineering projects is to build a Web application that delivers a
combination
The objective of all web
of content and functionalityto the end-user. and generally require
low relative complexity
These pages representmeasures
Number of static Web pages: pages. This provides an indication of the overall
less effort to construct than dynamic to develop it.
size of theapplication and the effort :required
Web pages with dynamic contentmany are essential in all e
Number of dynamic Web pages:engines, financial application, and other Web App
commerce applications, search higher relative complexity and require more effort to construct
categories. These pages represent the application and the
an indication of the overall size of
than static pages. This measure provides
effort required to develop it. the degree of
are pointers that provide an indication of
link: Internal page links
Number of internal page App.
architectural coupling within the Web complexity of the Web
persistent data objects; As the number of persistent data objects grows, the
Number of implement it increases proportionally.
App alsO grows, and effort to interfacing grows, system complexity and
Number of external systems interfaced: As the requirement for
effort also increase. encompass static text- based, graphical, video.
developmen
Number static content objects: Static content objects
incorporated within theWeb App.
animation, and audio information that are Dynamic content objects are generated based on end-user
Number of dynamic content obËects: graphical, vidfo, animation, and audio
actions and encompass interrally generated text-based,
App.
information that are incorporatei within the Web
function provides some computational service to
Number of executable functions: An executable
functions increases, modeling and construction effort
the end-user. As the number of executable
also increase.