SQA Unit 4
SQA Unit 4
SQA Unit 4
Assurance
Janhavi Vadke
janhavi.vadke@vsit.edu.in
Vidyalankar School of
Information Technology
Wadala (E), Mumbai
www.vsit.edu.in
Certificate
This is to certify that the e-book titled “Software quality
assurance” comprises all elementary learning tools for a better
understating of the relevant concepts. This e-book is comprehensively compiled
as per the predefined eight parameters and guidelines.
Recommended Books
• Software Testing and Continuous Quality- William E. Lewis
• Software Testing: Principles, Techniques and Tools-M. G. Limaye
• Foundations of Software Testing- Dorothy Graham, Erik van Veenendaal,
Isabel Evans, Rex Black
• Software Testing: A Craftsman’s Approach- Paul C. Jorgenson
Verification &Validation.
• It is called as Verification
• Fitness for use, which is defined as customer view of quality performed by tester & given to
customer for acceptance testing.
Verification:
• It helps in identification of defect and its location which helps in correction. Advantages of
Verification:
• Verification ensures that the work product is following the processes correctly defined by
organization or customer. It can find the defects & it’s root cause • Cost of finding & fixing
defects is less.
Validation:
• Validation is an approach to evaluate whether the final built software product meets its
specification or not.
• Validation is also called as 'dynamic testing' because it involves execution of code to find
defects.
Advantages of Validation
• Black-box testing approach is use for system, integration & acceptance testing
Disadvantages of Validation:
• Tester might do redundant testing by executing same section of code again & again.
Self-Review:
Advantages of self-review:
Disadvantages:
Developer will be more focus on coding rather than reviewing the code developed by them
Peer review:
In this review, author & reviewer meet together & give review jointly
In this review, author informs reviewer that software is ready for review & reviewer reviews
it according to his time availability & send results to author
Advantages:
Disadvantages:
Peer might fix defects but won’t show mistake of his friends
Superior Review:
Superior such as team leader or module leader will review the product made by sub-ordinates
Superior may have better understanding than author about requirements & design
Walk-Through:
Advantages:
Disadvantages:
Inspection
It involves domain expert & absence of author. They can be external to the organization
Advantages of inspection
Disadvantages of inspection
Experts may not be ready with review comments before inspection and time may not be
utilized properly
Allocation of trained resources for facilitating inspection process, recording the opinions of
experts, presenting artifacts etc is essential to maintain the agenda and inspection flow
Phases of Inspection
a) Planning for Inspection: - Planning for Inspection involves selecting people for inspection,
allocating roles to other people (such as facilitator, recorder, and presenter). Defining the
entry and exit criteria for inspection, and selecting which parts of artifacts are to be looked at.
c) Individual preparation: - Participants must come prepared for the inspection. Work must be
reviewed and comments by each of the participants must be ready before the inspection
meeting.
d) Inspection Meeting: - The participants of the meeting may simply note defects, make
recommendations for handling the defects or make decisions about the defects. Recorder
shall note these comments.
e) Decision on comments: - It is not necessary that all the comments will be accepted.
Comments may be rejected, differed or may undergo another iteration of inspection. For
accepted comments, the fixing of defects is done by the author.
f) Follow Up: - Completing the actions as identified in minutes of meeting like checking that
the defects have been addressed and whether exit criteria has been met or not. the findings
can be used to gather statistics about work product, project or process.
a) Manager: - Manager is the person responsible for getting the work product inspected. For a
project he may be the project manager. Manager decides on the execution of inspection,
defines the schedule, allocates time, defines the objectives to be met, and determines if the
inspection objectives have been met or not at the end of inspection process.
b) Moderator: - Moderator is the person who leads the inspection of the artifacts, including
planning the inspection, running the meeting and follow-up after the meeting. Moderator is
also called ‘Facilitator’ as he facilitates the entire process.
c) Author: - Author is the writer or the person with chief responsibility of the artifact to be
inspected. He is the person who has created the artifacts, and will be taking action based on
the outcome of the inspection.
A review is a systematic examination of a document by one or more people with the main
aim of finding and removing errors early in the software development life cycle. Reviews are
used to verify documents such as requirements, system designs, code, test plans and test
cases.
People issues and psychological aspects are not dealt with in an inspection process
Inspection techniques are applied that are suitable to the type and level of software work
products and inspectors
Audit
Kickoff audit
Predelivery audit
Product audit
Verification can confirm that the work product has followed the processes correctly
It can find defect in terms of deviations from standards easily
Location of the defect can be found
It can reduce the cost of finding and fixing the defects
It can locate the defect easily as work product under review is yet to be integrated
It can be used effectively for training people
Productivity is improved and timescales reduced because the correction of defects in early
stages and work-products will help to ensure that those work-products are clear and
unambiguous.
Testing costs and time is reduced as there is enough time spent during the initial phase.
Reduction in costs because fewer defects in the final software.
Verification helps in lowering down the count of the defect in the later stages of
development.
Verifying the product at the starting phase of the development will help in understanding the
product in a better way.
It reduces the chances of failures in the software application or product.
It helps in building the product as per the customer specifications and needs.
https://www.youtube.com/watch?v=YosSY0e5Xy4
In-process review:
This review is conducted to check whether the input given is correct or not whether all
processes are following correctly or not It can take place in between any project of SDLC
Common steps of in-process reviews are: Work product & metric undergoing review are
created & submitted to the stakeholder in advanced Inputs are received from stakeholders to
initiate various actions Risk are identified, reviewed & actions are implemented Issues like
hardware availability, software availability & training are identified & actions are
implemented
Milestone review It is performed periodically basis on time frame, completion of phase or
milestone achieved Ex. Requirement review at the end of requirement phase Three types of
milestone review:
Phase end review: It is performed at the end of any phase of SDLC It is suitable for waterfall
cycle .
Phase-End Review: Phase-end review is conducted at the end of a development phase under
review such as requirements phase, design phase, coding and testing. Phase end reviews are
also termed ‘gate reviews’ by some organizations as the gate at phase. End opens only when
the output criteria of the phase are achieved by the work product. Phase end reviews are used
extensively in agile development as one phase completion is marked by review before the
next phase is started.
Periodic Review: It is performed in weekly, monthly & quarterly manner. When one phase
ends in reality another phase may be half way through. In such cases, we may have review on
some periodic basis such as weekly, monthly, quarterly etc. Project plan must define various
periods when review of project related activities will be conducted. Stakeholders may be
required to review the progress and take actions on any impediments.
Percent Completion Review: It is a combination of both periodic & phase-end Development
activities are assessed on basis of percent completion
Work product, and metrics undergoing review are created and submitted to the stakeholders
well in advance.
Risks identified by the project are reviewed and actions may be initiated as required. Risks
which no longer exist may be closed and risks which cannot affect the project are retired.
Any issue related to any stakeholder is noted and follow up actions are initiated.
Review reports are generated at the end of review which acts as a foundation for the next
review.
Post mortem reviews/ post implementation reviews are conducted after the project is over and
Some of the steps commonly found in post implementation review are as follows :
At the end of the project when final deliverables are send to the customer and when final
All the activities of project are reviewed and different stakeholders are expected to
Each and every activity is listed to identify if something went exceptionally good or
exceptionally bad when the project was executed. All project related metrics are reviewed.
Test-readiness review:
It is conducted by test managers or test leads with the project manager to ensure that the
product under development is ready for testing It is carried out at every stage of development
(Unit testing, integration testing, system testing, interface testing, system testing acceptance
testing, etc.)
Prerequisites Training:
Prerequisites such as the database, operating system, etc. may be needed during the software
installation. If it is specified in the requirement statement that installation must check for the
availability of such prerequisites, then it must be tested for these requirements.
Updation Testing:
During software installation, it is expected that the system should check whether the same
software already exists there or not.
If the existing version of the software is older than the one being installed, then it also
prompts for a repair or new installation.
Un-installation testing:
This is done by the organizations to verify if the un-installation is clean or not whenever any
application is un-installed, all the associated files should be removed from the disk. Care
should be taken that applications running before installation must be running after installation
and also once un-installation is done.
Test-completion review:
Statement coverage
It is a white box testing technique, which involves the execution of all the statements at least
once in the source code.
It is a metric, which is used to calculate and measure the number of statements in the source
code which have been executed.
The main drawback of this technique is that we cannot test the false condition in it.
Example:
Read A Read B if A>B Print “A is greater than B” else Print "B is greater than A" end if
Set1: If A =2, B =5 No of statements Executed: 6 Total nos of statements in the source code:
7 Statement coverage =6/7*100 = 85.20 %
Path Coverage: The way that path coverage testing works is that the testers must look at
each possible scenario, so that all lines of code are covered. In a very basic example, consider
a code function that takes in a variable "x" and returns one of two results: if x is greater than
5, the program will return the result "A" and if x is less than or equal to 5, the program will
return the result "B." The code for the program would look something like this:
input x if x > 5 then return A else return B In order for path coverage testing to effectively
"cover all paths," the two test cases must be run, with x greater than 5 and x less than or equal
to 5. Experts generally consider path coverage testing to be a type of white box testing, which
actually inspects the internal code of a program, rather just relying on external inputs and
strategies that are considered black box testing, which do not consider internal code. Decision
Coverage:
Decision coverage or Branch coverage is a testing method, which aims to ensure that each
one of the possible branch from each decision point is executed at least once and thereby
ensuring that all reachable code is executed.
That is, every decision is taken each way, true and false. It helps in validating all the branches
in the code making sure that no branch leads to abnormal behaviour of the application Read
A Read B IF A+B >10 THEN Print "A+B is Large" ENDIF If A>5 THEN Print "A Large"
ENDIF to calculate Branch Coverage, one has to find out the minimum number of paths
which will ensure that all the edges are covered. In this case there is no single path which
will ensure coverage of all the edges at once. The aim is to cover all possible true/false
decisions. (1)1A-2C-3D-E-4G-5H (2)1A-2B-E-4F HenceDecisionorBranchCoverageis2.
Validation
Advantages of validation
Disadvantages of validation
For unit testing and module testing, it needs stubs and drivers to be designed and to be used
Sometimes it may result into redundant testing as tester are not aware of internal structure
Training required for conducting validation. Training may include domain knowledge,
knowledge about testing and knowledge about various test tools
Feature coverage
Acceptance testing.
Acceptance Testing generally done by the user and/or customer to understand whether the
software satisfies their requirement or not. Here are some predefined methodologies,
condition and test cases will be used for acceptance testing. There are three levels of
acceptance testing:
Alpha Testing:
Alpha testing is done by the customer in development environment. The testing is done at
development side on dummy data. Alpha testing may be done working properly. There is no
direct impact of such testing on customer as testing is done off-site.
Beta Testing:
Gamma Testing:
Gamma testing is used for limited liability testing at selected places. Gamma check is
performed when the application is ready for release to the specified requirements. This is
performed directly without going through all the testing activities at home. The application is
given to few people for using it in production, and feedback is obtained from them.
Levels of Validations:
Unit Testing:
Software is made up of many units. Individual unit need to be tested to find whether they
have implemented the design correctly or not. Unit testing is done by developer as they are
capable of understanding individual units under testing. Thus, unit testing needs a definition,
coding and use of stubs and drivers for testing
Integration Testing:
Integration testing involves testing of many units by combining them together to form a sub-
module or module. If designing of stubs/drivers are needed to execute integrated parts, then
in such cases integration is done by developer. And if integration is executed independently,
then integration is done by tester. Integration testing mainly refers to detail design or low-
level design. Testing involves testing of software with environment factors (such as database
and operating system), where application is supposed to work.
System Testing:
System testing involves end-to-end testing of a system to find the behaviour of system with
respect to expectations System testing is actually a set of processes which may include
functionality, user interface, performance and security testing. Q. V-Model for Software.
Software Test Life Cycle - Verification Validation Model
https://www.youtube.com/watch?v=WMHjJK7esVI
At the requirement phase, during system testing & acceptance testing, the system tester and
users confirm that requirements have been really met or not.
Design phase is associated with interface testing which covers design specification testing as
well as structural testing Program-level designs are associated with integration testing.
At code level, unit testing is done to validate individual units Requirement Analysis:
It is not important how the system is implemented but important is what the system is
supposed to do.
System Design:
The system design will have the understanding detailing the complete hardware and
communication setup for the product development.
Architectural Design:
In this phase, the data transfer and communication between the internal modules and other
system is clearly understood
Module Design:
Coding phase:
Unit Testing:
Unit testing is a white box testing technique, where code is written which invokes a method
(or any other piece of code) to test whether the code fragment is giving the expected output or
not.
Integration Testing:
In this phase the integration test cases are executed.
Integration testing is a technique where tested modules are integrated and tested whether
In simpler words, it validates whether the components of the application work together as
expected.
System Testing:
In this phase all the system test cases, functional test cases and non-functional test cases are
executed.
In other words, the actual and full fledge testing of the application takes place here.
Acceptance testing is done to validate that business requirements are met in the user
environment.
VV Model:
VV Model is also known as verification and validation activities associated with software
development during entire life cycle.
System Design
Software design usually involves problem solving and planning a software solution. This
includes both a low-level component and algorithm activities and a high-level, architecture
design.
Program Design
Program Design is the process that an organization uses to develop a program. It is most.
often an iterative process involving research, consultation, initial design, testing and.
redesign. A program design is the plan of action that results from that process.
Acceptance testing
Acceptance testing is a level of software testing where a system is tested for acceptability.
The purpose of this test is to evaluate the system’s compliance with the business requirements
and assess whether it is acceptable for delivery.
Interface testing
Interface testing is defined as a software testing type which verifies whether the
communication between two different software systems is done correctly. A connection that
integrates two components is called interface.
Integration testing
Integration testing is a level of software testing where individual units are combined and
tested as a group? The purpose of this level of testing is to expose faults in the interaction
between integrated units. Test drivers and test stubs are used to assist in Integration Testing
Coding methodology includes a diagrammatic notation for documenting the results of the
procedure. It also includes an objective set (ideally quantified) of criteria for determining
whether the results of the procedure are of the desired quality.
Unit testingis a level of software testing where individual units/ components of a software
are tested. The purpose is to validate that each unit of the software performs as designed. A
unit is the smallest testable part of any software. It usually has one or a few inputs and
usually a single output.
Characteristics of good requirements:
Adequate: Requirement must explain entire system from user’s side. Constraints &
Assumptions must be defined & documented with possible solutions Requirement should not
talk about any impossible thing
Clear/Unambiguous: Requirement must be clear for designer as well as for developer. For ex:
if user wants username textbox should contain at least 8 characters then he should specify
that appropriate message should be generated if user don’t enter minimum 8 characters
Measurable: Requirement can be specified within boundaries like minimum & maximum so
that it can be verified
Non-conflicting with each other: Two requirements must not specify anything which is
conflicting with each other Generally, requirements are prioritized.
Questions:-
21. Write short note on Testing during Coding. OR. Explain Testing during Coding and
Aspects to be checked.
Q1 Fitness of Use which is defined as the customer view of quality can also be termed
as_______________-
A Verification
B Validation
C Regression
D Confirmation
A Verification
B Validation
C Regression
D Confirmation
A Verification Process
B Process rework
C Standards
D Validation Process
Q4 which of the following is not considered as an official type of review in most of the
software verification
processes
A Self Review
B Peer Review
C Inspection
D Walkthrough
A Self Review
B Peer Review
C Inspection
D Walkthrough
Q6 This audit checks whether all the requisite processes of delivery are followed or not and
whether the work
A Predelivery Audit
C Periodic Audit
D Product Audit
Q7 In this review the author of the artifact presents it to all the team members and the entire
team discusses
A Audit
B Superior Review
C Inspection
D Walkthrough
Q8 This is the one who leads the complete inspection process including planning the
inspection, running it,
A Manager
B Moderator
C Author
D Reviewer
A Individual prepartion
B Inspection Meeting
D Followup
objectives of inspection.
A Manager
B Moderator
C Author
D Reviewer
Q11 Name the step that is precedor to the step 'follow up'
A Decision on comment
B Inspection Meeting
D Individual prepartion
Q12 name the audit that checks whether the phase defined in the SDLC model achieves it
outcome or not
A Predelivery Audit
B Phase End Audit
C Periodic Audit
D Product Audit
Q13 This is the person who prepares the artifact for inspection
A Scribe
B Moderator
C Author
D Reviewer
A orthogonal
B complete
C linear
D inconsistent
A Interface testing
B Integration testing
C System Testing
D Unit Testing
Q16 Name the testing that involves testing of many units by combing them together to form a
module or sub
module.
A Interface testing
B Integration testing
C System Testing
D Unit Testing
Q17 _______matrix starts with the requirements as stated in the requirement specification
and goes forward
A Traceability
B Testing
C Specification
D Execution
Q18 This si a testing program based on specification like requirement specification, design
specification, user
manual etc.
A Feature Coverage
C Functionality Coverage
D Integration Testing
A Review
B Unit testing
C Integration Testing
D Acceptance testing
A Review
B Unit testing
C Integration Testing
D Acceptance testing
A valication testing
B verification testing
C requirement testing
D stress testing
Q22 Name the technique used to find heavily used path from other path present the
application where the
A Path Sensitizing
B Path Profiling
C Path Testing
D Path reading
Q23 In this stratergy we find a defect or a bug that go through the paths
A Path Sensitizing
B Path Profiling
C Path Testing
D Path reading
Q24 the testing done to find whher the application is alive or not and also finds whether the
user can work with
it or not.
A Interface testing
B Integration testing
C System Testing
D Smoke Testing