0% found this document useful (0 votes)
46 views

Software Testing

This document discusses software testing and quality assurance. It defines key goals of testing like correctness, completeness, consistency, and conformance to standards. It also discusses important quality attributes like portability, reliability, efficiency, and more. The document outlines different types of reviews, inspections, and techniques used for verification and validation like walkthroughs, static analysis, symbolic execution, and testing. Overall it provides an overview of best practices for testing software and ensuring quality.

Uploaded by

AK MAHESWARAN
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
46 views

Software Testing

This document discusses software testing and quality assurance. It defines key goals of testing like correctness, completeness, consistency, and conformance to standards. It also discusses important quality attributes like portability, reliability, efficiency, and more. The document outlines different types of reviews, inspections, and techniques used for verification and validation like walkthroughs, static analysis, symbolic execution, and testing. Overall it provides an overview of best practices for testing software and ensuring quality.

Uploaded by

AK MAHESWARAN
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 21

Testing

Error is human – Proverb

Any one can make mistakes, so that all


pencils are having erasers – Oscar Wilde

Goals
To assess and improve the quality of the
work products generated during
development and modification of software.
Quality Attributes

Correctness
Completeness
Consistency
Reliability
Efficiency
Conformance to standards and
over all cost effectiveness
Portability
Ease with software can be transferred from one computer or
environment to another

Reliability
Ability of a program to perform a required function under stated
condition for a stated period of time.

Efficiency
The extent to which the software performs its intended function with
a minimum consumption of computing resources.

Correctness
i) Software is free from design and coding defects – or fault free
ii) Software meets its specified requirements
iii) Software meets user expectations

Robustness
Software can continue to operate correctly – even though the input
is wrong.
Work Products
REVIEW WORK PRODUCTS

PFR : Product Feasibility Review System Definition / Project Plan

SRR : Software Requirements Review SRS / Preliminary User’s Manual


Preliminary Verification Plan

PDR: Preliminary Design Review Architectural Design Document

CDR: Critical Design Review Detailed Design Spec.


User’s Manual
Software Verification Plan

SCR: Source Code Review Walkthroughs and Inspection of


The Source Code

ATR: Acceptance Test Review Acceptance Test Plan

PRR : Product Release Review All of the Above

PPM: Project Post-Mortem Project Legacy


Verification - Are we Building the
product right?
Validation - Are we Building the right
product?
VERIFICATION

Process of determining whether or not


an object in a given phase of the software
development process satisfies the
requirements of previous phases.
VERIFICATION TYPES

 Life Cycle Verification – Process of determining


the degree to which the work products of a
given phase of the development cycle fulfill the
specifications established during prior phases
(refer the previous cases).

 Formal Verification – Rigorous mathematical


demonstration that source code conforms to its
specifications
VALIDATION

Process of evaluation software at the


end of the software development process
to ensure compliance with requirements.
In short – Verification and Validation
involve assessment of work products
to determine conformance to
specifications
Specifications –include

 Requirements Specification ( examined to conformance to


user needs,
 Environmental constraints and notational standards)
 Design Documents (with respect to requirements).
 Various Stylistic Guidelines (Structured Coding Techniques
and Coding Style)
 Implementation language standards (Modern Language
Features)
 Project standards (Performance Details)
 Organizational Standards ( Project and Team Structure )
 User Expectations (Screen and Report formats)
Software Errors
Requirements Error

 Caused by incorrect statement of user needs


 Failure to specify the functional and performance requirements
completely
 Infeasible requirements
 Inconsistencies among the requirements

Design Errors

 Failure to translate the requirements into correct and complete


solution structures
 Inconsistency with the design specifications

Implementation Errors

 Errors made in translating design spec into source code


 Can occur due to data declarations, control flow logic, sub-program
interfaces, input/output operations or by computational expressions
Techniques
 SQA
 Walkthroughs
 Inspections
 Static Analysis
 Symbolic Execution
 Unit testing & Debugging
 System testing
 Formal Verification
QUALITY ASSURANCE

Planned and Systematic pattern of


all actions necessary to provide adequate
confidence that the item or product
conforms to established technical
requirements
SQA

To provide assurance that the


procedures, tools and techniques used
during product development and
modification are adequate to provide the
desired level of confidence in work
products
Functions of SQA
During Analysis and Design

 Software Verification Review is conducted – Software Verification


Plan and an Acceptance Test Plan are prepared

During Product Evolution

 In-Process Audits are conducted to verify the consistency and


completeness of the work products

Prior to Product Delivery

 Functional Audit (Reconfirms the requirements have been met) and


 Physical Audit (Source Code and its associated documents) Audits
Walkthrough
Is not a project review but it is an in-
depth examination of selected work
products by the individuals.

Goal
To discover and make note of problem
areas
Guidelines
1. Work should be reviewed on a scheduled basis

2. Emphasis should be placed on detecting errors

3. Major issues should be addressed

4. Walkthrough sessions should be limited to 2


hours (Open and non defensive atmosphere)
INSPECTIONS
 A Team of trained inspectors, working
from checklists of items to be examined

Items to be inspected are:


Subprogram interfaces, Decision Logic,
Data referencing, computations
expressions, I/O statements, Comments,
Data flow and Memory Usage
STATIC ANALYSIS
 Assessing the structural characteristics of source
code
Activity
Structure of the code is examined but the code
is not executed
Concerned with the program structure
Discovering the departure of coding standards,
structural errors like uninitialized variable and
mismatch of parameters (Actual and Formal)
SYMBOLIC EXECUTION
 Validation Technique

Activity
Instead of actual data the symbolic values
are used to assess the code

Determines the loop invarients


That's all folks!

Any Questions?

You might also like