Software Testing: ®technical
Software Testing: ®technical
MSBTE · I SCHEME
·\ .
..
Software Testing .
T. Y. Diploma (Semester - V) ·
Computer Engineering Group (CO/CM/CW) .
Vaishali Rane
B.E., M.E. (CMPN)
HOD (Computer Engineering),
. Thakur Polytechnic
Thakur Complex, Kondivoli E, Mumboi-401101
Nilesh J. Vispute
M.Tech. (Computer Science)
Senior Lecturer,
Provin Rohidos Pati!"Polytechnic
Miro Bhoyondar, Mumbai 401105 ·-
~ ®TECHNICAl,. . ·
. -~ · PUBLICATIONS Website: www.technicalpublications.org
An Up-Thrust for Knowledge IJ_https://www.facebook.com/technicalpublications
(i)
.-S YLLABUS
· Software Testing (22518)
THchlng Scheme. Credit · Examination Scheme
(L + T + P) Practical
Theory
L T p Paper l--..:E:::S=E-L__:_P::,A_.J___:_Tota:=l..:..-~-E'"TSE_--t__P
Hrs. 7A_-t__To1ta_1---I
Max Min Max Min Max Min
Max Min Max Min Max Min
Unit· I la. Identify errors and bugs in the 1.1 Software Testing, Objectives of Testing.
given program. 1.2 Failure, Error, Fault, Defect, Bug
Basics of Terminology.
Software lb. · Prepare test case for the given
Testing and application. 1.3 Test Case, When to Start and St9p
Testing le. Describe the Entry and Exit Testing of Software (Entry and Exit
Methods Criteria for the given test Criteria).
application. 1.4 Verification and Validation (V Model),
ld. Validate the given application Quality Assurance, Quality Control.
using V model in relation with 1.5 Methods of Testing: Static and dynamic
quality assurance. Testing
le. Describe features of the . given 1.6 The box approach : White Box Testing:
.testing method. Inspections, Walkthroughs, Technical
Reviews, Functional Testing, Code
Coverage Testing, Code Complexity
Testing.
1.7 Black Box Testing: Requirement Based
Testing, Boundary Value Analysis,
Equivalence Partitioning,
(n,\
Unit-Ill 3a. Prepare test plan for the given 31 ·Test Plannning : Preparing a Test Plan,
application. · Deciding Test Approach. Setting Up
Test
Management 3b Identify the resow-ce Criteria for testing, identifying
requirement of the given Responsibilities, Staffing, Resow-ce
application. Requirements, Test Deliverables, Testing
Tasks. . ·
3c. Prepare test cases for the given
application. 3.2 Test Managment : Test Infrastructure
Managem~t, Test People Management.
3d. Prepare test report of executed
test cases for given application. · 3.3 Test Process : Base Lining a Test Plan,
Test Case specification.
3.4 Test Reporting .: Executing Test Cases,
Preparing Test S y Report.
Unit. rv 4a. Classify defects on the basis
estimated impact.
Defect 4.1 Defect Classification, Defect
Management 4b. Prepare defect template on the Management Process.
given application.
4.2 Defect Life Cycle, Defect Template
4c. Apply defect m~gement
4.3 Estimate Expected Impact of a Defect; · · · ---
process on the given
application. Techniques for finding Defects~ '--•------
Reporting a Defect __ _ . -- ·-· _,_ ____ ____
4d. Write procedure to . find defect .
using the given technique.
,__----+--------"-----+---------------:-..:" "-""""'
:' -- ·1- t ...-....
Unit· V Sa. Improve testing efficiency 5.1 Manual Testing and Need · · for-- .... ·
using automated tool for given Automated Testing Tools ----
Testing Tools application.
and . 5.2 Advantages and Disadvantages of Using_. . ____... .
Measurements Sb. Identify different testing tools Tools
to test the given application. 5.3 Selecting a Testing Tool.
Sc. Describe Metrics and 5.4 When to Use Automated Test Tools,
Measurement for the given Testing Using Automated Tools.
application
5.5 Metrics and Measurement : Types of
Sd. Explain Objct oriented metrics Metrics, Product Metrics and Process
used in the given testing Metrics, Object oriented metrics in
application testing.
T~·L E OF CONTENTS
1.1.2 Objectives ?fSoftware Testing .......... 1. 1 1.7 Black Box Testing ... • • • • · · · · · · · · · · · · · • • 1-17
1.7.1 Requirement Based Testing • • • · · · • • ... 1-17
1.1.3 ·Principles of Testing .................. 1. 1
1.7.2 Bo1D1dary Value Analysis • • • • · · · · • • • .. 1 • 18 .
l.1.4 Skills of Software Tester ......... ; ..... 1 - l
1. 7.3 Equivalence.Partitioning . • • • • • • • • • • ... 1 -·19
1.2 Failure, Error, Fault, Defect, Bug Tenninology 1 • 2
1. 7.4 Difference between Black Box and White Box:
13 TestCase ......... '.····················1-2
. Testing ........... •• .·••••·····•••• .1-20
. · t.4.1 Verification and Validation (V Model) .... l - 3 2.2.1 · Errors Identified during Unit Testing ..... 2 - 3
1.4.1.i Verification ..................... 1-3 2.2.2 Unit Testing and Debugging . .......... : 2 - 3
1.4.1.2 Validation ...................... 1 -4 2.2.3 Driver and Stub ...................... 2 - 3 .
1.4.2 V Model ........................... l - 5
2.3 Integration Testing .......... 1 • • • • • • • • • • • 2 - 4·
1.4.3 Quality Assurance .... . ............... I - 6
2J.l Top Down Integration ................. 2-4
1.4.4 Quality Control ...................... I - 6
2.3.2 Bottom Up Integration . ; .............. 2-5
1.4.5 Difference between Quality Assurance and
Quality Control ...................... l - 7 2.3.3 Bi-Directional Integration .............. 2- 6
3.1.1 Preparing aTest Plan .................. 3 - 1 4.3.2 Techniques for Finding Defects ......... 4 - 6
3 .1.2 Deciding Test Approach ............... 3 - 2 4.3.3 Reporting a Defect .......... : ........ 4 - ·6
-
TECHNICAL PUBLICATIONS~· An up thrust for knowledge
-------------
UNIT· I
4. Define software · testiM. List all skills 3) Test case description: The purpose of the test case
tester. is described under this section
5. List and describe any four skills of software tester. 4) Prerequisites : Any . precondition that must be
MSBTE: Winter-16. 18, Marks 4
fulfilled before execution of the test case must be
6. Define software testing and role of testing. mentioned here .
MSBTE : Summer- I 9, Marks 4
5) Test procedure : The step by step procedure that
[j]] Failure, Error, Fault, Defect, Bug Tennlnology demonstrates the testing procedure.
Following are some important terminologies used in 6) Test data : The data to be used while conducting
relation with software testing - the test.
Mistake : It is an issue or a problem identified during
7) Expected result : The expected result of the test
peer reviewing. It is of low cost · and can be fixed
quickly.
l
as:
• Following are t!te inputs necessary for the entry
o Verification means asking "Are we building the
criteria.:_
right product ?"
o The requirements documents o Validation means asking "Are we building the
I o Complete understanding of the application flow product right ?"
o Test-plan !1.4.1.1 !Verification
Exit criteria • Verification is a technique of evaluating whether
• Definition : It can be defineq.. as "The specific software product fulfills the requirements or
conditio~ or on-going activities that should be conditions imposed on them by standards and
fulfilled before completing the software testing life processes.
cycle." • It is a static technique as there is no execution of
code · or product. During verification, the work
~,,11➔
work product is getting analyzed.
~e•p-fundioa
Disadvantages
1'1
1. The verification process simply confirms that the
development process is completely followed or not,
. it does not show whether the developed software
product is correct or not.
2. The defects during the execution of work product
After valid ·and
a
complete specification
the verification starts.
Verification is for
prevention of errors.
~
~~iI~iU!iflJlti
,~ia,
.I
walkthroughs, · ;,,,
• Validation is a technique, to evaluate whether the , an'a
inspections
final built software .product fulfils the customer audits..
{j
'I
requirements.
• It is also called as dynamic testing as the application
Verificaµofr;t t-~ fL;~
termed . .is \vhi~ "fi'ox ,¥:ti,
If
I
-: , . · , ~:i· : _ 4'·',,,:;, .
I' is executed during validation in order to find out testing or/static,,testing . :&t.l
;; - . . ,. --~-~- .-~ -·:- ,.,;t ,<'; : ~:Mt
/1 the defects. i as w,ork product'goes . f"
,,
I
thr~ghreviews,,_, .•
• •• ,,,, •. ·J,:
• Normally the validation must be done by
independent users and functional experts.
Verification: >finds
abbut 50 t<J'60%'of th~
.. defectsi '. C/
Advantages
1. Validation is the only to get ensured about the VJrifi&tion ·ii'.' baseci'
functioning of the software product. Validation
help to test the system during the execution.
2. The defects that can not be 1dentified during
verification can be identified during validation.
T~ TM
Technical Publications -An up thrust for knowledge
Ocfs
"
~Ss
lle
.ilt
to
le
n
n ----- - ·
\ JQ!) VModel
• V model means the Verification and Validation
model.
• This model is V-shaped hence is the name. It is just
like waterfall model in which each phase must be
completed before the next phase begins.
• This model contains various stages of software
development along with various types of testing
that can be con~ucted at each stage of development.
The test plans serve as a link between the Fig. 1.4.1 The V-model
When wlll be V model applicable ? As per the waterfall model of software development
Following are the situations ·in which the V .model is process model the V model begins with requirements
applicable gathering and analysis. The Software Requirements
Specification(SRS) is created during this phase. The
1. The requirements , are well defined and are not
acceptance and system testing is conducted in which
ambiguous.
the focus is on meeting of functionalities specified in
2. The acceptance criteria is clear.
the requirements gathering.
3. Project is short to medium size.
4. Technology and .tools are not changing. High level design
Disadvantages :
System testing: It is performed on a complete system 4. Describe structural walk through under static testing.
MSBTE : Winter- I 6 . Marks 4
to ensure that the application is designed according to
5. Describe technical review under static testing.
the requirement specification document.
MSBTE : Summer-] 8. !\-forks 4
Advantages
[!]] The Box Approach
1) It identifies weak areas in a runtime.-
2) It helps in performing detail analysis of code.
[ill] White Box Testing
3) It can be applied with any application. • In white box testing the procedural details are
closely examined.
Disadvantages
• In this testing the internals of software are tested to
1) It is not easy to find trained software tester for
make sure that they operate according to
performing dynamic_ testing specifications and designs.
· 2) It becomes costly to' fix errors in dynamic testing.
• ~us major focus of white box testing is on internal
structures, logic paths, control flows, data flows,
internal data structures, conditions, loops, etc.
conditions and loops can be tested in detail. Following _Fig. 1.6.1 represents the classification of
white box testing-
2. It helps in optimizing the code.
3. White box testing can be easily automated. Static testing :
• Static testing is carried out only on source code. It
4. Due to knowledge of internal coding struchtre it is
does not require any executable rode.
easy to find out which type of input data can help
• Following are the tasks performed · during static
in testing the application ; fficiehtJy.
testing-
Disadvantages : 1) To check whether code works according to
1. ·The knowledge of internal structure and coding is functional requirements or not.
desired for the tested. Thus the skilled tester is 2) To check whether the code is written according to
required for white box testing. the design of system.
2. This type of testing is costly. 3) To check if any functionality of the code is missed
II
I
· Desk ct.eking
Code
walldhrough·
. . Code Statement coverage Cyclomatic
inspection complexity
Path coverage
Condition coverage
Fuhction coverage
Flg.1.6.1
Inspection checks
During the inspection a checklist is prepared for
coinrnon programming errors. It can be prepared by
I by
the person(s) having adequate experience in
· are
application domain. This checklist is very useful to the
void
programmer. The checklist varies for different
Nare
programming languages because differ~t
programming languages have different prograrnmmg
constructs. For example :
t the
Fig. 1.6.2 Inspection process Checklist for C Program
lefect
0 Is the loop execute• for correct number of
Planning : The inspection process is planned by the
times?
ruire moderator. Various tasks that can be conducted during
planning are : o Do the parameter and argument . types in the
the
o Selecting inspection team
function call and definitions match ?
ns anomalies as possible. 2. Team members can understand the things that are
1 Follow-up : During this stage the reworked program is expected during the review.
' presented to the moderator. The moderator then has to 3. The problems are recorded and suggestions can be
1 decide whether the re-inspection is needed or not. If all . obtained from all the team members. Hence all the
!SS the identified defects are removed 'successfully and the . team members can participate in improvement of
1
inspection team gets sa_tisfied with the work product, the work product.
moderator approves the program ~or the release.
,g
Disadvantages :
1 -12
product is ready for r,'7ieW- The reviewer re,,;;- .:
the work product as per his or her convenience an' '
1. It is difficult to handle the team of large size during sends the review rep<>rl to the author. There is Q
walkthrough.
direct interaction of author and reviewer. no
2. It can be time consuming activity.
Difference between walkthrough and Inspection Advantages :
1. Review is a very useful tool in defect finding.
2. Review can be conducted at convenient timings of
both the author and reviewer.
• There are two kinds of peer reviews - 1. Online peer the debug version of the code. The debug
review and offline peer review. version is a kind of version of your source code
• The online peer review in which the author and the in which the print statements are inserted at
reviewer sit together and review the work product intermediate pl~ces in the code. This can be done
jointly. In this meeting any explanation can be to test if the program is executing through right
immediately provided by the author to the loops and iterations for right number of times.
reviewer.
. After fixing the errors, these print statements can
• The offline peer review is a kind of review in which be removed.
the author informs the reviewer that the work
T. Technicai Publications -An up tht'U$1 for lcnowl«Jge
, I
-----,r. :.;:!Jll.!!E_;a,;;;..;;a- -- ~
·o In this approach the code is run under a standard d_ebugger or Integrated development
Environment(IDE). These standard tools debug each and every instruction of your program. The
developer can watch the values of variables or other functional parameters at each step in the
iteration. ·
!1.6.1.5 !Code Coverage Testing
• This is a testing process in which the test cases are designed and executed for different parts of code .
. Thus some amount of code is covered by testing. The amount of code covered by testing is found out
by a technique called instrumentation of code. The instrumentation of code can be performed used ·
some standard tools.
• Code coverage testing can be performed using following techniques -
o Statement coverage .
o Path coverage
o Condition <;:overage
o Function coverage
Let us discuss these techniques -
1) Statement coverage :
o 1?ere are various types of programming statements such as sequential control flow, if-else
statements, switch-case statements, loops such as for, while,do-while
o Sequential control flow statements: For these kind of statements, the test can be designed to run ·
through from top to bottom. A test case starts from top and runs covering full section of the code
upto bottom.
o If-else statement : The test cases are written to cover all parts of code. That means the set of test
cases.are executed for if part and another set of test cases are executed for else part.
0 Switch-case statement: There should be multiple test cases executed covering each case statement
in the switch-case control structure.
0 Loop construct(for, while, do while) : This is the most complex part for statement coverage. Many
defects occur in the program if the loops do not execute correctly. Hence set of t~st cases must be
executed for -
1) Exercising the loop at least once and maximum number of times to ensure all the normal
flow of execution of loop.
2) Skipping the loop completely, so that termination condition of the loop can be tested before
starting the loop.
3) Testing the boundary of the loop. For example if the statement is .
wbile(i < =n)
{
}
Then the test case must be written when i has exact value of n or n-1
;...
2) Path coverage :
. . . f distinct paths and test
0 This is a kind of testing in which the program is divided into number__0:........-- - - - - - : - - - - .
cases can be written for each path of the program.
o F~r example - Consider following code for simple subtraction
1. Input x and y
2. if x > y then
3. z=x-y
4. else z = y - x
5. endif
6. outputz
Refer.Fig. 1.6.3 for flow graph.
Here we need to test two paths
Path 1: 1,2,3,5,6
_Path 2: 1,2,4,5,6 Flg.1.6.3
o Thus regardless of the number of statements in each of these paths, if we·can execute these paths,
then we would have covered most of the typical scenarios.
o Hence path coverage c_an be calculated using formula-
Total paths exercised
Path coverage = Total number of paths in program x lOO
3) Condition coverage
o Condition coverage exercises all kinds of situations that the path
coverage may not perforin
o For example - Consider following code for simple subtraction
1. Input x and y
2. if x > y then
3. z=x-y
4. else z = y - x
_5. endif
6. outputz
Flg.1.6.4
Here by path coverage criteria two paths can be tested (1-2-3-5-6 and 1-2-4-5-6) for the conditions x > y
and x < y. But what if the value of x = y, as there is no such path for this condition. Hence it is preferred to
perform testing based on various conditions.
0
In this technique the tests cases are executed for various functions present in the program.
0 While providing ~ction coverage, test cases can be written so as to exercise each of ·the different
functions in the code.
• Functions are easier to identify in the program and hence test case be written easily for
them.
• . The complete code coverage for the function is possible during testing.
• Functions are logical mapping of requirements hence direct testing of direct requirements
of is possible.
• The cyclomatic complexity can be defined as a measure used to determine the complexity of a piece
of code or functionality.
• This metric measures independent paths through program source code. Independent path is defined
as a path that has at least one edge which has not been traversed before in any other paths.
• The cyclomatic complexity can be calculated for function, module, class, methods present in the
program.
• For computing the cyclomatic ~omplexity the flow graph need to be designed.
• Flow Graph notation for a program is defines. several nodes connected through the edges. Below are
Flow diagrams for statements like if-else, While, until and normal sequence of flow.
Sequence WtdJe
-------
lf~lhen-else Untl
~
Flg.1.6.5
testing .
· Step 1 - Construction of graph with nodes and edges
from the code Fig. 1.6.6 Flow graph for finding maximum of t~ree numberl
~ ·,,
"-.... t
Software Testing
Board Questions
1 -17
[Ir] Black Box Testing
Basics of Software Testing and Testing Methods
I. . .
'
Step 1 : Define test Completion criteria :
Testing should be defined in quantifiable terms. The
~
goal is considered to be achieved only when test ! ~;
coverage is 100 %.
i~
Step 2 : Design test cases :
Test cases must be in accordance with requirements
specification.
,·
activities done for the specific product.
.Technical PublcstiollS -An up thrust for knowledge
Ce11,,., _
~ Software Testing 1 - 19 Basics of Software Testing and Testing Methods
I
'bti"1
• · Boundary .value analysis is a test case design I
11 .7.3 Equivalence Partitioning
technique that complements equivalence • It is a black box technique that divides the input
partitioning technique. domain into classes of data. From this data test cases
• Guidelines for boundary value analysis technique
are-
1. If the input condition specified the range
can be derived.
• An ideal test case uncovers a class of errors that
might require many arbitrary test cases to be
II
bounded by values x and y, then test cases executed before a general error.is observed.
should be designed with values x and y. Also • In equivalence partitioning the equivalence classes
test cases should be with the values above and are evaluated for given input condition
, below x and y. Equivalence class represents 1:\ set of valid ot invalid
2. If input condition specifies the number of values states for input conditions.
then the test cases should be designed with • Equivalence class guidelines can be as given below:
minimum and maximum values as well as with Input set
the values that are just above and below the
maximum: and minimum should be tested.
}: 3. If the output condition specified the range
ff
w . bounded by values x and y, then test cases
i.:
should .be designed with values x and y., Also·
test cases should be with the values above and
below x and y.
4. If output condition specifies the number of
values then the test cases should be designed
with minimum and maximum values as well as
with the values that are just above and below the
maximum and minimum should be tested.
5. If the internal program data structures specify
such boundatjes then the test c;ases must be
designed such that the values at the boundaries
of data structure can be tested.
Output generated
For example :
Flg.1.7.1
Integer D with input condition _[-2, 10],
· • If input condition specifies a range, one valid and
Test values : - 2, 10, 11, - 1, 0
two invalid equivalence classes are defined.
, If input condition specifies a number values, test cases
• . If an input condition requires a specific value, one
should developed to exercise the minimum and
valid and two invalid equivalence classes are ·
maximum numbers. Values just aqove and below this defined.
min and max should be tested.
• If an input condition specifies a member of a set,
Enumerate data E wifu input condition : {2, 7, 100, 102}
one valid and one invalid equivalence class is
Test values : 2, 102, - 1, 200, 7 defined.
• If an input condition is Bool~ one valid and one
invalid equivalence class is defined.
T. Technical Publications
111
-An up thrust for kno'lllledge
SoffWare Testing · - and TestinK Met
For example :
analysis.
MSBTE : Summer- I 5, · 17. Winter-I 7. Marks 8
3. Explain the boundary value analysis technique used in·
black box testing with example.
MSBTE : Summer- I 6. Mt1rks 4
□□□
UNIT· II
2. Integration testing - It focuses on issues associated with verification and program ·construction as
components begin interacting with one another. •
-T
· .· :(2-1)
"&~'1-f
ryr,es and Levels of Tes~ , ~e JI' , t
,,1·
3.
.
Boundary conditions are tested to ensure that the module operates pr
operly at boundanes
i ~ pi,sD!Io
established to limit or restrict processing. . 4,C~ , fest
4. · (independent)
All the basis · · th at a11 st atements in the module
paths are tested for ensuring ~u~"
have been executed only once. develof
5. All error handling paths should be tested. ~.:
Things to be tested ce II"
~. asfoJlo·
theJll IS '
. Generating
6. Drivers and stub software need to be developed to test incomplete software. The driver" is II
a program that accepts the test data and prints the relevant results. And the stub" is a II
subprogram that uses the module interfaces and performs the minimal data manipulation if
required. This is illustrated by following Fig. 2.2.2.
Board Questions
1. Describe how drivers and stubs can be used in unit
testing with neat diagrams.
MSHTF : Winti>r-16. i\1.uk., I
I2.2.3 IDriver and Stub 2. Explain unit testing. State its additional re'Luirements.
• Stubs and drivers are two such elements used in hi~i&f S lhhhh411¥1HNI
3. With the help of neat diagram, describe unit testing.
software testing process, which act as a temporary i\1SKrl-. Sumnwr- 18 . Winter-IS. i\1,,rk., 1
replacement for a module. 4. . Explain the need of stubs and drivers with diagram
and its importance in software testing.
T~ dawn int~ratiQq:te.tRt'-1$
8ottom upJ~r~on tes.tinq
. Bi~dktctjqntil ih1t;1gt~JioJlt.,ting
Fig. 2.3.1 Integration testing approach
hf
Technical Publications -An up thrust for knowfedge
2-5 Types and Levels of Testing
1. The main control module is used as a test driver Disadvantages of Top Down Integration Testing
and the stubs are · substituted for all modules 1. The top level modules can not be tested perfectly
directly subordinate to _the main control module. as every time _stubs are replaced _w ith _real
2. Subordinate stubs are replaced one at a time modules.
with actual modules using either depth first or 2. It is difficult to test the units and modules alone
breadth first method. before integration. Hence the problems might
3. Tests are conducted as each module is remain in the individual unit
integrated. 3. Stubs need to be written and tested before they
4. On completion of each set of tests, another stub can be used for integration testing. These tested
is replaced with the real module. · stubs are then finally getting replaced by the
5. ~egression testing is conducted to prevent the actual module. Hence creating and testing large
introduction of new errors. number of stubs arid making them defect free is
actually time consuming.
For example :
In top down integration if the depth ·first approach is i2.3.21 Bottom Up Integration
adopted then we will start integration from module In bottom up integration the modules at the lowest
Ml then wewill integrate M2 then M3, M4, MS, M6 levels are integrated at first, tl).en integration is done by
and thenM7. moving upward through the control structure.
in If breadth first _approach is adopted then we will The bottom up integration process can be carried out
/1\ integrate module Ml first then M2, M6. Then we will using following steps.
integrate module M3, M4, MS and finally M7. 1. Low-level modules are combined into clusters
that perform a specific software subfunction.
le 2. . A driver program 1s written to co-ordinate test
1 case input and output.
3. The whole cluster is tested.
4. Drivers are removed and clusters are combined
moving upward in the program structure.
For example ;
:...•...,...,
Software Testing
4.
Types and Levels of Testing
-----~--~-----~=:= ·.:i--;P;:ub~"~ca;tion;s-;ifii~-~A;n;up~th;,;ru~st~for~kno~wl~ed~ge;---------------
Techmcal • 1
-
\
5oftu"!_re Testing
2-9 Types and Levels of Testing
d -4. Evaluate entry criteria : During performance • It also helps in identifying the bottlenecks in the .
testing when · certain performance criteria get systems under heavy workload conditions.
satisfied then the performance test begins its • Load testing helps in identifying -
ll execution. This is called entry criteria. The entry Response time for each transaction
O
h criteria must be evaluated at regular intervals
o Performance of system components under load.
during the performance testing. There is separate
o Network delay between client and server.
)!
· set of criteria for each of performance test case.
o Server configuration issues such as web server,
5. Evaluate test case : Execute and evaluate each test
application server, database server
to case.
6. Evaluate exit criteria : After exe_cution of the test Advantages of load testing :
ar case product is evaluated to see whether it has met 1. Performance bottlenecks identification before
,e all the required performance criteria after test case production
execution. If the criteria are not met then the test 2. Improves the scalability of the system
case is again executed. This process is repeated 3. Minimize risk related to system down time
of
until the performance criteria are met. The results 4. Reduced costs of failure
are collected after evaluation of exit criteria.
1st 5. Increase customer satisfaction
<lt Thus performance testing is conducted. This is one of
Disadvantages of load testing : -
~I the crucial testing process.
1. Need programming knowledge to ·use load testing
I
be b.4.3 Load Testing tools.
• l.oad testing is a testing process used to check how 2. Tools can be expensive as pricing depends on the
systems behave under normal or peak load number of virtual users supported.
,ce conditions.
3ys • Load testing · gives the confidence in system about I2.4.4 IStress Testing
i,te its reliability and performance. • Determines breakpoint of a system to establish
maximum service level.
Technical Publications - An up thrust for knowledge
~ jl
'ltlll!tiill!lllllllf.\j ?iliiffl'!§tlhliffii" ~ 1" lll! ..,iI' ~;..~
------
i,;~~,!~
1'J
,- Th;~j,i,lic:hJ~!~,~ g,
• Security testing helps ii1. improving the current
system and also help in ensuring that the system
will work for longer time,.
• Security testing helps in finding out loopholes that
can cause loss of important information.
Advantages
1. Vulnerability scanning : The vulnerabilities are ,. ,
scanned using automated testing.
1) It finds out if data can be corrupted by
overstressing the system. 2. Security scanning : In this scanning, the network ·
and system weaknesses are identified and solutions
2) It helps to determine what kind of failures are most
are obtained. This scanning is done using both
valuable to plan for. 1
automated and manual testing.
3) Offers assistance in determining the stability of the
3. Penetration testing : In this testing, tester tries to
software system beyond its normal operational
peep into the system via the loophole that !
capacity.
application has kept unknowingly. It is one kind of
1
tM
Technical Publications - An up thrust for knowledge ____________ .
;.~~ ·
'@
\-~ - . . ..........,1;1~ 111c ~ ~!%if QIL 11/'flFl"Wil 1:~~ jiffl ;,.11.. - -
re resting 2 - 11
Types and Levels of Testing
~essment : In this testing, the analysis of
~s,curity risks is done With the help of interviews,
discussion and analysis.
7. How to perform security testing ? State elements of
security testing.
MSHII : ~lllllllll'l-17 M,irk .. t'I
3. Describe any four testing approaches of web o It has less number of network issues when
compared to web app.
application.
MSBTE : Winter-16, Marks 4
o The client and server work in a connected mode.
4. What is load testing and stress testing ? Describe with
Types of Tests Conducted for Client Server Architecture
respect to system testing.
MSBTE : Winter- I 6, Marks 4
Various approached of testing the client server
· 5. Describe how to perform security and performance architecture are as follows -
testing. (1) Application function test : The standalone
MSBTE : Summer- I 5. Marks 4
application function is tested in this type.
6. Describe following testing with example. (1) Security
testing (2) Performance testing
MSBTE : Summer- I 5 , Marks 4
r,;;
Technical Publications : An up thrust for knowledge
T.
·- - - - --m,;::-,.~....__......... wt~ • .. l!&
111
Tec/nCIII put,Jicaljons -An up thtu$t for knowledge
r·
~
-!I
-- - ~~:-~,f.....
~:lif- 1:"i'- ~ - -
!ffllr~-
I': I
' t
~lz~ .
!J-..
;~ j
~ 2 -13 Types and Levels of Testing ]\
l
3 'fhe pnmary problems in the identified and fixed in 5. Beta testing allows the organization to test post-
~d · iIJUI'lediately before delivery of the product to the
launched infrastructure.
customer. \
, l~\>eJ 6. Due to customer feedback product failure risk can
4_ AnY mis-understanding about the scope of the be reduced.
project or in requirements given by the customer
t\~ts 7. Usability of the application can be identified and ,,J1
can be cleared during this type of testing.
verified by the customer. 1i
pisadvantages
I
Disadvantages : 11t
I 1. In depth functionality cannot be tested as software
laJJy 1. Finding right beta user and maintaining his
e"er ,
is still under development stage. Sometimes
developers and testers are dissatisfied with the
participation can be real challenge. I
I 2. Tests can not be management because beta testing
lllce / results of alpha testing.
is conducted in actual working environment and
2. Alpha testing is conducted in lab environment or
n,ot in the organization.
I be ' testing environment which may not be similar to
ery ·real-life environment. Difference between Alpha and Beta Testing
.la}, ' 3. Data used during this testing may not be similar to
the : the business data or .actual data. Hence false image
the I
of working module can · be created and actual
problems remain hidden.
1el
I2.5.2 IBeta Testing
1ce I
The beta testing is a kind of testing in which the
en / version of complete software is tested by the customer
I
>-
without the developer being present. This testing is
of
done at Customer's site. As there is no presence of
;t, I
developer during testing, it is not controlled by
developer. The end user records the problems and
report them to developer. The developer then .makes
h appropriate modifications.
!
e Advantages :
1. .Beta testing improves the product quality via
customer feedback. ·
2. Any training ~quire~entfor use of the product can
be identified during beta teS ting.
work environment
3. The testing is done in actual Board Questions
developer. Hence
without the interference of
changes in the 1. List any four advantages of acceptance test before
addition in requirements, launching any software.
requirements can be identified. l\lSHT[ : \\i intn-15 11i . !\I.irk., l
4. The security loopholes can be identified by the 2. Explain the alpha testing. State its limitations. -
l\lSBTL : S1111111wr - I 6 i\l.nk., ,}
customer itself.
Tl1
Technical Publications - An up th~ for knowledge
T·.
... . J
_._._..= --~~- "~~-~,,,_:::-·-
~ l~
So ' .
di"-e
"',_, nces). . .
--
=-__;________
I
2 -14 --- 1Yi"' and ,.,,,," oJr,.,.
Following are some ways to test the GUI - r
• Regression testing is used to check for defects tools are used for testing.
propagated to otl:ter modules by changes made to
Checklist for GUI Testing
existing program. Thus regression testing is used to 1. Check all the GUI elements for size, position, '.
reduce the side effects of the changes. 'dth l gth and acceptance of characters or :
M , en ~
• There are three different classes of test cases
numbers.
involved in regression testing -
2. Check you can execute the intended functionality of .,
• Representative sample of existing test cases is used
the application using the GUI
to exercise all software functions.
3. Check error messages are displayed correctly
• . Additional test cases focusing software functions
4. Check fo r dear representation of di ffe rent sections
likely to be affected by the change.
on screen
• Tests cases that focus on the changed software
5. Check font used in application is readable
components. .
6. Check the alignment of the text is proper
• After product had been deployed, regression testing
would be necessary because after a ch~nge has been 7. Check the color of the font and warning messages is
made to the product an error that can be discovered aesthetically pleasing
and it should be corrected. Similarly for deployed 8. Check that the images have good clarity
product addition of new feature may be requested 9. Check that the images are properly aligned
and implemented. For that reason regression testing
10. Check the positioning of GUl elements for different
is essential. screen resolution.
Board Question
Advantages of GUI Testing
1. Explain the regression testing. State when the
regression testing sh.all be done. 1. Good GUI help the ~r to give the better
,1sB 11 : Summ,•r-16. \\'intn-17 . '.\l.uks -1 experience of handling the app lication.
I2.6.2 IGUI Testing 2. The user can readily accept the application if the
GUI is well tested and w orking in appropriate
Testing the graphical user interface is very challenging manner.
because GUI consists of many reusable components.
3. The availability of help feature allows even the
This actually increases the complexity of GUI and
leads to more difficulty in design and execution of test novice user to handle the application in the
required manner.
. cases.
4. Consistency in the page layout and arrangement
Approaches of GUI Testing improves the usability of the application.
'I'll
T. TechnicaJ Publications - An up thrust for knowledge
........
. Types and Levels of Testing
~5oftwt!_re Testing
. 2 - 15
Board Questions
1. Describe Graphical User Interface (GUI) testing and
its important traits.
MSBTE : Winter- I 5 . Marks '1
2. Explain·GUI testing with suitable example.
MSBTE : Sunmwr-15. Marks 6, Winter-17. Marks 4
3. Describe any two special tests in testing process.
MSBTE: Summer-17 . Mark-. 4
□□□
n,
Technical PublicatkJns -An up thrust for knowledge
,1,----
• IJF~t; ~ -...- --·-
UNIT - Ill
-,,,,-
·3 Test Management
[i] Test Plannlng 4. Test plan ·ensures all functional and design
requirements as specified in the documentation.
Testing is an important phase which can be planned,
executed, tracked and periodically reported on. Standard Template for Test Plan
~ -
Software TestinE_ Test Maruig~t
3-2
Board Questions • Testing can be suspended at various points of tune
1. What is .test plan ? List test planning activities. and then can be resumed.
U~id-RihiihhliMMMW■ • Some of the suspension criteria include -
2. How to prepare a test plan ? Explain in detail.
o Encountering more thart a certain number
Nkid-&iihliihllMiMHiiW■ defects, causing frequent stoppage of testing
3. State the contents of standard template of a test plan.
emm+ ;;;;;;;;;11,■MtN•
4. . 'What is test plan ? Write its two advantage.
activity.
o Hitting · show stoppers that prevent further
;\ISHTr. · S111111111•r- I 7 . l\1<1rh 1
progress of testing.
5. Give any four advantages of test planning.
o Developers releasing a new version.
MSHTE : Surnnwr-I8. i\l,1rk., 1J
6. Explain how a test plan is prepared. • When such conditions are addressed, the tests
I . •
can
J\ISH Ir : Summn-I9 , Mdrk .. 1J resume.
I3.1.2 IDeciding Test Approach · Board Question
• Test approach is a part of test plan. It identifies right 1. ¼'hy is it essential to setup criteria for testing ? List
type of testing required for the system. any three criteria in different situations.
l\lSRTE : \Vinh>r- 15. M.uk., 1J
• Test approach is a kind of approach in which we
have to decide what needs to be tested in order to I3.1.4 Ildentlfying Responsibilities, Staffing and Training
Needs
estimate size, effort and schedule.' This includes
identifying followi!lg factors - • Testing process requires different people to play
different roles. The most common roles are - test
o What type of testing is to be used for testing
engineers, test leads and test managers.
functionality?
• Each role must accomplish certain responsibilities.
o What scenarios are required for testing the
features? • How to identify responsibilities ?
FoUowing guideline need to be considered for
o What kind of integration testing is required ?
identifying the responsibilities -
o What localization validations would be needed ?
1) Each person should know clearly what he or she
o What kind of non functional tests(tests related to
should has to do.
reliability, performance, security and so on) are
required? 2) List out the responsibilities of each function in
the testing process.
Board Question
3) Everyone should know how his work is
1. Describe the factors considered to decide test strateil
important in performing testing activity.
or test approach. Q@GA@hihiiJiiMi+ 4) Complement and co-operate each other.
I3.1.3 ISetting up Criteria for Testing 5) No task should be left unassigned.
• There are various criteria used for testing such as • Staffing
entry criteria, exit criteria, suspension and
o Staffing is done based on estimation of effort and
resumption criteria.
time available for the project for completion.
• Entry criteria for test specify threshold criteria for
o The tasks in testing are prioritized on the basis of
each phase or type of test. There must be entry
effort, time and importance.
criteria for entire testing '!ctivity to start.
o The people are assigned to tasks based on the
• The exit criteria specify when test cycle can be
requirements of job, skills and experience of
completed. people.
If
~
....... Testiri_g_ _________ 3 - 3
Test MJ,,uigement
-~ 0 people are not haVing the skills for specific
requirements of the job then appropriate ttaining • are the indicates about the completion
Milestones
programs are needed. of key project tasks.
'l"
- - - ;Question .
• Some common test deliverables are -
g 1) Test plan itself
,.. Describe how to identify responsibilities in testing.
2) Test case design specifications
1. DMH-R ;.. ... ,:maca,_
r
am
~
.
0
Supporting tools such as compiler, test I3.1.7 lTesting Tasks
configuration management tool and so on.
0 Appropriate number of licenses of all the
• Various tasks of tester are - ih,
o Identify bugs and errors, describe and send for
software.
revision.
o Operating systems required for the execution.
o Check the implemented improvements.
0 Some machine intensive tests such a_s load tests 0 Test the product until the desired result is
and performance tests.
achieved.
Additional Resource Requirements ...
o Test the software solution on all necessary
o Office space devices and screen resolutions. ·
0 Some supporting staff such as HR. o Test the product compliance with the
requirements.
Board Questions
1. What factors shall be considered while selecting • Estimation is one of the ~porlant testing task.
resource requirements ? There are three phases of estimation -
l\lSRTE : \Vinter- 16. M,trks '1 o Size estimation
2. How to identify resource requirement of test plan ?
o Effort estimation
i\lSB rE : Summer- I 7. l\lark-, ·I
.....
Test Maruig~t
--.;.;.::_
Software Testing 3-4
· 2) Effort estimations
• Effort estimation is derived from size estimation. -~_..rest case Oatabase(TCOB)
For example - if some test case is reused in the
Oefeci RepositOry
project from existing standard library of test cases
then effort involved in developing the test cases is Lo _ configuration
zero. Managment
Respository and
• Effo;t estimate can be given in person days, person Tools
months c:>r person years. , · Fig. 3.2.1
~I 3-5
Test Miinas.ement
I o F_
or each change made in the file appropriate
version of the file must be created.
I [:-.:
'r-.i
·~
o Everyone must get an access of most updated I
version of the file.
• Version control ensures that the test scripts I.! .!I.
associated with a given release of a product are i \
baselined along with the product files. I, l
I)
Working of Test Infrastructure Components
The TCDB, SCM and DR work together by cooperating ·
each other as shown in Fig. 3.2.2.
r\
\
Technical Publications
4. Explain test infrastructure manarment with its
components.
-An up thrust for knowledge
H@~ii+ %· ,i44@13Mi51
..i..'.:
" ",
p ~
·--~1
.;tt!'. ,l - •• .
_ ._..__
~rw •-~
Test Managemen
~
·~
/
~ ,J
Software Testing 3-6 -!_
I
J3.2,2 Test People Management • If any significant cl,aJ18" in made
ct d is in the
the test planteSling then
and aga·
r· :
fi
fl
• People
. management is an important aspect of any that should be re e Ian e must be m . confi gurationlI\
proJect.
• Good people help in .
this changed test P
management repository·
·
·1
I
(1) Achievin~ th~ project target. 13_3_2] Test case specification . .
(2) Commurucaling more effectively. Using test plan as basis, the testing team desi~ lest
(3) Co-operate effectively· case spea'fi ca· tt'on which. then becomes the baSis for
t
• For people management following are general steps preparing individual teS cases. .
to be taken up - . · b d fined as series of steps executed on
' Test case e e
1. Have effective communication with the people. product using predefined set of input dat~, expe~g
2. Build the healthy relationships. to produce predefined set of outputs m ·a given
3. Influence people. environment.
4. Motivate people. Following things need to be identified -
5. Handle ethical issues properly. (1) The purpose of test : The intention for which the
• The team-building exercises should be ongoing and . test is performed is specified.
sustained. The effects of these exercises tend to wear (2) Items to be tested.
out 1:11'der the pressure of deadlines of delivery and (3) Software and hardware environment setup.
quality. · (4) Input data to be used for test case.
(5) Steps to be followed to execute test.
Board Question
. (6) Expected results that are considered to be correct
1. Explain people management in test planning.
MSHT[ : Sumnwr-19 . MMk., '1
result.
(7) Actual result produced after performing tests.
[!!] Test Process (8) Relationship of current test with other tests.
I3.3.1 IBase Lining a Test Plan !3.3.3 !Executing Test Cases
• Test plan is an important document that acts as a • The prepared test Cases has to be executed at
anchor point for entire testing project. appropriate times during the project. For example -
• Using some checklist the test plan is prepared. Each system testing must be executed during system test.
testing project puts together a test plan based on • During the test case executiqn, the Defect
template. If some changes are required in the test Repository(DR) must be updated with - I
r,;:
plan then those changes are made only after careful
o Defects that are fixed currently.
deliberations.
.'
• · The test plan is then reviewed by expert people in
o New defects that are found. l
the organization. • Test team communicates with the development l
team with the help of defect repository.
• It then is approved by a competent authority, who
is independent of the project manager directly • Tests has to be suspended during its run and it l
responsible for testing. should _be r~s~ed only after satisfying the t
resumption mtena. · ,
• After this the test plan is baselined into
configuration management repository. From this • Tests should be run when entry .criteria for the test . j
test plan becomes the basis for testing process of the gets satisfied and should be accomplished only
project. when the exit criteria satisfied.
• On successful execution of test cases-the traceability
matrix must be updated.
'!'11
T. Technical Publications -An up thrust for knowledge
\ '.
-~ -;.....-~,- -
~ , re Testing 3-7
h~ . ~ .
~~ ~ 1 : Prepare six test cases for admission form for college admission.
io11 501-:
est
Jt /fm. ~~~pt .
. nain~ 'at1d p~ompt
for , f<>r ) f ., +. ne)Cfr
sttbsaj_u~t
....
'·'
field.
... ·,,
,.·;. :-,,
le
Ex. 3.3.2: Write important six test cases for the 'Login Form' of the facebook website.
MSBTE: Summer-15, 16, Marks 4
Sol.:
~~~~.,- 1
~,t~~;• •,.
fii
Technical Publications -An up thrust for knowledge
3-8
.;~i#pfay ...
71'lame/pa.ssworp'•
· ._ ; · \~?
· ·w.'·.
fIIIIL-;,f;~m;~,u, ·
..·.. /~i.~pt.aY
acc6unt'.s
It wi~ display
'Pass Cla~s'.
It will
'Fail' .
Ex. 3.3.4 : Write four test cases to test sign-in form of g,nail account. MSBTE: Winter-16, Marks 4
Sol.:
__,,,,,...
~I
i'
~
l·
~
!li!
f~
11
I
;,-;.3.5: Prepare six test cases for home page of marketing site.. MSBTE : Summer-17 . Mark!-> 6
Sol.:
.,,,.
,. Technical Publicatiqns
'M
- An up thrust for knowledge
S0,~
1 ,ware Testing 3. 10
~I ,
- ,
:~::::::~~===========================================~=~::::::_::;;;;;;;iiiill~ielstiMa~nage,,,_
I n: : Illr, MSH
--
Surnnwr-18 . M,irk,
Ex. 3.3.6 : Prepare and write six test cases for simple calculator application.
Sol.: .
;i ,. . ·:,
.·· · l,resuw •·. 0
', 56 # 579:,
~l'\?tfot~~T~f'. It wm 'dispi~y
.· : :ii>\ t~in ;}W the resiiit of .,
123-:111 ,as 12.
~;f~l::Ilt0>'
. .· . ·.-,:,;.c.: ·:~, .: ,:" ·.
Ex. 3.3.7: Prepare and write four test cases for library management system of college ..
MSBTE : Summer- I 8. Mark~ '1
Sol.:
[
Board Questions
1. How test case speci~ t· · MSBTE : Wint..r-15 . M,irk-. H
'J .ca tons useful in designing test cases ?
2. l-Vhat are the thing that · MSBTE : Winl.-r-16. M.irk" '1
. s test case specification shall identify ?
· 3. Describe test case sp ;~ .
eci,.cation of test process.
4. l-Vhat is test case 7 Wh · h · .
· ic parameters are to be considered while documenting test cases ?
MSHTI~ : Wint..r - 15 . 17 . I H. i\l.irk-. '1
During testing constant communication between test team and development team takes place with the
help of a document called test report. ·
Various types of test reports are ~
(1) Test incident report (2) Test cycle.report (3) Test summary report
I3.4.1 ITest Incident Report
• Test incident report is nothing but an entry made in Defect Repository(DR).
• Each defect has unique ID and it is used to identify the incidents.
• A test incident report is a communication that happens through the testing cycle when the defects are
encountered.
• The high impact test incidents or defects are highlighted in the test summary report.
I
A test cycle report at the end of each cycle gives following things -
1) Description of activities carried out during test cycle.
2) Defects that are detected during the test cycle along with their severity and impact.
3) Progress in fixing the defect.from one cycle to next cycle.
4) Outstanding defects that are yet to be fixed.
5) Any variation in schedule.
A report that summarizes the.results of test cycles is called test summary report.
There are two types of test summary reports -
1)_ Phase wise test s1.1Ill;111ary report which is produced at the end of every cycle.
2) Final test summary report: It contains following things -
A) Summary of the activities carried out d~g the test cycle
Technical Publcations - An up thrust for knowledge
Test Mina~
Software Testing .3 . ·12
M",H t f
ort is ,,.ared
,.,,.,
",,111111wr -
•
m test
1111~111••
planning.
• Severity of impact of uncovered defects.
D) Comprehensive assessment and
recommendation for release.
~
q
[UNIT-IV
I =--- I
-
4 Defect Management
~
~ Defect Classlflcatlon and Managamant'
_,·, • · Defect is something b hi . . • th ··1
. . Y w ch the customer requirements do not get satisfied. A defect 1s basically e
difference betwee th
n e expected result and the actual result. . · ·1
Effects of defects
Due to the defects present in the system, customer has total dissatisfaction about the system. Moreover
there are some serious effects of defects as given below -
1. · Performance of the system will not be at the acceptable level.
2. Security of the system can be problematic and there are chances·of external attacks on the system.
3. Required functionality might be absent from the system· which may result in rejection of the system
by the customer.
I
&.1.1 Defect Classification
..
'~tl
YI
~So?,t,ftwa~~re:_2Ti~es~ti~'ngL_ _ _ _ _ _ _ _ _ _ _ _ _ _ ___: 4~_~2~-------========D::'.:eJl:ec:t=Ma=na~gernen::.:.:-!._
Let us discuss them in detail The defects by which the variables do not get
1. Requirement defects : When the developers can initialized properly is a coding defect. pi
not understand the customer requirements 4. Testing defects ·: If the testing is not conducted
' i)
properly, the requirements defect occur. properly then testing defects occur.
The requirement defects can be further classified as - Various types of testing defects are -
u:
i) · Functional defect : If the customer expected 1. Test design defects: If the test plan, test cases, test ,
functionality is not present in the system then it scenarios and test data are not properly defined
is called functional defect. then test design defects occur.
ii) Interface defect: If the defect remain the module 2. Test tool defect : If there is defect in the test tool
when one module is interfaced with the other then it is difficult to identify and resolve that defect.
module then it is called interface defects. One has to conduct manual testing instead of using
2. Design defects : If the software design is not automated testing tools.
correct or created without understanding the Board Questions
requirements thoroughly, the design defects occur. 1. Which are different causes of software defects ?
The design defects occur normally due to the MSH II . : Winln-1 ;", , M,irk-. ,1
algorithm chosen for the design and the design 2. Explain defect classification.
MStHf . : Winier - I 5 . Mdrk-. '1 . Winln-1 Ii . M.irk-. (,
interfaces.
3. ~at ~ deject management ? Give defect classification
Algorithm defects : If the design of algorithm is
unable to translate the requirements correctly to the
in detail. ■JM;if F h@uiiid§~H•
4. Give the defect classification and its meaning.
coding then algorithmic defects occur. MSBTE : Summer- I 6 . Winter-I7. MMk-. ,1
Interface defects : Due to lack of communication 5. Describe the requir ·n
the interface defect occurs. When parameter from details.
one module does not get passed to other module 6. List all defect class
defect in brief.
correctly then interface defect occurs. Similarly due
to look and feel of the application and due to 7. Explain requirement defects and design defects.
MSHTE : Sumnwr-I S M.irk-. ti
navigation problem the user interface defects get
introduced in the system. I4.1.2 IDefect Management
3. Coding defects : ff the coding standards and design Defect management process can be carried out in
standards are not followed properly the coding v~ous phases as - defect prevention, baseline
delivery, defect discovery, defect resolution and
defects occur._For example
process improvement.
Technical PublicatioM · An up thrust for knowledge
~Testing_
---------
Defect Mana~t
4-3
Board Questions
Fig. 4.2.1 Defect life cycle
1. Explain defect life cycle to identity status of defect with
1) New: This is the first state of a defect in the defect praper labelled diagram.
life cycle. When any new defect is found, it falls in a MSTE : Winter- I 5, Winter-17. Marks 4
'New' state and validations and testing are
performed on this defect in the later stages of the
2. Draw_ t~ diagram of Defect I Bu?
explam zts process. ■§M!•
lit
91..cle and
3 j!U',jj!~•§Mff j
defect life cycle. 3. E~lain the defect tracking with defect life cycle
2) Assigned : In this stage, a· newly created defect is diagram and the different defect states.
assigned to the development team for working on MSBTE : Summer-] 6, Marks 8
the defect. This is assigned by the proj~ct lead or 4. Describe defect life cycle with neat diagram.
the manager of the testing team to a developer. MSBTE: Summer-17, f8, 19, Winter-18 , M,irks 4
3) Open : Here, the developer starts the process of !4.2.2 !Defect Template
analyzing the defect and works on fixing it, if
required. If the developer feels that the defect is not Defect template is a document used by every
appropriate then it may get transferred to any of organization for capturing defect data.
.».i?fiJ.:I
ht//:., '• · f th · ·. •.
~[(i},:,rxt,,,,ti:l'~zcur m,ar1y ? ,· ,;;~ :'
!%ttPl1ases.'- , . The · defect '
Assigned-to :
,not aware of the de_fect · 1. Explain the defect template with its attributes.
introducti on phase, the MSBTE : Winter- I 6. M,uk ... ti
> p~rson doing an analysis 2. Enlist any six attn'butes .§( de~. Describe them with
.·• inay add this defect · suitable ex~mple. ■§ ;Jf jjj.,hiiJIG§bdd
introduction in defect> 3. Explain defect template.
Ai{t$mplate. This also helps in MSRTE : Sumnwr- 18. Mcirk.., tJ
;};Ji\}nti,fying defect leakage _ 4. Which parameters are considered while writing good
f~x' ftQIO orie phase to another.
~- ,,'.;_-',)'
defect report ? Also write contents of defect template.
' ' 1e project when MSRTE : Winter- I 5 . 17 . Mcirk ... tJ
' tind is added
5. Describe defect template with its attriputes.
,:::-.:
MSRTE : Summer- I 9 . M,irk ... tJ
• Contingency planning means the actions initiated ■ More defects mean quality of software is
poor.
by organization when preventive or corrective
actions fail and risk actually occurs.
rd Questions
4.
i~iii■M@dMtiMWISiWWNGiriiMN
State how to minimize risk impact while estimatinf
defect. •®MMR liiiilihiid3MW .
5. What do you mean by 'Defect Impact' ? Explain haw
to estimate the defect impact.
MSBTE : Summer- I 6, Marks 6
l
J'
!
~
[llNIT-V ]
--
[iJ Manual Testing and Need for Automated Definition : Manual testing is the process of using the
Testing Tools functions and features of an application as an end-user
would in order to verify the software is working as
introduction
required. With manual testing, a tester manually
• Now a days, rigorous application testing is a critical conducts tests on the software by following a set of
part of all software development life cycles. The pre-defined test cases.
need of the same is greatly increasing as the
• In manual testing, testers manually execute test
organizations are developing mission - critical
cases without using any automation tools.
systems to support their business activities in day to
• It requires a tester to play the role of an end user.
day life.
• Any new application must be manually tested
Also it becomes necessary to ensure that these
before its testing can be automated.
systems are reliable, built according to specification
• Manual testing requires more effort, but is
and have the ability to support business processes.
necessary to check automation feasibility.
May internal and external factors are forcing the
organizations to ensure a high level of software • Manual testing does not require knowledge of any
quality and reliability. testing tool.
• One of the software testing fundamental is "100%
[1]J Manual Testing automation is not possible". This makes manual
l\lSBJ'I \Vi111<•1 - I:. . lh . 17. IX . S1111111wr - 19
testing imperative.
• To ensure the completeness of software , the testers
and the developers often follow a written test plan. !s.1.2 IAdvantages of Manual Teating
This leads them through a set of important test We have seen what is manual testing with its
cases. definition. Now, let's see what are the advantages of
• These test cases are physically exerted upon the using this technique.to test the software.
software to test many it for many factors. This is Some of the advantages are as listed below :
what is the manual testing is!!! 1. It is preferable for products with short life cycles.
• Manual testing is the process of manually testing 2. It is preferable for products that have GUis that
software for defects. It requires a tester to play the constantly change.
role of an end user whereby they use most of the 3. It requires less time and expense to begin
application's features to ensure correct behaviour. productive manual testing.
i • To guarantee completeness of testing, the tester 4. Automation cannot replace human intuition,
often follows a written test plan that lead~ them inference, and inductive reasoning.
through a set of important test cases.
(5-1)
.
Testing Tools and Measurements
Software Testing 5-2
7. Manual tests don't scale well. As the complexity
5. Automation cannot change course in the middle of
a test run to examine something that had not been of the software increases the complexity of the
previously considered. testing problem grows exponentially. This leads-
6. Automation tests are more easily fooled than to an increase in total time devoted to testing as
human testers. well as total cost of testing.
7. It is preferable for products with s_h ort life cycle~. 8. Manual testing is not consistent or repeatable.
8. It is preferable for products that have GUis that Variations in how the tests are .performed as
constantly change. inevitable, for various reasons. One tester may
9. It · requires less · time and expense to begin approach and perform a certain test differently
productive manual testing. from another, resulting in different"results on the
10. Automation cannot replace human intuition, same . test, because the tests are · not being
inference, and inductive reasoning. performed identically.
11. Automation cannot change course in the middle of 9. Lack of training is the common problem,
a test run to examine something that had not been although not unique to manual software testing.
previously considered.
10. GUI objects size difference and color
12. Automation tests are more easily fooled than
combinations are not easy to find in manual.
human testers.
· te·sting.
13. Batch Testing is not possible, for each and every
11. Not suitable for large scale projects and time
test . execution Human user interaction is
mandatory. bound projects.
12. Batch testing is not possible, for each and every
I5.1.3 I Disadvantages of Manual Testing / Limitation of test execution Human user interaction is
Manual Testing MSBTE: Winter-15. 16. 17. 18
m
-Technical Publications - An up thrust for knowledge
i ~"
~
------~
~ ;m;~~ ·----- -
~re-Testing_
~ comparison between 5-3 Testing__ Tools and Measurements
~ Automation Testing Manual Testing and
IL1M-m::::::sw:
AllhhliiiMl:t
Needs of automated testing tools can ·be listed as
follows:
1. Speed : Think about how long it would take you to
manually try a few thousand test cases for the
windows calculator. You might average a test case ,
every five seconds or so. Aut~mation might be able
j9f
q~ej{tiy~t:.; >:case·
· 'sF
?/;;-~! ·~~:'::·:· ~::~- ~ : '.:... to run 10, 100 even 1000 times that fast.
2. Efficiency : While you are busy _running test cases,
you can't be doing anything else. If you have. a test
--~--
i;~,li!~'
.;,•• . .• .• . ·... '.
tool that reduces the time it takes for you to run
your tests, you have more time for test planning
and thinking up new tests.
3. Accuracy and Precision : After trying a few
hundred cases, your attention may reduce and you ·
will start to make mistakes. A test tool will perform .
the same test and check the result perfectly, each
and every time.
4. Resource Reduction : Sometimes it can be
physically impossible to perform a certain test case.
The number of people or the amount of equipment
required to create the test condition could be
prohibitive. A test tool can used to simulate the real
world and greatly reduce the physical resources
Board Questions necessary to perf?rm the testing.
1. DifJ_erentiate between manual testi\$ and automation 5. Simulation and Emulation: Test tools are used to
testing. \ii" HMmS @111365• replace hardware or software that would normally
2. Give any four ·diff!rence between manual and interface to your product. This "face" device or
automated testing. MSBTE : Summer- I 8, Marks 4 application can then be used to drive or respond to
I
f 5.1.5 Need of Automated Testing Tools your software in ways that you choose-and ways
that might otherwise be difficult to achieve.
MSBTE : Winter-15 , Summer-16. 19
i. An automated · testing tool is able to playback pre- 6. Relentlessness : Test tool and automation never
recorded and predefined actions, compare the tire or give up. It will continuously test the
software.
results to the expected behavior and report the
success or failure of these manual tests to a test Board Questions
,.
' .
MSBTE: Summer-19. Mark!> 4
50
/
Testing Tools and Measurements
Software Testing 5-4 - ,l ' l
. . t Ex~cutionttn·: Automated testing
I5.1.6 IWhy Automated Testing ??? 6. Distributed TeS
'th distributed tes g
feature. One can
• Difficult to test for multi lingual sites manually · comes WI •pts on more than one
. ·1 xecute the test sen
• Does not require human intervention easi .Y e . hared network or server
. computer on a s 1 •
• Increases speed of test executi~n . So more than one too 1s not
simultaneous1Y· ' . 1 •
• Increase test coverage d d b t nly one automated testing too will be
· neee, uo ·
• Manual testing can become boring and hence error d d
nee e .
prone. R b t Reporting : Automation testing
7. Easy and o us . ch
r;--:i
L=!J Advantages and Disadvantages of using· Tools tools have this amazing · benefit of tracking ea and .
r;-:;-;, ·
·every • test scnp. t · Each and every test scnpt·
~ Advantages of using Tools . visual logs. These reports
J\ISH 11 .. S11111111<>1 -16 . 17 . I~ . Winll'r-16 I7 executed can be seen m
can dearly show the no. of test scripts already
There are many benefits of using the testing tools for
executed, scheduled, their reported bugs and how
supporting the software testing process. They are :
they had.been fixed.
1. It Saves Time : Most of the testers find problems
with the time required to write long test scripts to 8. Testing .· Capabilities : When it ~omes to
perform .testing especially when it is regression capabilities, automated testing tools can test the
testing. This takes a lot of time of the testers and the web applications on the various browsers available
delivery of the bug-free application is delayed. in the market via browser testing automation.
A· delayed product delivery is not good for any Also, wheri it comes to mobile application testing,
business. o~e can test them on various devices. This is next to
2. Checks Quality: Once manual testing procedures impossible to achieve with manual testing.
are finished, if one applies automated testing 9. Improves Test Coverage : Many a time, there are
processes, it helps to cross-check the test results. test cases with more than thousand lines of code ·
Thus, improves the quality .of the · manual test and to write it and test it would be very difficult
scripts. with manual testing. This can be easily done with
3. Early Bug Detection : While developing a software, automated testing. Also, these tools will make sure
bugs are easily found when software testing is about the in and out of the applicat;ion like the
perfonned via automated software testing tools. databases, UI, web services, etc. works according to
This can save a lot of time and efforts on the SDLC.
the requirements. Thus, improving the overall test
4. Perlorming Tests 24/7 : The tests are exerted coverage.
without stoppage day and night. The machines and
10.M~power Utilization : This is relative to the
tools never get tired. Whatever may be the
above benefits. · Implementing test automation in
quantity if testing, can be performed without any
kind of human intervention and continuously. The testing processes wili require les~ manual efforts.
test results are also produced automatically after Thus, it will decrease the number of people on just
the tests are performed. one particular project and can utilize them in the
5. Reusability : This goes perfectly very easy fo various testing projects.
understand with automated testing. When the have 11.Improves Team Motivation: This is a big challenge
test scripts are already prepared using test in the testing industry. When the manpower is
automation tools, they are saved for the · future distributed among various testing projects, the
requirements. So, they can be _ utilized as many
team can learn about new challenges, new bugs,
times as the testers want especially for automating
new skill sets, etc. ·
. regression testing.
a·g ain and again. When this done with automated manual repeated tasks. Ultimately it will reduce the
testing, not only the results are accu~ate, but also costing of the project.
·saves time. 21. Correct Estimation After some iteration of
, 14. Overcomes Failures of Manual T ti Th _automation testing, person would be aware of the
_ . _ es ng : ere are
times h · exact time required for the execution. So ftte correct
w en accurate . test results are .next to
impo_ssible with manual testing·, 11.ke m
. the stress estimate with more accuracy can be given .
testing, test automation has proved to be a benefit Board Questions
here.
1. Elaborate the advanta,es (an"'ur) o' usi; the test
15. Improves ROI : The most important benefit is the automation tools. $hHQ\hiil]i# $65•
return on investment. Obviously,·when planning to 2. Explain three types of product metrics.
MSBTE : Sumnwr- 17 . M.nk-. tl
invest in automated testing tools, first thing
3. Give any two advantages and any two disadvantages
needed is to figure out how it will be benefited of using testing tools
with those tools in terms of ROI.
MSHTE : Summ er- I 8 . 1\1,irk-. 11
The cost of manual testing includes th~ time, cost of
manual hours and the efforts of the testers, QA
!
·, s.2.2 Disadvantages of using Testing Tools
managers, etc. And, if the · automated testing tools Though the automation testing has many advantages,
are available, testing will be faster, easily, it has its own disadvantages too. Some of the
disadvantages are :
efficiently, accurately and would be delivering bug-
free application within the delivery time period. 1. Proficiency is required to write the automation test
scripts.
_16. Repeatable : Execution of the same set of
automation test cases is possible. That's too without 2. Debugging the test script is major issue. If any error
any human intervention and faster. is present in the test script, sometimes it may lead
to deadly consequences.
17. Reusable : Re-we of the same set of automation
test cases on a different version of an application is 3. Test maintenance is costly in case of playback
possible. Also the same version of an application methods. Even though a minor change occurs in the
on a different browser can be tested wi_th the same GUI, the test script has to be rerecorded or replaced
by a new test script.
test cases.
18. Reliable : Automation is no~g but the program. 4. Maintenance of test data fil~s is difficult, if the test
script tests more .screens.
·If it is written as per expectation, then there are no
chance automation program will do anything 5. Test automation requires lot of efforts at initial
which is not written. If any program is in working stage.
Every test tool uses any one of the programming more interactive and innovative while testing.
languages (Example UFT supP,orts VBScript, Innovation from the automation while execution
Selenium supports Java, Perl, PHP, C#, PHP and cannot be expected.
Ruby) to write test scripts. So in order to create and 17. Maintenance time : If an application changes, it is
• edit · test scripts programming knowledge is needed to spend separate time to update the
mandatory. · automation scripts. ·
In manual testing, no programming knowledge is 18. Less number of bugs identified : Automation will
required. execute same test cases again and again, so over the
11. Test tools have environment limitations. period of time Automation will become less
Test tools have some compatibility issues with effective.
operating systems and browsers etc. Some of the above disadvantages often cause
Example: damage to the benefit gained from the automated
QTP supports windows operating environment scripts. Though the automation testing has pros
only, doesn't support other operating environments and corns, it is adapted widely all over the world.
like UNIX, Macintosh etc ...
..
- 'l>!l !lRllf- -i. _~·-·•··-------
· ,~Testing ements·
5-7 Testing Tools and Measur
saard questions · · an also be
iv. Other than software code, static ana1ysis c
1. What ared the advantages and d zsa
. d · '
vantages ol using carried out on things. · like, static analysis of
automate tools for testing? List " · of websites (for
• ana1ys1s
· any two each. requirements or static
. IMii■MWMWIMGMiiii example, to assess for proper use of accessibility
2. What is automated testing 7 W ·t d
• · rz e own advantages
of using automated testing tools . ,., • . tags or the following of HTML standards).
m so, tware testing
IUfo ■ MtiMMS,; v. Static analysis tools for code can help the
-------- ■11nms111
,
ai1J Features of Test Tool . Guid r
Dynamic Testing Tool~
·
e ines for Static and
developers to understand the structure of the code,
and can also be used to enforce coding standards.
MSRTE : S11nm1Pr- I 5 . 16 . 19 Features or characteristics of static analysis tools are :
Test tools : Software testing tools .. Too1s from a • To calculate metrics such as cyclomatic complexity
software testing context can be d efi ned as a. product or nesting levels (which can help to identify where
that s_upports o~e or more test activities right from more testing may be needed due to increased risk).
pJanru~g, requirements, creating a build, test • To enforce coding standards.
execution, defect logging and test analysis.
• To analyze structures and depenp.encies.
Classification of tools : Tools can be classified based
• Help in code understanding.
on several parameters. They include :
• To identify anomalies or defects in the code.
, The purpose of the tool
2. Dynamic Testing Tool MSRTE: Summer-15. WintPr-18
• The activities that are supported within the tool
i. Dynamic analysis tools are 'dynamic' because they
. • TI:te type/level of testing it suppo:i:ts require the code to be in a running state. They are
• The kind of licensing (open source, freeware, 'analysis' rather than 'testing' tools because they
commercial) analyze what is happening 'behind the scenes' that
• The technology used. is in the code while the software is running
(whether being executed with test cases or being
This section deals with the major classification of
used in operation).
testing tools and how they are used.
ii. Let us take an example of a car to understand it in a
1. Static Testing Tool better way. If you go to a showroom of a car to buy
i. Static analysis tools are generally used by it, you might sit in the car to see if is comfortable
developers as part of the development and and see what sound the doors make - this would be
static analysis because the car is not being driven. If
component testing process. The key aspect is that
you take a test_drive, then you would check that .
the code (or other artefact) is not executed or run
how the car performs when it is in the running
but the tool itself is executed, and the source code
mode e.g. the car turns right when you turn the
we are interested in is the input data to the tool.
steering wheel clockwise or when you press the
iL- These tools are mostly used by developers. break then how the car will respond and can also
iii. Static analysis tools are an extension of compiler check the oil pressure or the brake fluid, this would
tecfulology - in fact some compilers do offer static be dynamic analysis, it can only be done while the
analysis features. It is worth checking what is engine is running.
available from existing compilers or development Features or characteristics of dynamic analysis tools
environments before looking at purchasing a more are as follows :
sophisticated static analysis tool. i. To detect memory leaks;
ii. To identify pointer arithmetic errors sucll as null
pointers;
Technical Publications -An up thrust forknowledge
hr
Testing Tools and Measur~
Software Testing 5-8
zers : It ensures_that all logic
b. Coverage anal Y
Hi. To identify time dependencies.
aths are tested. .
• Eventually when your computer's response time P al r . It examines the effects of
I terface an yze · ·
gets slower and slower, but it get improved after c. n . bl and data between modules.
passing vana es .
re-booting, .this may be because of the 'memory Th find unused code and code
leak', where the programs do not correctly d. Path tests : ey
with contradictions,
release blocks of memory back to the operating . . easurement tools can be used
system. Sooner or later the system will run out of • Code complexity m .
complexity of a given code.
memory completely and stop. Hence, rebooting to measure the
filing tools can be used to
restores all of the memory that was lost, so the Similarly, data-pro
• b . Code-profiling tools can be
performance of the system is now restored to its optimize a data ase. .
. . de Test-generators are used
normal state .. used to optiIIUZe co ·
- I fonn code . Syntax-
for generating a test p an
• The~ tools would typically be used by
developers in component testing and component checking .to~ls are used to verify correctness of
integration testing, e.g. when testing code.
middleware, when testing security or when 2. t Dynamic test tools
looking for robustness defects. Dynamic testing tools are used at different levels of
• Another fonri of dynamic analysis for websites is testing starting from unit testing and which may go
to check whether each link does actually link to up to system testing and performance testing.
something else (this type of tool may be called a • These tools are generally used by tester.
'web spider'). The tool does not know if you
• These tools test the software system with _live
have linked to the correct page, but at least it can
data. e.g.
find dead links, which may be helpful.
a. Test driver : It inputs data into a module -
Testing tools can be classified into following two
categories : under-test (MUT)
1. Static test tools 2. Dynamic test tools b. Test beds: It simultaneously displays source .
code along with . the program under
1. Static test tools
execution.
.
Static
.
testing tools.are used during static analysis of
'
a system. c. Emulators : The response facilities are used to
·They do not involve actual input and output. Static emulate parts of . the system - not yet
testing tools : are used throughout a software developed.
development life cycle, · e.g. tools used for d. Mutation analysers The errors are
ve~fication purposes. deliberately fed into the code in order to test
• there are many varieties of static testing tools fault tolerance of the system.
used by different people as per the type of • There are many different tools used for dynamic
system being developed .. .testing.
• These tools do not involve actual input and • Some of the areas covered by testing fools are :
output. Rather, they take a symbolic approach to 1. Regression testing using auto~ated tools.
, testing, i.e. they do not test the actual execution
2. Defect tracking and commurucation
. . systems
of the software. e.g.
used by tracking and communication.
a~ Flo_w analyzers : Ensure tl}e consistency in
Performance, Load, stress-testing tools.
data flow from input and output.
hi
Technical Publications - An up thrust for knowledge
L
Testing MeiJSUremetJfS
Testing Tools and
5-9
QuestJona _ f available in
Explain· needs of automatiQn testmg
. Also, does the tool have all eatures .
.;;
- - - -- -- - - - -- - - - - - -- -- -· -- ------- - -
Software Testing 5-10
Testing Tools and Mmsurtmtnta
-
i. While introducing t:he tool in the organization Board Question•
1.
.
·
Enlist factors considered for selecting tesY!
.
toolt
.
-■..SMA::!ii~M•
it must match a need within the organization,
and solve ~t need in a way that is both test automatwn. ,--·-
. Mnt es for selecting static test tools ? Also
effective and efficient. 2 Which are r- ur
. list any two available test tools (static) .
.ii. The tool should help in l;>uilding the strengths
of the organization and should also address its E 1. t factors considered ~ selecti'!S__a testiM tool for
weaknesses.
3· n rs . ·
test automation.
phi&&&j;ilMM
-------
• · The organization needs to be ready for the changes 4. Explain criteria to select testing tool.
l\lSHII S111111111•1 - l'J '.\l,11I,, I
that will come along with the new tool.
i. If the current. testing practices are not good I5.4 IWhen to use Automated Test Tools, Testing
·enough and the organization is not mature, then using Automated Tool
it is always recommended to. improve testing I5.4.1 IWhen· Does Test Automation Make Sense ?
practices first rather than to try to find tools to
Automated tests are a very useful and impressive tool
support poor practices. . Certainly, we can
used to make testing more efficient. However,
sometimes improve our own processes in
automated tests are not suited to all projects - this may
parallel with introducing a tool to support those
be due to lack of time available, or 4ue to technical
.practices and we can always pick up some good
limitations.
ideas for improvement from the ways that the
tools work. Automated tests take time.to create. Depending on the
testers, it can take 3-10 times the amount of time to
ii. Do not depend on the tool for everything, but it
create an automated test as it takes to run the same test
should provide support to your organization as
manually. Therefore, automated tests will only start to
expected.
be valuable when they are run more than 3-10 times.
The following factors · are important during to.ol
Automated tests are suitable for the following
selection:
purposes:
i. Assessment of the organization's maturity (e.g.
readiness for change); - Regression testing for a stable system that will be
ii. Identification of the areas within the organization run on a regular basis.
where tool support will help to improve testing - Fast data creation in test systems where the
processes; database must be wiped on a regular basis.
iii. Evaluation of tools against clear requirements and i. When there.are many repetitive tests.
objective criteria; ii. When there are frequent regression ~sting
iv. Proof-of-concept to see whether the product works iterations.
as desired and meets the ~uirements and
iii. When you need to simulate large number of
objectives defined for it;
users who are using the application resources.
v. Evaluation of the vendor (training, support and
iv. When AUT is having comparatively stable UI.
other commercial aspects) or open-source network
of support; v. When you have large set of BVT cases.
vi. Identifying and planning internal implementation vi. .When you can't rely solely on manual test
(including coaching and mentoring for those new execution for critical functionality. .
to the use of the tool).
~Testing _,1 MetlB"mr,ents
Testing Tools arw
,: 5-11
• Automated tests are NOT su'tabl
1 . fo .
e r the following Type• of Framework• : . orks
purposes: tin framew
Typ1'cally, there are four test automa o · · the
- Testing new functionality thi h
- s s ould be done . that are. adop te d popular while automating
manually before automated te ts
s are created. applications : .
- Regression testing systems that
. are expected to . • Data Driven Automation Framework
have significant user interface .changes. Large
• Keyword Driven Automation Framework
~ges to the user interface require a lot of
• Modular Automation Framework
mamtenance for automated tests.
• Hybrid Automation Framework.
. ·.
When automating tests' 1·t is
· ·
wise to only automate as
rnany tests as your team can easily maintain. If some Tool• that are uaed for functlonal automation :
tests are b_eco~g difficult to maintain, it may be
worth cons1denng retiring those tests.
· Above all, reme~ber that automated tests will never
detect as many bugs as a human tester executing the
same steps. This is because the human tester's eyes can
pick up many things, whereas the test will only notice
, , what it is programmed to notice.
Popular tools that are used for non functlonal automation :
15.4.2 I Testing using Automated Tools
(Test Automation)
.-
------· ----r
Testing Tools and Measuremen!!_
• Metrics is used to improve the quality and The process involved in setting up the metrics· :
productivity of products and services thus
achieving customer satisfaction.
• Easy for management to digest one number and
drill down, if required.
• ,Different Metric(s) trend act as monitor when the
process is going out-of-control.
• Metrics provides improvement for current process.
• In software testing there are three main areas which
needs to be considered while thinking about metrics
and measurement.
.:Z:&&.::::wwws ...:a::e
~.:".l'M
Software Testing
• Defect Density
%ge Test cases blocked = (35 / 100) * 100 = 35 %
• Customer Problems
Board Question • Customer Satisfaction.
· 1. Define metrics and . measurements. Explain need of Mean Time to Failure : It is the time between failures.
software measurement. This metric is mostly used with safety critical systems
MSBTE : Summer- I 5. Winter-17. Marks 4
such as the airline traffic control systems, avionics, and
I5.5.4 IProduc;t Metrics and Process Metrics, Object weapons.
· Oriented Metrics in Testing Defect Density: It measures the defects relative.to the
l5.5.4.1 lProduct metr~cs and Process metrics software size expressed as lines of code or function
point, etc. i.e., it measures code quality per unit. This
MSBTE : Winter-16
metric is used in many commercial software systems.
· -Software metrics can be classified into three categories Customer Problems : It measures the problems that
Product metrics - Describes the characteristics of customers encounter when using the product. It
the product such as size, complexity, design contains the customer's perspective towards the
features, .performance, and quality level. problem space of the software, which includes the non-
defect oriented problems together with the defect
• Process metrics - .These characteristics can be used
problems.
to improve the development and maintenance
The problems metric is usually expressed in terms of
activities of the software. Problems per User-Month (PUM).
• Project metrics - This metrics describe the project PUM = Total Problems that customers reported (true
characteristics and execution. Exampl~s ~elude the defect and non-defect oriented problems) for a time :
number of software developers, the staffing pattern period + Total number of license months of the
over the life cycle ~f the software, ~ost, schedule, software during the period
and productivity. Where,
Some metrics _b elong to multiple categories. For Number of license-month of the software = Number
example, the in-process quality metrics of a project are of install license of the software x Number of month.s
··: both process metrics and project metrics. in the calculation period
• Initial plan
- Actual
0
Day 1 Day 2 Day 3 Day 4 Day 5 Day 6 Day 7 Day a Day 9 Day 10
• Defect rate
-----Fix rate
0 2 3 4 5 6 7
Time
The chart for the defect fix rate is as shown in Function Points Per Measuring the
Week
Fig. 5.5.5. productivity of a development team by how many
Productivity Matrix: Productivity metrics are ways to function points they impl~ment in a month or week.
measure how much is produced for an input such as Story Points : Development productivity can also be
an hour of work. They are commonly used to manage measured by story points per week. ·
and improve performance. Units Per Hour : The number of units completed in an
Productivity was defined as how many "simple tasks" hour by a production line.
can be delivered by day. It can be computed at various Average Handle Time : The average time to handle a
levels within a project: individual, profile, task phase customer service request such as a refund. Used alone
or project. this can be a dangerous metric that encourages poor
The_definition "simple task" will always raise heated service. Typically, tl:tls is a secondary measurement
conversations; _we finally define it as the amount of after quality metrics such as customer satisfaction.
time required by a resource to deliver something and · Revenue Per Employee : A broad metric to measure •
settle it to five hours (of course some simple tasks take the productivity of an organization. Calculated by
less or more, but we settled for'that number). dividing ~evenue by total employees.
Given our definition "simple tasks that can be Revenue Per Salesperson : A common sales
delivered by day-_8 hours-" the formula was defined productivity metric is simply to look at how much
as: revenue was generated per salesperson.
Productivity= ((Planned Effort/ 5) / Actual Effort) *8 Labor Productivity : Productivity can be measured for
The following are common examples of productivity a nation, region or industry by calculating GDP or _
metrics. revenue per hour _worked. Generally · speaking,
-Lines of Code Per Day : The amount of source code productivity increases over time due to technological
produced per software developer per day. This and process improvements.
measure isn't pa_rticularly accurate ·as much code is
3. Project metrics :
autogenerated or cut and pasted.
• The first application of project metrics occurs during
estimation-Metrics from past projects are used as a
basis for estimating time and effort.
. M
Technical Publications - An up thrust for knowledge
.Testing Tools and Measurements
Softwiire Testing 5-20
ctional point metrics can be used
• As a project proceeds, the amount of time and effort Lines of code and fun .
. b' ct-oriented software proJects.
expended are compared to original estimates . . for estimating O Je . .
. are not appropnate m the case
However, these metncs
• As technical work commences, other project metrics . . al ftware development as they do not
of increment so
become important-production rates are measured tails for effort and schedule
provide adequate d e . .
(represented in terms of models created, review bj ect-oriented pro1ects, different
estimation. Thus, orf O •
hours, function points, and delivered source lines of . h been proposed. These are listed
sets of metncs ave · •
code)-Error uncovered during each generic
framework activity (i.e, ~ommunication, planning, below.
• scripts : Scenario scripts are a
· modeling, construction, deployment) are measured. • Number of scenano
which depict the interaction
sequence of steps, .
Use of Project Metrics the application. A number of
between the user and
• Project metrics are used to-Minimize the scenarios 'is directly related to application size and
development schedule by making the adjustments
number of test cases that are developed to test the
ne~ssary to avoid delays and mitigate potential
software, once it is developed. Note that scenario
problems and risks-Assess product quality on an
. ongoing basis and, when necessary, to modify the scripts are analogous to use-cases .
technical approach to improve.quality. • Number of key classes : Key classes are
• In summary-As quality improves, defects are independent componen~, · which are defined in
minimized-As defects go down, the amount. of object-oriented analysis. As key classes form the
rework required during the project is.also reduced- core of the problem dom·ain, they indicate the effort
As rework goes down, the overall project cost is required to develop software and the amount of
reduced 'reuse' feature to be applied during the ~evelopment
• Project metrics can be consolidated to create process process.
metrics for an organization
• Number of support classes : Classes, which ·are
l
/ 5.5.4.2 Object Oriented Metrics required to implement the system but are indirectly
It is widely accepted that object oriented development related to the problem domain, are known as
requires a different way of thinking than traditional support_classes. For example, user interface classes
structured developmentl and software projects are and computation class are support classes. It is
•
shifting to object oriented design. possible to develop a support class for each key
· The main advantage of o~ject oriented design is its class. Like key classes, support classes indicate the
modularity and reusability. Object oriented metrics are effort required to develop software and the amount
· used to measure properties of object oriented designs.
of 'reuse' feature to be applied during the
Compared to structural development, object oriented
development process.
design is a comparatively new technology. The
metrics, which were· useful for evaluating structural • Avera·g e number of support qasses per key class :
development, may perhaps not affect the design using Key classes are defined early h\ the software project
00 language. while support classes are defined throughout the
As for example, the "Lines of Code" metric is used in project. The estimation process is simplified if the
structural development whereas it is not so much used average number of support classes per key class is
in object oriented design. Very few existing metrics (so already known.
called traditional metrics) can measure object oriented
design properly.
T&chnical Publications -An up thrust for knowledge
«
I ,
5 - 21
Software Testing
□□□
(S -1) .
SOLVED SAMPLE TEST PAPER
. - II
.
Software Testing
T.Y. Diploma (Sem. V) Computer Engg. Group (CO/CM/CW)
· [Total Marks : 20
Time : 1 Hour]
,..
Instructions :
1) All questions are compulsory.
2) filustrate your answers with neat sketches wherever necessary.
3) Figures to the right indicate full marks.
4) Assume suitable data if necessary.
S) Preferably, write the answers in sequential order.
[8]
Q.1 Attempt any F9UR.
a) Enlist th'! states in defect life cycle. (Refer section 4.2.1)
b) Give any. two advantage~ ofmanual testing. (Refer section 5.1.2)
c) Enlist different types ofdefects. (Refer section 4.1.1)
d) Explain the need for testing tool (Any two points). (Refer section 5.1.5)
e) Enlist the techniques for finding defects. (Refer section 4.3.2)
f) Specify the any two criteria that should be considered before selecting any testing tool.
(Refer section 5.3)
Q.2 Attempt any THREE. [12)
a) Differentiate between manual testing and automation testing (Any four points). (Refer section S.1.4)
· b) What do you mean by 'Defect Impact'? Explain how to estimate the def~ct impact. (Refer section 4.3)
c) Explain the importance ofsoftware metrics. (Refer section S.5.1)
d) Explain defect management
.- .
process·in detail. (Refer section 4.1.2)
e) What are types of manual testing metrics. (Refer section S.S.3)
f) Explain the defect template with its attributes. (Refer section 4.2.2)
□□□
1
SOLVED SAMPLE QUESTION PAPER
Software ·Testing
T.Y. Diploma (Sem. V) Computer Engg. Group (CO/CM/CW)
I •
[Total Marks : 70
Time : 3 Hours)
Instructions :
· · <s~ar>·
. . ·• -
Solmi Sample PIIJ'ff's
SofttNre Testing s. 4 (12)
Q.S Attempt any TWO of the following.
6 12
a) W?rar is walkthrollgh ? Give advantages and disadvantages of ii. (Refer 9ectlon 1. - · >
b) Write imporranr sil: resr cases/or the 'Login Form· of the Facebook website. (Refer eumple J.J.l)
c) Describe defect template with its attributes. (Refer sttdon 4.2.2)
Q.6 Attempt any TWO of the following. (12)
a) . Draw the.flow gmphfm·.finding maxim,,m of three numbers and deri ve the test cases using cyclomatic
· comple.¥.ity. (Refer example J.6.1)
b) Differentiate between alpha testing and beta testing (Any six point). (Refer section l.5.l)
c) ~fine metrics and meas11T'ements. Explai,i need of software measurement. (Refer section 5.5)
□□□
ll 11 lll \II
-------ii.ii~ 9 789389 18004