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

Used To Monitor and Improve The Software Development Process Making Sure That Standards and Procedures Are Followed Ensures That Problems Are Found and Dealt With Orientated To Prevention'

SQA establishes standards and procedures to ensure quality in software development. It involves quality assurance, quality planning, and quality control. Key aspects of SQA include establishing documentation standards, design standards, and code standards. SQA also relies on reviews, audits, and metrics to evaluate adherence to standards and identify issues needing improvement. The overall goal of SQA is to prevent problems and ensure a systematic, compliant approach to software development.

Uploaded by

sunita_singh0288
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
52 views

Used To Monitor and Improve The Software Development Process Making Sure That Standards and Procedures Are Followed Ensures That Problems Are Found and Dealt With Orientated To Prevention'

SQA establishes standards and procedures to ensure quality in software development. It involves quality assurance, quality planning, and quality control. Key aspects of SQA include establishing documentation standards, design standards, and code standards. SQA also relies on reviews, audits, and metrics to evaluate adherence to standards and identify issues needing improvement. The overall goal of SQA is to prevent problems and ensure a systematic, compliant approach to software development.

Uploaded by

sunita_singh0288
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 34

Used to Monitor and Improve

the Software Development


Process
Making Sure That Standards
and Procedures
Planned are Followed
and Systematic Approach to
the Evaluation
Ensures of the Quality
that Problems areof and
Adherence
Found andto: Dealt with
Software Product Standards
Orientated
Processes to ‘Prevention’
Procedures
Assures that Standards and Procedures
Conformance to explicitly stated functional and performance requirements, explicitly documented
development standards, and implicit characteristics that are expected of all professionally developed
are Established and Followed
software

throughout the Software Development


Process
IEEE ISO 9000 Certified
Quality assurance
Establish organisational procedures and standards for
quality.
Quality planning
Select applicable procedures and standards for a
particular project and modify these as required.
Quality control
Ensure that procedures and standards are followed by
the software development team.
Quality management should be separate from
project management to ensure independence.

Quality assurance and


standards
Importance of standards
They may not be seen as relevant and
up-to-date by software engineers.
They often involve too much
bureaucratic form filling.
If they are unsupported by software
tools, tedious manual work is often
involved to maintain the
documentation associated with the
standards.

Standards development
An international set of standards for
quality management.
Applicable to a range of organisations
from manufacturing to service
industries.
ISO 9001 applicable to organisations
which design, develop and maintain
products.
ISO 9001 is a generic model of the
quality process that must be
instantiated for each organisation using
the standard.
Quality standards and procedures
should be documented in an
organisational quality manual.
An external body may certify that an
organisation’s quality manual conforms
to ISO 9000 standards.
Some customers require suppliers to be
ISO 9000 certified although the need
for flexibility here is increasingly
recognised.
Particularly important - documents are the
tangible manifestation of the software.
Documentation process standards
Concerned with how documents should be developed,
validated and maintained.
Document standards
Concerned with document contents, structure, and
appearance.
Document interchange standards
Concerned with the compatibility of electronic
documents.
Document identification standards
How documents are uniquely identified.
Document structure standards
Standard structure for project documents.
Document presentation standards
Define fonts and styles, use of logos, etc.
Document update standards
Interchange standards allow electronic
Define how changes from previous versions
documents to be exchanged, mailed, etc.
are reflected in a document.
Documents are produced using different
systems and on different computers. Even
when standard tools are used, standards are
needed to define conventions for their use
e.g. use of style sheets and macros.
Need for archiving. The lifetime of word
processing systems may be much less than
the lifetime of the software being
documented. An archiving standard may be
defined to ensure that the document can be
accessed in future.
A quality plan sets out the desired
product qualities and how these are
assessed and defines the most
significant quality attributes.
The quality plan should define the
quality assessment process.
It shouldplan
Quality set structure
out which organisational
standards should be applied and,
Product introduction;
where
Product necessary,
plans; define new standards
to be used.
Process descriptions;
Quality goals;
Risks and risk management.
Quality plans should be short, succinct
documents
If they are too long, no-one will read them.
This involves checking the software
development process to ensure that
procedures and standards are being
followed.
There are two approaches to quality
control
This is the principal method of validating the
Quality reviews;
quality of a process or of a product.
Automated software assessment and
A group examines part or all of a process or
software measurement.
system and its documentation to find
potential problems.
There are different types of review with
different objectives
Inspections for defect removal (product);
Reviews for progress assessment (product and
Quality reviews (product and standards).

Quality reviews
Quality function - they are part of the
general quality management process.
Project management function - they
provide information for project
managers.
Training and communication function -
product knowledge is passed between
The objective is the discovery of system
development team members.
defects and inconsistencies.
Any documents produced in the
process may be reviewed.
Review teams should be relatively small
and reviews should be fairly short.
Records should always be maintained
of quality reviews.
Review results
Software measurement is concerned with
deriving a numeric value for an attribute of a
software product or process.
This allows for objective comparisons
between techniques and processes.
Although some companies have introduced
measurement programmes, most
organisations still don’t make systematic use
of software measurement.
There are few established standards in this
area.
Software metric
Metrics assumptions
A software measurement process may
be part of a quality control process.
Data collected during this process
should be maintained as an
organisational resource.
Once a measurement database has
been established, comparisons across
projects become possible.
A metrics programme should be based
on a set of product and process data.
Data should be collected immediately
(not in retrospect) and, if possible,
automatically.
Three types of automatic data
Don’t collect unnecessary data
collection
The questions
Static product to be answered should be
analysis;
decided
Dynamicinproduct
advance and the required data
analysis;
identified.
Process data collation.
Tell people why the data is being
collected.
It should not be part of personnel evaluation.
Don’t rely on memory
Collect data when it is generated not after a
project has finished.
Product metrics
Dynamic metrics are closely related to
software quality attributes
It is relatively easy to measure the response time of a
system (performance attribute) or the number of
failures (reliability attribute).
Static metrics have an indirect relationship
with quality attributes
You need to try and derive a relationship between
these metrics and properties such as complexity,
understandability and maintainability.
Framework for which Software
Evolves
Standards
Established Criteria to which Software
Products are Compared
Procedures
Established Criteria to which
Development andof Standards
• Proper Documentation Control andProcedures arefor SQA
Procedures is Necessary
Followed
SQA is based on the Following of
Standards and Procedures

• SQA Activities of Process Monitoring, Product Evaluation, and Auditing rely


on these Standards and Procedures

• Any number of different Standards and Procedures can be used on a given


system

Requirement Standards

• Specify the Form and Content of how Requirements are defined in a


System

• Establishes a System of how to write a Requirement

• Short Phrase Describing Requirement

• Elaborate into more Detail

• Use a Numbering System for the Major Requirements and Sub-


Requirements

• Many Major Companies have Software to aid in the Requirement


Writing Process

Design Standards

• Specify the Content and Form of how Design Documents are


Developed

• Provide Rules and Methods to Transfer:

• Software Requirements to Software Design

• Software Design into Software Design Documentation

• Many Major Companies have Design Development Software to aid in


the Process

• Code Standards
• Specify what Language the Code is written in and Define any
Restrictions on Language Features

• Code Standards Define:

• Legal Language Structures

• Style Conventions

• Rules for Data Structures and Interfaces

• Internal Code Documentation

• Using Methods such as “Peer Reviews”, “Buddy Checks”, and Code


Analysis can Enforce Standards

Code Standards

• A good thing but too many will Force Productivity and Creativity to
Suffer

• Examples of Good Code Standards:

• Reduction or Elimination of Global Variables

• Function and Method Sizes should be Minimized

• Each Line of Code should be Seventy Characters Maximum

• One Code Statement per Line

• Etc…

• Documentation Standards

• Specify Form and Content for Planning, Control, and Product


Documentation

• Provide Consistency throughout a System

• Documentation can be written in any form


• Each Practice should be Documented so it can be Repeated or
Changed later if needed

Documentation Standards

• Everything in a System should be Documented including:

• Specifications

• Designs

• Business Rules

• Inspection Reports

• Configurations

• Code Changes

• Test Plans

• Test Cases

• Bug Reports

• User Manuals

• Etc…

• A System should be used to easily find and obtain Information about


a System and what Documentation will have that piece of
Information
Audit
The Major Technique used in SQA
Perform Product Evaluation and Process
Monitoring
Performed Routinely throughout the Software
Development Process
Look at a Process and/or Product in depth and
compare to Established Standards and
Procedures
Purpose is to assure that:
Proper Control Procedures are being followed
Required Documentation is maintained
Developer’s
• Audit Status Reports accurately reflect the status
of the activity
– Used to:

• Review Management

• Technical Processes

• Assurance Processes

– Provide an indication of the Quality and Status of the Software


Product

– SQA Product is an Audit Report to Management consisting of


Findings and Recommendations to bring development up to par with
Standards and Procedures

Many different Tools on the market


today for SQA
Each Tool works differently but
accomplishes same goal:
Help Improve the Development Process of a
Computer System
Look at two different Tools:
Configuration and Problem Management
Borland StarTeam and Lucent Technologies Sablime
Testing Software
Programming Research QA C++ and Parasoft Jtest
Borland StarTeam
Can be Tailored to any Software Development Team
Can be used with various work teams based on Size,
Distribution, and Work Style
Manage the whole Development Process using a
Centralized Control of Project Assets
Promotes team communication and collaboration
Offers:
Integrated Change Management
Threaded Discussion
Project and Task Management
All Project Modules stored in one Repository
Uses Windows Server Interface, but is Multiplatform on
each of the Clients

Essential to the Development Process


Without SQA, many Development Groups
would not reach their release goals/deadlines
on time
Spend too much time Revisiting
Requirements, Design, Code, and
Documentation without SQA
Lowers time spent on mundane areas and lets
more time be focused on important areas
Decreases the time from Development to
Deployment
Can help catch errors before they are too
costly to fix
Projects

Implies information about


software defects is collected and
categorized
An attempt is made to trace each
defect to its underlying cause
Isolate the vital few causes of the
TQM is a philosophy which applies equally to all parts
major source of all errors
of the organization.
TQM can be viewed as an extension of the traditional
Then
approachmove to correct the
to quality.
TQM places the customer at the forefront of quality
problems
decision making.that have caused the
defects
Greater emphasis on the roles and responsibilities of
every member of staff within an organization to
influence quality.
All staff are empowered.
Leadership
Top management vision, planning and support.
Employee involvement
All employees assume responsibility for the quality of their
work.
Product/Process Excellence
Involves the process for continuous improvement.

• Continuous Improvement

– A concept that recognizes that quality improvement is a journey with


no end and that there is a need for continually looking for new
approaches for improving quality.

• Customer Focus on “Fitness for Use”

– Design quality

• Specific characteristics of a product that determine its value in


the marketplace.

– Conformance quality

• The degree to which a product meets its design specifications.


“A set of inter-related resources and activities
which transform inputs into outputs.” (ISO
8402).
“Any activity that accepts inputs, adds values
to these inputs for customers, and produces
outputs for these customers. The customers
may be either internal or external to the
organization.” (BS 7850)
(Source: BS 7850: 1992, “Total Quality Management”)

(Source: BS 7850: 1992, “Total Quality Management”)

TQM
Open communications
Empowerment
Prevention
External focus on customer
Continuous improvement
Co-operative relations
Solving problems at their roots
Source: Slack et al. 2004

Technical Quality versus Functional Quality


Technical quality — the core element of the good or service.

Functional quality — customer perception of how the good


functions or the service is delivered.

Expectations and Perceptions


Customers’ prior expectations (generalized and specific
service experiences) and their perception of service
performance affect their satisfaction with a service.

Satisfaction = (Perception of Performance) – (Expectation)


Source: Parasuraman, Zeithman and Berry. 1985

Philosophy that seeks to make never-ending


improvements to the process of converting inputs into
outputs.
Kaizen: Japanese
word for continuous
improvement.
Successful Implementation of TQM
Requires total integration of TQM into day-to-day
operations.

Causes of TQM Implementation Failures


Lack of focus on strategic planning and core
competencies.
Obsolete, outdated organizational cultures.

Lack of a company-wide definition of quality.


Lack of a formalized strategic plan for change.
Lack of a customer focus.
Poor inter-organizational communication.
Lack of real employee empowerment.
Lack of employee trust in senior management.
View of the quality program as a quick fix.
Drive for short-term financial results.
Politics and turf issues.
Blind pursuit of TQM programs
Programs may not be linked to strategies
Quality-related decisions may not be tied to
market performance
Failure to carefully plan a program

Promotion of high quality goods and services


Malcolm Baldrige National Quality Award (MBNQA)
(United States)
Deming Prize (Japan)
European Quality Award (European Union)
ISO9000 certification

Source: 2004 Criteria for Performance Excellence, U.S. Dept. of Commerce, Baldrige National Quality Program, National Institute of Standards and Technology,
Gaithersburg, MD 20899. (www.quality.nist.gov)

Static Test Tools: These tools do not involve actual input and output. Rather, they take a
symbolic approach to testing, i.e. they do not test the actual execution of the software.
These tools include the following: ,

1) Flow analyzers: They ensure consistency in data flow from input to output.

2) Path tests: They find unused code and code with contradictions.

3) Coverage analyzers: It ensures that all logic paths are tested.


4) Interface analyzers: It examines the effects of passing variables and data between
modules.

Dynamic Test Tools: These tools test the software system with 'live' data. Dynamic test
tools include the following

1) Test driver: It inputs data into a module-under-test (MUT).

2) Test beds: It simultaneously displays source code along with the program under
execution.

3) Emulators: The response facilities are used to emulate parts of the system not yet
developed.

4) Mutation analyzers: The errors are deliberately 'fed' into the code in order to test fault
tolerance of the system.

Characteristics of Modern testing tools


1. Its should use one or more testing strategies for
testing on host as well as on target platform.
2. It should support GUI based test preparation.
3. It should provide complete test coverage and test
documentation in various formats eg.
HTLML,DoC,RTF.
4. These tools should able to adopt the underlaying
hardware.
5. It should be easy to use .
6. It should provide a clear report on test cases ,steps,
and test case status ie whether test case is Passed
or Failed.
Introduction to Software Test
Software testing is a critical element of software quality assurance and represents the ultimate
process
to ensure the correctness of the product. The quality product always enhances the customer
confidence
in using the product thereby increases the business economics. In other words, a good quality product
means zero defects, which is derived from a better quality process in testing.

Testing the product means adding value to it, which means raising the quality or reliability of the
Program. Raising the reliability of the product means finding and removing errors.

Testing is the process of executing a program with the intent of finding errors.
Purpose of Testing
To show the software works: It is known as demonstration-oriented
To show the software doesn’t work: It is known as destruction-oriented
To minimize the risk of not working up to an acceptable level: it is known as evaluation-oriented

You might also like