SlideShare a Scribd company logo
SE-381
Software Engineering
BEIT-V
Lecture # 28
Testing (1 of 2)
Testing Principles
[Sch96] Ch – 5
• Purpose of Testing
– To detect faults – as many as possible
and as early as possible
– Correction of faults at early stages is
cheaper
– To produce high quality Software
• Testing as an Independent stage!
• Testing Integrated to each phase of
SDLC and Acceptance Testing of the
final product
Testing Intro (Contd.)
• Verification & Validation
– Verification refers to the process of determining
whether a phase has been correctly carried out,
and it takes place at the end of each phase
– Validation is the intensive evaluation process
that takes place just before the product is
delivered to the client – to determine whether the
product as a whole satisfies its Specifications
» Conforms to IEEE Software Engineering Glossary,
IEEE 610.12, 1990
Verification & Validation
• Barry Boehm 1984
– Verification: Are we building the Product Right?
– Validation: Are we building the Right Product?
– The former concentrates on the process and
later on the product.
– V & V and Testing are used alternatively by
different texts, but Schach uses Testing with
broader meanings encompassing Process as
well as Product
Types of Testing
Non-Execution Based
Testing
– Applicable to earlier
phases as well as
Coding phase
– Mostly comprised of
Walkthroughs and
Inspections of
Documents, Design
and Code
Execution Based
Testing
– Corresponds to the
phases when code is
available
– Applicable to
Implementation,
Integration and
Maintenance phases
Software Quality Assurance
• In Engineering Disciplines
– Quality is “Adherence to Specifications”
• Accordingly, the Quality of Software is
– the extent to which the product satisfies the
Specifications
– Its achievement needs ‘Effort’ and
‘Mechanism’
– SQA group should be amongst the ‘Strongest
groups’ in the Software Development setup
like Quality Control Department in Industry
SQA Group
• MUST ensure
– Correct Product is produced
– Product has been produced by following the
right process.
– At the end of each phase group should verify
that the produced deliverables conform to the
previous and next stage requirements
– That Software Process and organizations
capability to produce quality software is
improving
SQA Group (Contd)
– Should comprise of skilled, technical, Senior
members with expertise in varied areas of SD
– Number of its members should be proportional
to the scope and amount of SD undertaken by
the setup
– For small setups of <4 developers separate
group will be an overhead, so the individuals
should ensure SQA of parts developed /
authored by others
– Separate SQA Group costs but brings in more
benefits (in terms of repute and more work)
resulting from the delivery of High Quality
Software
SQA Group (Contd.)
• Managerial Independence
– The group should directly report to
CE/CEO of the setup
– Since it’ll have to make important, as well
as seemingly ‘detrimental’ decisions eg
“Buggy in-Time delivery” or “Bug-free (or
less buggy) delayed delivery”, and resolve
‘Conflicts of Interest’ among different
groups, so SQA Group should have
Managerial Independence
Non-Execution Based Testing
– Mostly comprised of document(s), Design and
Code reviews, and can be conducted through
– Should be done by a Team consisting of
members, most of whom were not involved in
the respective phase development
– Reviewing should be done independently by the
team members, with intention to find ‘Max
Faults’
– Can be carried out in two ways:
• Walkthroughs
• Inspections or Technical / Formal Reviews
Inspections Versus
Walkthroughs
Inspections
• More formal
• Checklists guide the
reviewers
• 5-step Method
• Takes longer then
WT
• More powerful and
cost-effective tool
Walkthroughs
• Informal
• 2-step method with
– Preparations
– Team Analysis of the
document
Walkthroughs
• Walkthrough team should be of 4-6
members including
• Representative from the developers involved in
respective (to be reviewed) phase
• Manager from the phase under review
• Representative from the Next phase – who have to use
this deliverable
• Representative from SQA Group (Chair)
• Representative from Client
– Professionally experienced can find important
faults
– Senior members more effective
Managing Walkthroughs
• The documents/material should be
circulated in advance
• Each reviewer, after detailed study, should
prepare two lists of:
1. Possible Faults
2. Items in-comprehensible (unclear)
• Aim is to ‘detect and record’ the faults not
to ‘correct’ them
• Walkthrough meetings be called and
chaired by SQA group member and should
not last more than two hours
Managing Walkthroughs .
• The Phase (one under review)
Representative guides the members to
walkthrough the document, this can be either
– Participant-Driven
• The prepared lists (1 & 2) are presented
• The Phase Rep should respond, justify or clarify each
item
• After reply, each item graded as ‘Fault’ or ‘Reviewers
Mistake’
– Document-Driven
• Phase Rep walks the participants through the document
• Reviewers interrupt by picking up from their own
prepared lists, or triggered by others response or
presentation
Managing Walkthroughs ..
• Document Driven approach
– Widely used,
– Applicable to Specification, Design, Plan and
Code Walkthroughs
– Prompts more faults
» IEEE Standards for Software Reviews IEEE 1028,
1988
• Performance at Walkthroughs should NOT
be used as ‘Evaluation’ of Team Members
• Walkthrough meetings should not turn into
‘Point-Scoring’ sessions – otherwise these
will forfeit the aim of Fault finding
Inspections
(or Reviews w.r.t [Jal05])
• Proposed by Fagan 1976 for testing of
Design and Code
– A more formal approach
– Comprised of 5 steps
• Overview – of the document/material by Phase Rep,
and after review it’ll be distributed among reviewers
• Preparation – Reviewers list the faults, aided by
provided Checklist, and remark their frequency, type etc
• Inspection – One Reviewer walks through the material
with reviewers ensuring every item is covered. All
identified faults be compiled by the Inspection Team
leader within the day
• Rework – Phase Rep should resolve all the faults,
problems and document their solutions
Inspections or Reviews (Contd.)
• Follow-up – The Team Leader to ensure that every
single item raised is satisfactorily resolved either by
fixing the document or clarifying the item.
– If more than 5% of the material inspected is
Reworked then team meets again for 100% re-
inspection
– Inspection Team should have at least 4
members – Moderator/Leader from SQAG,
Phase Rep, Next Phase Rep, Clients Rep
– Team members should take different roles of
Reader, Recorder, Moderator etc
CHECKLIST FOR HIGH LEVEL OR FUNCTION-ORIENTED DESIGN
Sr. # Items Yes/No
1. Is each of the functional requirements taken into account?
2. Are there analyses to demonstrate that performance requirements can be
met?
3. Are all assumptions explicitly stated, and are they acceptable?
4. Are there any limitations or constraints on the design beyond those in the
requirements?
5. Are external specifications of each module completely specified?
6. Have exceptional conditions been handled?
7. Are all the data formats consistent with the requirements?
8. Are the operator and user interfaces properly addressed?
9. Is the design modular, and does it conform to local standards?
10. Are the sizes of data structures estimated?
11. Are provisions made to guard against overflow?
CHECKLIST FOR DETAILED DESIGN
Sr.
#
Items Yes/No
1. Does each of the modules in the system design exist in
detailed design?
2. Are there analyses to demonstrate that the performance
requirements can be met?
3. Are all the assumptions explicitly stated, and are they
acceptable?
4. Are all relevant aspects of system design reflected in detailed
design?
5. Have the exceptional conditions been handled?
6. Are all the data formats consistent with the system design?
7. Is the design structured, and does it conform to local
standards?
8. Are the sizes of data structures estimated?
9. Are provisions made to guard against overflow?
10. Is each statement specified in natural language easily
codable?
11. Are the loop termination conditions properly specified?
12. Are the conditions in the loops OK?
13. Are the conditions in the if statements correct?
14. Is the nesting proper?
15. Is the module logic too complex?
16. Are the modules highly cohesive?
CHECKLIST FOR DETAILED DESIGN (Cont.)
Sr.
#
Items Yes/No
Inspections Benefits
• Fault Statistics recorded add to historical
data and can identify the gray areas in SD
and weaknesses in organization
• 70-80% of all faults can be detected using
inspections before Module Testing is started
• 40% less faults were detected in the final
product when used Inspections rather than
Walkthroughs
» Fagan 1976
• Programmers productivity is increased and
resources needed are reduced by 25%
despite Inspection teams overhead
Inspection Metrics
• Metrics are to measure, monitor and
ultimately to control a process, and here to
show effectiveness of the Inspection process
– Fault Density – is number of faults per page of
Specifications, Design Document or per KLOC
(1000 lines of Code) of Code inspected
– Fault Severity – further categorization of faults
into Major (which lead to program failure or
crash) or Minor (which are not Major) faults per
unit material (page or KLOC)
– Fault Detection Efficiency – number of Major or
Minor faults detected per person-hour
– Fault Detection Rate – number of Major/Minor
faults detected per hour
Execution Based Testing
• Testing is to demonstrate the presence of
faults/bugs or errors
• A Successful Test case is (like the ‘Test’ in
Medical terminology) the one which locates
or identifies a bug in the product
“Program Testing can be very effective way
to show the presence of bugs, but it is
hopelessly inadequate for showing their
absence”
[Prof Dijkstra 1972]
That is, if a product is executed with Test
Data and the output is WRONG then the
Product definitely contains a Fault, but if the
output is CORRECT, then the product still
may contain a fault.
Faults are same as ‘bugs’ and can relate to
any phase of SDLC
Errors are usually programmer introduced
faults
Failure is an unacceptable effect or behavior,
under permissible operating conditions that
occur as a consequence of a fault.
What Should be Tested?
• Execution Based Testing is a process of
inferring certain behavioral properties of a
product based, in part, on the results of
executing the product in a known
environment with selected inputs
[Goodenough 1979]
– Three Key elements
• Inferential Process
• Known Environment(s)
• Selected Input(s)
Inferential Process
• Testing is an Inferential Process – the
product is run with known inputs
expecting a desired output.
• Tester has to infer, what if anything is
wrong with the product.
• Tester has Test Cases, Bug reports,
Code and its .exe with him and has to
identify the fault(s)
Known Environment(s)
• The Environment consists of Hardware,
OSs, Compilers and all other programs with
which the Product is to coexist and interact
with or to execute in their presence
• The Environment specifically refers to the
state of these components when a fault
occurred
• The faults (usually assigned) to the Product
may not be due to the Product but produced
by any other component of the environment
which is running at that time.
– These may satisfy the Input specifications but
may not produce the desired output
– In Real-Time (RT) systems, the exact inputs
may not be easy to feed to a specific Product, as
it will be one of the components of the system,
whose input will be the output of some other
component and may involve different A-D/D-A
conversions.
– For RT systems’ testing Simulators are used
and they provide the needed environment in
which the system is to run and hence the Input
data. Yet this will be a ‘simulated’ environment
different than the one in which Product has to
operate
Selected Input(s)
Testing - Behavioral
Properties
• Testing is to confirm that whether Product
functions correctly with respect to its
behavioral properties, which are
– Utility
– Reliability
– Robustness
– Performance and
– Correctness
[Goodenough 1979]
That is for these Behavioral Properties we test the Product.
Utility
Utility is the extent to which Users’ needs
are met when a correct Product is used
under conditions written by its
Specifications
Here we test for
• Ease of Use i.e. User friendliness
• Functionality – whether Product performs what
was desired
• Cost-effectiveness – otherwise it will not be
purchased, so it ought to be rightly/affordably
priced
Reliability
Reliability is the measure of the frequency and
criticality of Product failure
We use different metrics to measure Reliability,
these are:
• Mean time between failures – how often the product
fails
• Failure Severity – how ‘hard’ the effects of that failure
can be
• Mean time to Repair – how long it takes on average to
repair, more important is how long it takes to correct the
results of the failure. Eg crash (or failure) of email
browser might delete all the emails in ‘Inbox’ folder, or
can damage the ‘Address Book’, or a Db front-end
might wipe out the database on which it was operating.
So the repair of Product will include the correction of
allied problems and would surely take much longer.
Robustness
Robustness is the response from the Product
for any input, this response needs to be
reasonable and meaningful. It is essentially
a function of number of factors; range of
Operating conditions, unacceptable results
for valid input and acceptability of results for
invalid input.
• A Robust Product should
– NOT yield unacceptable results when the input satisfies
its specifications
– NOT crash when the Product is given invalid input
– Respond/guide the user for invalid input, eg &$*?
Characters used for string command, say while reading a
filename
Performance
Performance is the extent to which Product meets
its constraints with respect to response time or
space requirements. Embedded systems, used
in Industry, Avionics, PDA, Palmtop devices,
Mobiles etc have their own storage, size,
compute power constraints.
Here we test Product according to the application
domain
• RT systems need to perform within a response time range,
otherwise the produced results would be useless.
• Size/display constraints may lead to smaller storage/memory
sizes and minimal instruction sets, so the product need to be
developed within those constraints
• Critical information needs to be received and processed in
RT.
Correctness
Correctness is the extent of
conformance of the product to the
specifications, independent of its use of
computing resources, when operated
under permitted conditions.
[Goodenough 1979]
• Simply, if product is provided all resources it
needs, then for given valid input, it should
provide the valid output i.e. according to output
specifications
Formal Mathematical Proofs
• To prove that program is correct wrt its specification
are expensive to develop, so used in
Safety/Security and Life critical systems
• They use the knowledge of formal semantics of the
programming languages and construct theories that
relate the program with its formal specs
• These theories are proven mathematically, often
using complex theorem-proving programs
• They need specialist skills and have very high cost
• The proven correct also needs to be tested and
verified. {Sommerville, SE 6th Ed, 2000;p436)
Fault Handling Techniques
Testing
Fault Handling
Fault Avoidance
Fault Tolerance
Fault Detection
Debugging
Component
Testing
Integration
Testing
System
Testing
Verification
Configuration
Management
Atomic
Transactions
Modular
Redundancy
Correctness
Debugging
Performance
Debugging
Reviews
Design
Methodology
Reference for This Lecture
• Pankaj Jalote, (2004 / 2005), An Integrated
Approach to Software Engineering, 2nd / 3rd
Edition; Narosa Publishing House, New Delhi –
Chapter 5 / 10 – Testing pp: 403-471/409-471
• Stephen R Schach (1996); Classical and
Object Oriented Software Engineering; 3rd Ed,
Irwin-McGraw Hill, Boston, Ch-5 Testing
Principles; pp:109-138
• Rajib Mall (2005); Fundamentals of Software
Engineering, 2nd Ed, Prentice-Hall of India,
New Delhi; Ch-10 Coding and Testing, pp:248-
279

More Related Content

What's hot

Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
Saqib Raza
 
Software Engineering Overview
Software Engineering OverviewSoftware Engineering Overview
Software Engineering Overview
Prachi Sasankar
 
Tracking through kanban
Tracking through kanbanTracking through kanban
Intro to Software Engineering - Software Quality Assurance
Intro to Software Engineering - Software Quality AssuranceIntro to Software Engineering - Software Quality Assurance
Intro to Software Engineering - Software Quality AssuranceRadu_Negulescu
 
Static Testing
Static TestingStatic Testing
Static Testing
Dharita Chokshi
 
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
ShudipPal
 
Cen6070 chapter2
Cen6070 chapter2Cen6070 chapter2
Cen6070 chapter2
CuongHoang80
 
Software Quality Assurance - Software Engineering
Software Quality Assurance - Software EngineeringSoftware Quality Assurance - Software Engineering
Software Quality Assurance - Software Engineering
Purvik Rana
 
Software Engineering (Testing Overview)
Software Engineering (Testing Overview)Software Engineering (Testing Overview)
Software Engineering (Testing Overview)
ShudipPal
 
Software validation
Software validationSoftware validation
Software validationRobert Phe
 
Software Testing - SDLC Model
Software Testing - SDLC ModelSoftware Testing - SDLC Model
Software Testing Process, Testing Automation and Software Testing Trends
Software Testing Process, Testing Automation and Software Testing TrendsSoftware Testing Process, Testing Automation and Software Testing Trends
Software Testing Process, Testing Automation and Software Testing Trends
KMS Technology
 
Software Inspection And Defect Management
Software Inspection And Defect ManagementSoftware Inspection And Defect Management
Software Inspection And Defect ManagementAjay K
 
ISTQB / ISEB Foundation Exam Practice - 2
ISTQB / ISEB Foundation Exam Practice - 2ISTQB / ISEB Foundation Exam Practice - 2
ISTQB / ISEB Foundation Exam Practice - 2Yogindernath Gupta
 
Software Testing Process & Trend
Software Testing Process & TrendSoftware Testing Process & Trend
Software Testing Process & Trend
KMS Technology
 
Static testing
Static testingStatic testing
Static testing
Vaibhav Dash
 
Fundamentals of Software Quality Assurance & Testing
Fundamentals of Software Quality Assurance & TestingFundamentals of Software Quality Assurance & Testing
Fundamentals of Software Quality Assurance & Testing
rongbaz
 
Static Testing
Static Testing Static Testing
Static Testing
Suraj Vishwakarma
 

What's hot (20)

Unit 8
Unit 8Unit 8
Unit 8
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
 
Software Engineering Overview
Software Engineering OverviewSoftware Engineering Overview
Software Engineering Overview
 
Tracking through kanban
Tracking through kanbanTracking through kanban
Tracking through kanban
 
Intro to Software Engineering - Software Quality Assurance
Intro to Software Engineering - Software Quality AssuranceIntro to Software Engineering - Software Quality Assurance
Intro to Software Engineering - Software Quality Assurance
 
Static Testing
Static TestingStatic Testing
Static Testing
 
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
 
Cen6070 chapter2
Cen6070 chapter2Cen6070 chapter2
Cen6070 chapter2
 
Software Quality Assurance - Software Engineering
Software Quality Assurance - Software EngineeringSoftware Quality Assurance - Software Engineering
Software Quality Assurance - Software Engineering
 
Software Engineering (Testing Overview)
Software Engineering (Testing Overview)Software Engineering (Testing Overview)
Software Engineering (Testing Overview)
 
Software validation
Software validationSoftware validation
Software validation
 
Software Testing - SDLC Model
Software Testing - SDLC ModelSoftware Testing - SDLC Model
Software Testing - SDLC Model
 
Software Testing 4/5
Software Testing 4/5Software Testing 4/5
Software Testing 4/5
 
Software Testing Process, Testing Automation and Software Testing Trends
Software Testing Process, Testing Automation and Software Testing TrendsSoftware Testing Process, Testing Automation and Software Testing Trends
Software Testing Process, Testing Automation and Software Testing Trends
 
Software Inspection And Defect Management
Software Inspection And Defect ManagementSoftware Inspection And Defect Management
Software Inspection And Defect Management
 
ISTQB / ISEB Foundation Exam Practice - 2
ISTQB / ISEB Foundation Exam Practice - 2ISTQB / ISEB Foundation Exam Practice - 2
ISTQB / ISEB Foundation Exam Practice - 2
 
Software Testing Process & Trend
Software Testing Process & TrendSoftware Testing Process & Trend
Software Testing Process & Trend
 
Static testing
Static testingStatic testing
Static testing
 
Fundamentals of Software Quality Assurance & Testing
Fundamentals of Software Quality Assurance & TestingFundamentals of Software Quality Assurance & Testing
Fundamentals of Software Quality Assurance & Testing
 
Static Testing
Static Testing Static Testing
Static Testing
 

Viewers also liked

Assic Lecture 31st
Assic Lecture 31stAssic Lecture 31st
Assic Lecture 31st
babak danyal
 
Assic 10th Lecture
Assic 10th LectureAssic 10th Lecture
Assic 10th Lecture
babak danyal
 
Assic 5th Lecture
Assic 5th LectureAssic 5th Lecture
Assic 5th Lecture
babak danyal
 
Assic 14th Lecture
Assic 14th LectureAssic 14th Lecture
Assic 14th Lecture
babak danyal
 
04 image enhancement in spatial domain DIP
04 image enhancement in spatial domain DIP04 image enhancement in spatial domain DIP
04 image enhancement in spatial domain DIP
babak danyal
 
Beit 381 se lec 11,12 - 41 - 12 mar16 - 3 & 4 of 4 - sdlc incremental and ...
Beit 381 se lec 11,12  -  41 -  12 mar16 - 3 & 4 of 4 - sdlc incremental and ...Beit 381 se lec 11,12  -  41 -  12 mar16 - 3 & 4 of 4 - sdlc incremental and ...
Beit 381 se lec 11,12 - 41 - 12 mar16 - 3 & 4 of 4 - sdlc incremental and ...
babak danyal
 
Quaid-e-Azam and Early Problems of Pakistan
Quaid-e-Azam and Early Problems of PakistanQuaid-e-Azam and Early Problems of Pakistan
Quaid-e-Azam and Early Problems of Pakistan
babak danyal
 

Viewers also liked (9)

Assic Lecture 31st
Assic Lecture 31stAssic Lecture 31st
Assic Lecture 31st
 
Assic 10th Lecture
Assic 10th LectureAssic 10th Lecture
Assic 10th Lecture
 
Assic 5th Lecture
Assic 5th LectureAssic 5th Lecture
Assic 5th Lecture
 
Mvc grasp
Mvc graspMvc grasp
Mvc grasp
 
Assic 14th Lecture
Assic 14th LectureAssic 14th Lecture
Assic 14th Lecture
 
Satcom 5
Satcom 5Satcom 5
Satcom 5
 
04 image enhancement in spatial domain DIP
04 image enhancement in spatial domain DIP04 image enhancement in spatial domain DIP
04 image enhancement in spatial domain DIP
 
Beit 381 se lec 11,12 - 41 - 12 mar16 - 3 & 4 of 4 - sdlc incremental and ...
Beit 381 se lec 11,12  -  41 -  12 mar16 - 3 & 4 of 4 - sdlc incremental and ...Beit 381 se lec 11,12  -  41 -  12 mar16 - 3 & 4 of 4 - sdlc incremental and ...
Beit 381 se lec 11,12 - 41 - 12 mar16 - 3 & 4 of 4 - sdlc incremental and ...
 
Quaid-e-Azam and Early Problems of Pakistan
Quaid-e-Azam and Early Problems of PakistanQuaid-e-Azam and Early Problems of Pakistan
Quaid-e-Azam and Early Problems of Pakistan
 

Similar to Se 381 - lec 28 -- 34 - 12 jun12 - testing 1 of 2

unit-2_20-july-2018 (1).pptx
unit-2_20-july-2018 (1).pptxunit-2_20-july-2018 (1).pptx
unit-2_20-july-2018 (1).pptx
PriyaFulpagare1
 
Softwarequalityassurance with Abu ul hassan Sahadvi
Softwarequalityassurance with Abu ul hassan SahadviSoftwarequalityassurance with Abu ul hassan Sahadvi
Softwarequalityassurance with Abu ul hassan Sahadvi
AbuulHassan2
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
Aman Adhikari
 
Testing Throughout the Software Life Cycle (2013)
Testing Throughout the Software Life Cycle (2013)Testing Throughout the Software Life Cycle (2013)
Testing Throughout the Software Life Cycle (2013)
Jana Gierloff
 
chapter 7.ppt
chapter 7.pptchapter 7.ppt
chapter 7.ppt
TesfahunAsmare1
 
ISTQBCH2.ppt
ISTQBCH2.pptISTQBCH2.ppt
ISTQBCH2.ppt
RppsKumar1
 
ISTQBCH2.ppt
ISTQBCH2.pptISTQBCH2.ppt
ISTQBCH2.ppt
ghkadous
 
SENG202-v-and-v-modeling_121810.pptx
SENG202-v-and-v-modeling_121810.pptxSENG202-v-and-v-modeling_121810.pptx
SENG202-v-and-v-modeling_121810.pptx
MinsasWorld
 
Chapter 8 software quality assurance and configuration audit
Chapter 8 software quality assurance and configuration auditChapter 8 software quality assurance and configuration audit
Chapter 8 software quality assurance and configuration auditCliftone Mullah
 
SQA presenatation made by krishna ballabh gupta
SQA presenatation made by krishna ballabh guptaSQA presenatation made by krishna ballabh gupta
SQA presenatation made by krishna ballabh gupta
Shivalik college of engineering
 
Sqa
SqaSqa
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
Rizky Munggaran
 
_VoicePPT_QA_Testing_Training_4_Days_Schedule.ppt
_VoicePPT_QA_Testing_Training_4_Days_Schedule.ppt_VoicePPT_QA_Testing_Training_4_Days_Schedule.ppt
_VoicePPT_QA_Testing_Training_4_Days_Schedule.ppt
AnilKumarARS
 
IT8076 – Software Testing Intro
IT8076 – Software Testing IntroIT8076 – Software Testing Intro
IT8076 – Software Testing Intro
JohnSamuel280314
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
Madhar Khan Pathan
 
Software testing introduction
Software testing  introductionSoftware testing  introduction
Software testing introduction
GaneshKumarKanthiah
 
System development
System developmentSystem development
System development
Praveen Minz
 

Similar to Se 381 - lec 28 -- 34 - 12 jun12 - testing 1 of 2 (20)

unit-2_20-july-2018 (1).pptx
unit-2_20-july-2018 (1).pptxunit-2_20-july-2018 (1).pptx
unit-2_20-july-2018 (1).pptx
 
Softwarequalityassurance with Abu ul hassan Sahadvi
Softwarequalityassurance with Abu ul hassan SahadviSoftwarequalityassurance with Abu ul hassan Sahadvi
Softwarequalityassurance with Abu ul hassan Sahadvi
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
 
Testing Throughout the Software Life Cycle (2013)
Testing Throughout the Software Life Cycle (2013)Testing Throughout the Software Life Cycle (2013)
Testing Throughout the Software Life Cycle (2013)
 
chapter 7.ppt
chapter 7.pptchapter 7.ppt
chapter 7.ppt
 
ISTQBCH2.ppt
ISTQBCH2.pptISTQBCH2.ppt
ISTQBCH2.ppt
 
ISTQBCH2.ppt
ISTQBCH2.pptISTQBCH2.ppt
ISTQBCH2.ppt
 
SENG202-v-and-v-modeling_121810.pptx
SENG202-v-and-v-modeling_121810.pptxSENG202-v-and-v-modeling_121810.pptx
SENG202-v-and-v-modeling_121810.pptx
 
Chapter 8 software quality assurance and configuration audit
Chapter 8 software quality assurance and configuration auditChapter 8 software quality assurance and configuration audit
Chapter 8 software quality assurance and configuration audit
 
SQA presenatation made by krishna ballabh gupta
SQA presenatation made by krishna ballabh guptaSQA presenatation made by krishna ballabh gupta
SQA presenatation made by krishna ballabh gupta
 
Sqa
SqaSqa
Sqa
 
Sqa
SqaSqa
Sqa
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
 
Journey to the center of DevOps - v6
Journey to the center of DevOps - v6Journey to the center of DevOps - v6
Journey to the center of DevOps - v6
 
Sslc
SslcSslc
Sslc
 
_VoicePPT_QA_Testing_Training_4_Days_Schedule.ppt
_VoicePPT_QA_Testing_Training_4_Days_Schedule.ppt_VoicePPT_QA_Testing_Training_4_Days_Schedule.ppt
_VoicePPT_QA_Testing_Training_4_Days_Schedule.ppt
 
IT8076 – Software Testing Intro
IT8076 – Software Testing IntroIT8076 – Software Testing Intro
IT8076 – Software Testing Intro
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Software testing introduction
Software testing  introductionSoftware testing  introduction
Software testing introduction
 
System development
System developmentSystem development
System development
 

More from babak danyal

Easy Steps to implement UDP Server and Client Sockets
Easy Steps to implement UDP Server and Client SocketsEasy Steps to implement UDP Server and Client Sockets
Easy Steps to implement UDP Server and Client Sockets
babak danyal
 
Java IO Package and Streams
Java IO Package and StreamsJava IO Package and Streams
Java IO Package and Streams
babak danyal
 
Swing and Graphical User Interface in Java
Swing and Graphical User Interface in JavaSwing and Graphical User Interface in Java
Swing and Graphical User Interface in Java
babak danyal
 
Tcp sockets
Tcp socketsTcp sockets
Tcp sockets
babak danyal
 
block ciphers and the des
block ciphers and the desblock ciphers and the des
block ciphers and the des
babak danyal
 
key distribution in network security
key distribution in network securitykey distribution in network security
key distribution in network security
babak danyal
 
Lecture10 Signal and Systems
Lecture10 Signal and SystemsLecture10 Signal and Systems
Lecture10 Signal and Systems
babak danyal
 
Lecture8 Signal and Systems
Lecture8 Signal and SystemsLecture8 Signal and Systems
Lecture8 Signal and Systems
babak danyal
 
Lecture7 Signal and Systems
Lecture7 Signal and SystemsLecture7 Signal and Systems
Lecture7 Signal and Systems
babak danyal
 
Lecture6 Signal and Systems
Lecture6 Signal and SystemsLecture6 Signal and Systems
Lecture6 Signal and Systems
babak danyal
 
Lecture5 Signal and Systems
Lecture5 Signal and SystemsLecture5 Signal and Systems
Lecture5 Signal and Systems
babak danyal
 
Lecture4 Signal and Systems
Lecture4  Signal and SystemsLecture4  Signal and Systems
Lecture4 Signal and Systems
babak danyal
 
Lecture3 Signal and Systems
Lecture3 Signal and SystemsLecture3 Signal and Systems
Lecture3 Signal and Systems
babak danyal
 
Lecture2 Signal and Systems
Lecture2 Signal and SystemsLecture2 Signal and Systems
Lecture2 Signal and Systems
babak danyal
 
Lecture1 Intro To Signa
Lecture1 Intro To SignaLecture1 Intro To Signa
Lecture1 Intro To Signababak danyal
 
Lecture9 Signal and Systems
Lecture9 Signal and SystemsLecture9 Signal and Systems
Lecture9 Signal and Systems
babak danyal
 
Cns 13f-lec03- Classical Encryption Techniques
Cns 13f-lec03- Classical Encryption TechniquesCns 13f-lec03- Classical Encryption Techniques
Cns 13f-lec03- Classical Encryption Techniques
babak danyal
 
Classical Encryption Techniques in Network Security
Classical Encryption Techniques in Network SecurityClassical Encryption Techniques in Network Security
Classical Encryption Techniques in Network Security
babak danyal
 

More from babak danyal (20)

applist
applistapplist
applist
 
Easy Steps to implement UDP Server and Client Sockets
Easy Steps to implement UDP Server and Client SocketsEasy Steps to implement UDP Server and Client Sockets
Easy Steps to implement UDP Server and Client Sockets
 
Java IO Package and Streams
Java IO Package and StreamsJava IO Package and Streams
Java IO Package and Streams
 
Swing and Graphical User Interface in Java
Swing and Graphical User Interface in JavaSwing and Graphical User Interface in Java
Swing and Graphical User Interface in Java
 
Tcp sockets
Tcp socketsTcp sockets
Tcp sockets
 
block ciphers and the des
block ciphers and the desblock ciphers and the des
block ciphers and the des
 
key distribution in network security
key distribution in network securitykey distribution in network security
key distribution in network security
 
Lecture10 Signal and Systems
Lecture10 Signal and SystemsLecture10 Signal and Systems
Lecture10 Signal and Systems
 
Lecture8 Signal and Systems
Lecture8 Signal and SystemsLecture8 Signal and Systems
Lecture8 Signal and Systems
 
Lecture7 Signal and Systems
Lecture7 Signal and SystemsLecture7 Signal and Systems
Lecture7 Signal and Systems
 
Lecture6 Signal and Systems
Lecture6 Signal and SystemsLecture6 Signal and Systems
Lecture6 Signal and Systems
 
Lecture5 Signal and Systems
Lecture5 Signal and SystemsLecture5 Signal and Systems
Lecture5 Signal and Systems
 
Lecture4 Signal and Systems
Lecture4  Signal and SystemsLecture4  Signal and Systems
Lecture4 Signal and Systems
 
Lecture3 Signal and Systems
Lecture3 Signal and SystemsLecture3 Signal and Systems
Lecture3 Signal and Systems
 
Lecture2 Signal and Systems
Lecture2 Signal and SystemsLecture2 Signal and Systems
Lecture2 Signal and Systems
 
Lecture1 Intro To Signa
Lecture1 Intro To SignaLecture1 Intro To Signa
Lecture1 Intro To Signa
 
Lecture9 Signal and Systems
Lecture9 Signal and SystemsLecture9 Signal and Systems
Lecture9 Signal and Systems
 
Lecture9
Lecture9Lecture9
Lecture9
 
Cns 13f-lec03- Classical Encryption Techniques
Cns 13f-lec03- Classical Encryption TechniquesCns 13f-lec03- Classical Encryption Techniques
Cns 13f-lec03- Classical Encryption Techniques
 
Classical Encryption Techniques in Network Security
Classical Encryption Techniques in Network SecurityClassical Encryption Techniques in Network Security
Classical Encryption Techniques in Network Security
 

Recently uploaded

Chapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptxChapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptx
Mohd Adib Abd Muin, Senior Lecturer at Universiti Utara Malaysia
 
Multithreading_in_C++ - std::thread, race condition
Multithreading_in_C++ - std::thread, race conditionMultithreading_in_C++ - std::thread, race condition
Multithreading_in_C++ - std::thread, race condition
Mohammed Sikander
 
Digital Tools and AI for Teaching Learning and Research
Digital Tools and AI for Teaching Learning and ResearchDigital Tools and AI for Teaching Learning and Research
Digital Tools and AI for Teaching Learning and Research
Vikramjit Singh
 
2024.06.01 Introducing a competency framework for languag learning materials ...
2024.06.01 Introducing a competency framework for languag learning materials ...2024.06.01 Introducing a competency framework for languag learning materials ...
2024.06.01 Introducing a competency framework for languag learning materials ...
Sandy Millin
 
Embracing GenAI - A Strategic Imperative
Embracing GenAI - A Strategic ImperativeEmbracing GenAI - A Strategic Imperative
Embracing GenAI - A Strategic Imperative
Peter Windle
 
The French Revolution Class 9 Study Material pdf free download
The French Revolution Class 9 Study Material pdf free downloadThe French Revolution Class 9 Study Material pdf free download
The French Revolution Class 9 Study Material pdf free download
Vivekanand Anglo Vedic Academy
 
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
Nguyen Thanh Tu Collection
 
Supporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptxSupporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptx
Jisc
 
MASS MEDIA STUDIES-835-CLASS XI Resource Material.pdf
MASS MEDIA STUDIES-835-CLASS XI Resource Material.pdfMASS MEDIA STUDIES-835-CLASS XI Resource Material.pdf
MASS MEDIA STUDIES-835-CLASS XI Resource Material.pdf
goswamiyash170123
 
Lapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdfLapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdf
Jean Carlos Nunes Paixão
 
A Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in EducationA Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in Education
Peter Windle
 
Unit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdfUnit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdf
Thiyagu K
 
Natural birth techniques - Mrs.Akanksha Trivedi Rama University
Natural birth techniques - Mrs.Akanksha Trivedi Rama UniversityNatural birth techniques - Mrs.Akanksha Trivedi Rama University
Natural birth techniques - Mrs.Akanksha Trivedi Rama University
Akanksha trivedi rama nursing college kanpur.
 
Operation Blue Star - Saka Neela Tara
Operation Blue Star   -  Saka Neela TaraOperation Blue Star   -  Saka Neela Tara
Operation Blue Star - Saka Neela Tara
Balvir Singh
 
Pride Month Slides 2024 David Douglas School District
Pride Month Slides 2024 David Douglas School DistrictPride Month Slides 2024 David Douglas School District
Pride Month Slides 2024 David Douglas School District
David Douglas School District
 
1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx
JosvitaDsouza2
 
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
EugeneSaldivar
 
The approach at University of Liverpool.pptx
The approach at University of Liverpool.pptxThe approach at University of Liverpool.pptx
The approach at University of Liverpool.pptx
Jisc
 
special B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdfspecial B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdf
Special education needs
 
The Accursed House by Émile Gaboriau.pptx
The Accursed House by Émile Gaboriau.pptxThe Accursed House by Émile Gaboriau.pptx
The Accursed House by Émile Gaboriau.pptx
DhatriParmar
 

Recently uploaded (20)

Chapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptxChapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptx
 
Multithreading_in_C++ - std::thread, race condition
Multithreading_in_C++ - std::thread, race conditionMultithreading_in_C++ - std::thread, race condition
Multithreading_in_C++ - std::thread, race condition
 
Digital Tools and AI for Teaching Learning and Research
Digital Tools and AI for Teaching Learning and ResearchDigital Tools and AI for Teaching Learning and Research
Digital Tools and AI for Teaching Learning and Research
 
2024.06.01 Introducing a competency framework for languag learning materials ...
2024.06.01 Introducing a competency framework for languag learning materials ...2024.06.01 Introducing a competency framework for languag learning materials ...
2024.06.01 Introducing a competency framework for languag learning materials ...
 
Embracing GenAI - A Strategic Imperative
Embracing GenAI - A Strategic ImperativeEmbracing GenAI - A Strategic Imperative
Embracing GenAI - A Strategic Imperative
 
The French Revolution Class 9 Study Material pdf free download
The French Revolution Class 9 Study Material pdf free downloadThe French Revolution Class 9 Study Material pdf free download
The French Revolution Class 9 Study Material pdf free download
 
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
 
Supporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptxSupporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptx
 
MASS MEDIA STUDIES-835-CLASS XI Resource Material.pdf
MASS MEDIA STUDIES-835-CLASS XI Resource Material.pdfMASS MEDIA STUDIES-835-CLASS XI Resource Material.pdf
MASS MEDIA STUDIES-835-CLASS XI Resource Material.pdf
 
Lapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdfLapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdf
 
A Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in EducationA Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in Education
 
Unit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdfUnit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdf
 
Natural birth techniques - Mrs.Akanksha Trivedi Rama University
Natural birth techniques - Mrs.Akanksha Trivedi Rama UniversityNatural birth techniques - Mrs.Akanksha Trivedi Rama University
Natural birth techniques - Mrs.Akanksha Trivedi Rama University
 
Operation Blue Star - Saka Neela Tara
Operation Blue Star   -  Saka Neela TaraOperation Blue Star   -  Saka Neela Tara
Operation Blue Star - Saka Neela Tara
 
Pride Month Slides 2024 David Douglas School District
Pride Month Slides 2024 David Douglas School DistrictPride Month Slides 2024 David Douglas School District
Pride Month Slides 2024 David Douglas School District
 
1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx
 
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
 
The approach at University of Liverpool.pptx
The approach at University of Liverpool.pptxThe approach at University of Liverpool.pptx
The approach at University of Liverpool.pptx
 
special B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdfspecial B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdf
 
The Accursed House by Émile Gaboriau.pptx
The Accursed House by Émile Gaboriau.pptxThe Accursed House by Émile Gaboriau.pptx
The Accursed House by Émile Gaboriau.pptx
 

Se 381 - lec 28 -- 34 - 12 jun12 - testing 1 of 2

  • 2. Testing Principles [Sch96] Ch – 5 • Purpose of Testing – To detect faults – as many as possible and as early as possible – Correction of faults at early stages is cheaper – To produce high quality Software • Testing as an Independent stage! • Testing Integrated to each phase of SDLC and Acceptance Testing of the final product
  • 3. Testing Intro (Contd.) • Verification & Validation – Verification refers to the process of determining whether a phase has been correctly carried out, and it takes place at the end of each phase – Validation is the intensive evaluation process that takes place just before the product is delivered to the client – to determine whether the product as a whole satisfies its Specifications » Conforms to IEEE Software Engineering Glossary, IEEE 610.12, 1990
  • 4. Verification & Validation • Barry Boehm 1984 – Verification: Are we building the Product Right? – Validation: Are we building the Right Product? – The former concentrates on the process and later on the product. – V & V and Testing are used alternatively by different texts, but Schach uses Testing with broader meanings encompassing Process as well as Product
  • 5. Types of Testing Non-Execution Based Testing – Applicable to earlier phases as well as Coding phase – Mostly comprised of Walkthroughs and Inspections of Documents, Design and Code Execution Based Testing – Corresponds to the phases when code is available – Applicable to Implementation, Integration and Maintenance phases
  • 6. Software Quality Assurance • In Engineering Disciplines – Quality is “Adherence to Specifications” • Accordingly, the Quality of Software is – the extent to which the product satisfies the Specifications – Its achievement needs ‘Effort’ and ‘Mechanism’ – SQA group should be amongst the ‘Strongest groups’ in the Software Development setup like Quality Control Department in Industry
  • 7. SQA Group • MUST ensure – Correct Product is produced – Product has been produced by following the right process. – At the end of each phase group should verify that the produced deliverables conform to the previous and next stage requirements – That Software Process and organizations capability to produce quality software is improving
  • 8. SQA Group (Contd) – Should comprise of skilled, technical, Senior members with expertise in varied areas of SD – Number of its members should be proportional to the scope and amount of SD undertaken by the setup – For small setups of <4 developers separate group will be an overhead, so the individuals should ensure SQA of parts developed / authored by others – Separate SQA Group costs but brings in more benefits (in terms of repute and more work) resulting from the delivery of High Quality Software
  • 9. SQA Group (Contd.) • Managerial Independence – The group should directly report to CE/CEO of the setup – Since it’ll have to make important, as well as seemingly ‘detrimental’ decisions eg “Buggy in-Time delivery” or “Bug-free (or less buggy) delayed delivery”, and resolve ‘Conflicts of Interest’ among different groups, so SQA Group should have Managerial Independence
  • 10. Non-Execution Based Testing – Mostly comprised of document(s), Design and Code reviews, and can be conducted through – Should be done by a Team consisting of members, most of whom were not involved in the respective phase development – Reviewing should be done independently by the team members, with intention to find ‘Max Faults’ – Can be carried out in two ways: • Walkthroughs • Inspections or Technical / Formal Reviews
  • 11. Inspections Versus Walkthroughs Inspections • More formal • Checklists guide the reviewers • 5-step Method • Takes longer then WT • More powerful and cost-effective tool Walkthroughs • Informal • 2-step method with – Preparations – Team Analysis of the document
  • 12. Walkthroughs • Walkthrough team should be of 4-6 members including • Representative from the developers involved in respective (to be reviewed) phase • Manager from the phase under review • Representative from the Next phase – who have to use this deliverable • Representative from SQA Group (Chair) • Representative from Client – Professionally experienced can find important faults – Senior members more effective
  • 13. Managing Walkthroughs • The documents/material should be circulated in advance • Each reviewer, after detailed study, should prepare two lists of: 1. Possible Faults 2. Items in-comprehensible (unclear) • Aim is to ‘detect and record’ the faults not to ‘correct’ them • Walkthrough meetings be called and chaired by SQA group member and should not last more than two hours
  • 14. Managing Walkthroughs . • The Phase (one under review) Representative guides the members to walkthrough the document, this can be either – Participant-Driven • The prepared lists (1 & 2) are presented • The Phase Rep should respond, justify or clarify each item • After reply, each item graded as ‘Fault’ or ‘Reviewers Mistake’ – Document-Driven • Phase Rep walks the participants through the document • Reviewers interrupt by picking up from their own prepared lists, or triggered by others response or presentation
  • 15. Managing Walkthroughs .. • Document Driven approach – Widely used, – Applicable to Specification, Design, Plan and Code Walkthroughs – Prompts more faults » IEEE Standards for Software Reviews IEEE 1028, 1988 • Performance at Walkthroughs should NOT be used as ‘Evaluation’ of Team Members • Walkthrough meetings should not turn into ‘Point-Scoring’ sessions – otherwise these will forfeit the aim of Fault finding
  • 16. Inspections (or Reviews w.r.t [Jal05]) • Proposed by Fagan 1976 for testing of Design and Code – A more formal approach – Comprised of 5 steps • Overview – of the document/material by Phase Rep, and after review it’ll be distributed among reviewers • Preparation – Reviewers list the faults, aided by provided Checklist, and remark their frequency, type etc • Inspection – One Reviewer walks through the material with reviewers ensuring every item is covered. All identified faults be compiled by the Inspection Team leader within the day • Rework – Phase Rep should resolve all the faults, problems and document their solutions
  • 17. Inspections or Reviews (Contd.) • Follow-up – The Team Leader to ensure that every single item raised is satisfactorily resolved either by fixing the document or clarifying the item. – If more than 5% of the material inspected is Reworked then team meets again for 100% re- inspection – Inspection Team should have at least 4 members – Moderator/Leader from SQAG, Phase Rep, Next Phase Rep, Clients Rep – Team members should take different roles of Reader, Recorder, Moderator etc
  • 18. CHECKLIST FOR HIGH LEVEL OR FUNCTION-ORIENTED DESIGN Sr. # Items Yes/No 1. Is each of the functional requirements taken into account? 2. Are there analyses to demonstrate that performance requirements can be met? 3. Are all assumptions explicitly stated, and are they acceptable? 4. Are there any limitations or constraints on the design beyond those in the requirements? 5. Are external specifications of each module completely specified? 6. Have exceptional conditions been handled? 7. Are all the data formats consistent with the requirements? 8. Are the operator and user interfaces properly addressed? 9. Is the design modular, and does it conform to local standards? 10. Are the sizes of data structures estimated? 11. Are provisions made to guard against overflow?
  • 19. CHECKLIST FOR DETAILED DESIGN Sr. # Items Yes/No 1. Does each of the modules in the system design exist in detailed design? 2. Are there analyses to demonstrate that the performance requirements can be met? 3. Are all the assumptions explicitly stated, and are they acceptable? 4. Are all relevant aspects of system design reflected in detailed design? 5. Have the exceptional conditions been handled? 6. Are all the data formats consistent with the system design? 7. Is the design structured, and does it conform to local standards? 8. Are the sizes of data structures estimated?
  • 20. 9. Are provisions made to guard against overflow? 10. Is each statement specified in natural language easily codable? 11. Are the loop termination conditions properly specified? 12. Are the conditions in the loops OK? 13. Are the conditions in the if statements correct? 14. Is the nesting proper? 15. Is the module logic too complex? 16. Are the modules highly cohesive? CHECKLIST FOR DETAILED DESIGN (Cont.) Sr. # Items Yes/No
  • 21. Inspections Benefits • Fault Statistics recorded add to historical data and can identify the gray areas in SD and weaknesses in organization • 70-80% of all faults can be detected using inspections before Module Testing is started • 40% less faults were detected in the final product when used Inspections rather than Walkthroughs » Fagan 1976 • Programmers productivity is increased and resources needed are reduced by 25% despite Inspection teams overhead
  • 22. Inspection Metrics • Metrics are to measure, monitor and ultimately to control a process, and here to show effectiveness of the Inspection process – Fault Density – is number of faults per page of Specifications, Design Document or per KLOC (1000 lines of Code) of Code inspected – Fault Severity – further categorization of faults into Major (which lead to program failure or crash) or Minor (which are not Major) faults per unit material (page or KLOC) – Fault Detection Efficiency – number of Major or Minor faults detected per person-hour – Fault Detection Rate – number of Major/Minor faults detected per hour
  • 23. Execution Based Testing • Testing is to demonstrate the presence of faults/bugs or errors • A Successful Test case is (like the ‘Test’ in Medical terminology) the one which locates or identifies a bug in the product “Program Testing can be very effective way to show the presence of bugs, but it is hopelessly inadequate for showing their absence” [Prof Dijkstra 1972]
  • 24. That is, if a product is executed with Test Data and the output is WRONG then the Product definitely contains a Fault, but if the output is CORRECT, then the product still may contain a fault. Faults are same as ‘bugs’ and can relate to any phase of SDLC Errors are usually programmer introduced faults Failure is an unacceptable effect or behavior, under permissible operating conditions that occur as a consequence of a fault.
  • 25. What Should be Tested? • Execution Based Testing is a process of inferring certain behavioral properties of a product based, in part, on the results of executing the product in a known environment with selected inputs [Goodenough 1979] – Three Key elements • Inferential Process • Known Environment(s) • Selected Input(s)
  • 26. Inferential Process • Testing is an Inferential Process – the product is run with known inputs expecting a desired output. • Tester has to infer, what if anything is wrong with the product. • Tester has Test Cases, Bug reports, Code and its .exe with him and has to identify the fault(s)
  • 27. Known Environment(s) • The Environment consists of Hardware, OSs, Compilers and all other programs with which the Product is to coexist and interact with or to execute in their presence • The Environment specifically refers to the state of these components when a fault occurred • The faults (usually assigned) to the Product may not be due to the Product but produced by any other component of the environment which is running at that time.
  • 28. – These may satisfy the Input specifications but may not produce the desired output – In Real-Time (RT) systems, the exact inputs may not be easy to feed to a specific Product, as it will be one of the components of the system, whose input will be the output of some other component and may involve different A-D/D-A conversions. – For RT systems’ testing Simulators are used and they provide the needed environment in which the system is to run and hence the Input data. Yet this will be a ‘simulated’ environment different than the one in which Product has to operate Selected Input(s)
  • 29. Testing - Behavioral Properties • Testing is to confirm that whether Product functions correctly with respect to its behavioral properties, which are – Utility – Reliability – Robustness – Performance and – Correctness [Goodenough 1979] That is for these Behavioral Properties we test the Product.
  • 30. Utility Utility is the extent to which Users’ needs are met when a correct Product is used under conditions written by its Specifications Here we test for • Ease of Use i.e. User friendliness • Functionality – whether Product performs what was desired • Cost-effectiveness – otherwise it will not be purchased, so it ought to be rightly/affordably priced
  • 31. Reliability Reliability is the measure of the frequency and criticality of Product failure We use different metrics to measure Reliability, these are: • Mean time between failures – how often the product fails • Failure Severity – how ‘hard’ the effects of that failure can be • Mean time to Repair – how long it takes on average to repair, more important is how long it takes to correct the results of the failure. Eg crash (or failure) of email browser might delete all the emails in ‘Inbox’ folder, or can damage the ‘Address Book’, or a Db front-end might wipe out the database on which it was operating. So the repair of Product will include the correction of allied problems and would surely take much longer.
  • 32. Robustness Robustness is the response from the Product for any input, this response needs to be reasonable and meaningful. It is essentially a function of number of factors; range of Operating conditions, unacceptable results for valid input and acceptability of results for invalid input. • A Robust Product should – NOT yield unacceptable results when the input satisfies its specifications – NOT crash when the Product is given invalid input – Respond/guide the user for invalid input, eg &$*? Characters used for string command, say while reading a filename
  • 33. Performance Performance is the extent to which Product meets its constraints with respect to response time or space requirements. Embedded systems, used in Industry, Avionics, PDA, Palmtop devices, Mobiles etc have their own storage, size, compute power constraints. Here we test Product according to the application domain • RT systems need to perform within a response time range, otherwise the produced results would be useless. • Size/display constraints may lead to smaller storage/memory sizes and minimal instruction sets, so the product need to be developed within those constraints • Critical information needs to be received and processed in RT.
  • 34. Correctness Correctness is the extent of conformance of the product to the specifications, independent of its use of computing resources, when operated under permitted conditions. [Goodenough 1979] • Simply, if product is provided all resources it needs, then for given valid input, it should provide the valid output i.e. according to output specifications
  • 35. Formal Mathematical Proofs • To prove that program is correct wrt its specification are expensive to develop, so used in Safety/Security and Life critical systems • They use the knowledge of formal semantics of the programming languages and construct theories that relate the program with its formal specs • These theories are proven mathematically, often using complex theorem-proving programs • They need specialist skills and have very high cost • The proven correct also needs to be tested and verified. {Sommerville, SE 6th Ed, 2000;p436)
  • 36. Fault Handling Techniques Testing Fault Handling Fault Avoidance Fault Tolerance Fault Detection Debugging Component Testing Integration Testing System Testing Verification Configuration Management Atomic Transactions Modular Redundancy Correctness Debugging Performance Debugging Reviews Design Methodology
  • 37. Reference for This Lecture • Pankaj Jalote, (2004 / 2005), An Integrated Approach to Software Engineering, 2nd / 3rd Edition; Narosa Publishing House, New Delhi – Chapter 5 / 10 – Testing pp: 403-471/409-471 • Stephen R Schach (1996); Classical and Object Oriented Software Engineering; 3rd Ed, Irwin-McGraw Hill, Boston, Ch-5 Testing Principles; pp:109-138 • Rajib Mall (2005); Fundamentals of Software Engineering, 2nd Ed, Prentice-Hall of India, New Delhi; Ch-10 Coding and Testing, pp:248- 279