You are on page 1of 7

UNIT-II

Quality Standards: Quality Standards, Practices and Conventions -


Software Configuration Management - Reviews and Audits - Enterprise
Resource Planning Software.

2.1 QUALITY STANDARDS, PRACTICES AND CONVENTIONS:

1. Software
2. Software Testing
3. Software Quality Assurance
4. Software Quality
5. Software Standards
6. Software Practices
7. Software Conventions

1. Software

Software is a set of programs which is designed to perform a well


defined functions or it is an sequence of instructions written to solve a
particular problem.

2. Software Testing

Software testing is an method of assessing the functionality of a


software program.

2.1 Types

Dynamic Testing:

Conducted at the program‟s execution.

Static Testing:

Examinations of the program code and associated documentation.

3. Software Quality Assurance

 Quality assurance system is the organizational structure,


responsibilities, procedures, processes and resources for
implementing quality management.
 “Conformance to explicitly stated functional and performance
requirements, explicitly documented development standards, and
implicit characteristics that expected of all professional developed
software.”
4. Quality

Quality refers to any measurable characteristics such as correctness,


maintainability, portability, testability, usability, reliability, efficiency,
integrity, reusability and interoperability.

4.1 Five views of Software Quality

 Transcendental view
 User‟s view
 Manufacturing view
 Product view
 Value-based view

4.2 Quality Concepts

Quality of Design:

Quality of Design refers to the characteristics that designer‟s specify


for an item.

Quality of Conformance:

Quality of Conformance is the degree to which the design


specifications are followed during manufacturing.

Quality Control:

Quality Control is the series of inspections, reviews and tests used


throughout the development cycle to ensure that each work product meets
the requirements placed upon it.

Quality Policy:

Quality policy refers to the basic aims and objectives of an


organization regarding quality as stipulated by the management.

Page 2 of 28
Quality Assurance:

Quality assurance consists of the auditing and reporting functions of


management.

Cost of Quality:

Cost of Quality includes all costs incurred in the pursuit of quality or


in performing quality related activities such as appraisal costs, failure costs
and external failure costs.

Quality Planning:

Quality planning is the process of assessing the requirements of the


procedure and of the product and the context in which these must be
observed.

Quality Assurance Plan:

Quality assurance plan is the central aid for planning and checking
the quality assurance.

Quality Assurance System:

Quality assurance system is the organizational structure,


responsibilities, procedures, processes and resources for implementing
quality management.

4.3 Cost of Quality

 Prevention costs include

 quality planning
 formal technical reviews
 test equipment
 Training
 Internal failure costs include

 rework
 repair
 failure mode analysis
 External failure costs are

o complaint resolution
o product return and replacement
o help line support
 warranty work
5. Software Standards

It is an standard protocol, or other common format of a document, file


or data transfer accepted and used by one or more software developers while
working on one or more than one computer programs.

5.1 Some Standards Organizations:

o ANSI: American National Standards Institute


( Does not itself make standards but approves them).
o AIAA: American Institute of Aeronautics and Astronautics
(e.g. AIAA R-013-1992 Recommended Practice for Software
Reliability).
o EIA: Electronic Industries Association
(e.g. EIA/IS-632 Systems Engineering).
o IEC: International Electrotechnical Commission
(e.g. IEC 61508 Functional Safety - Safety-Related Systems)
o IEEE: Institute of Electrical and Electronics Engineers
Computer Society Software Engineering Standards Committee
(e.g. IEEE Std 1228-1994 Standard for Software Safety Plans)
o ISO: International Organization for Standardization
(e.g. ISO/IEC 2382-7:1989 Vocabulary-Part 7: Computer
Programming)

6. Practices

6.1 The Basic Practices

 Functional Specifications
 Reviews and Inspection
 Formal entry and exit criteria
 Functional test - variations
 Multi-platform testing
 Internal Betas
 Automated test execution
 Beta programs
 'Nightly' Builds

Functional Specification

A functional specification often describes the external view of an


object or a procedure indicating the options by which a service could be
invoked. The testers use this to write down test cases from a black box
testing perspective.

Page 4 of 28
Reviews and Inspection

It is argued that software inspection can easily provide a ten times


gain in the process of debugging software.

Formal Entry and Exit Criteria

 The idea is that every process step, be it inspection, functional test, or


software design, has a precise entry and precise exit criteria.

 These are defined by the development process and are watched by


management to gate the movement from one stage to another.

 It is arguable as to how precise any one of the criteria can be, and
with the decrease of emphasis development, process entry and exit
criteria went out of currency.

Functional Test – Variations

 Most functional tests are written as black box tests working off a
functional specification. The number of test cases that are generated
usually are variations on the input space coupled with visiting the
output conditions.

 A variation refers to a specific combination of input conditions to yield


a specific output condition.

Multi-Platform Testing

 Many products today are designed to run on different platforms which


create the additional burden to both design and test the product.

 When code is ported from one platform to another, modifications are


sometimes done for performance purposes.

 The net result is that testing on multiple platforms has become a


necessity for most products.

 Therefore techniques to do this better, both in development and


testing, are essential.

 This best practice should address all aspects of multi-platform


development and testing.

Page 5 of 28
Internal Betas

 The idea of a Beta is to release a product to a limited number of


customers and get feedback to fix problems before a larger shipment.

 For larger companies, such as IBM, Microsoft and Oracle, many of


their products are used internally, thus forming a good beta audience.

 Techniques to best conduct such an internal Beta test are essential


for us to obtain good coverage and efficiently use internal resources.

 This best practice has everything to do with Beta programs though on


a smaller scale to best leverage it and reduce cost and expense of an
external Beta.

Automated Test Execution

The goal of automated test execution is that we minimize the amount


of manual work involved in test execution and gain higher coverage with a
larger number of test cases.

‘Nightly’ Builds

The concept of a nightly build has been in vogue for a long time. While
every build is not necessarily done every day, the concept captures frequent
builds from changes that are being promoted into the change control
system.

7. Conventions

 Coding conventions are a set of guidelines for a specific programming


language that recommend programming style, practices and methods
for each aspect of a piece program written in this language.

 These conventions usually cover file organization, indentation,


comments, declarations, statements, white space, naming
conventions, programming practices, programming principles,
programming rules of thumb, architectural best practices, etc. These
are guidelines for software structural quality.

 Software programmers are highly recommended to follow these


guidelines to help improve the readability of their source code and
make software maintenance easier.

 Coding conventions are only applicable to the human maintainers and


peer reviewers of a software project.

Page 6 of 28
 Conventions may be formalized in a documented set of rules that an
entire team or company follows, or may be as informal as the habitual
coding practices of an individual.

 Coding conventions are not enforced by compilers. As a result, not


following some or9 all of the rules has no impact on the executable
programs created from the source code.

2.2 SOFTWARE CONFIGURATION MANAGEMENT:

In software engineering, software configuration management (SCM)


is the task of tracking and controlling changes in the software.
Configuration management practices include revision control and the
establishment of baselines.

1. Maintenance is a set off software engineering activities that occur


after software has been delivered so the customer.

2. Software configuration management is a set of tracking and control


activities that begin when a software projects begins.

3. It terminates only when the software is taken out of operation.

Software Maintenance

1. The maintenance of existing software can account of over 60% of all


effort expended by a development organization.
2. The ubiquitous nature of change underlies all software work.
3. Change is inevitable when computer based system are built.
4. Their external environment, making enhancement requested by
user and reengineering an application.
5. When maintenance is considered to encompass all of these
activities. It is relatively easy to see and absorbs.

Metrics

The primary objectives for object-oriented metros are the same as


those metric derived for conventional software.

•To better understand the quality of the product.


•To assess the effectiveness of the process.
•To improve the quality of work performed at a perfect level

Page 7 of 28