<- previous    index    next ->

Lecture 3, Software Quality Assurance


Almost all software producing organizations have some form
of software quality assurance.

Software Quality Assurance, SQA, consists of a means of monitoring
the software engineering processes and methods used to ensure
software quality. The means and methods can vary from a small
amount of monitoring to almost microscopic observation of every
detail in every step of the software development process..
Some Software Quality Assurance Organizations, SQAO, are guided
by ensuring conformance to one or more standards, such as
ISO 9000 series or CMU developed Capability Maturity Model
Integration, CMMI. Some software development requires
conformance to specific standards.

The SQAO has management, professionals with various expertise,
staff, tools, and Software Quality Plan. For the CMSC 345
Project, we will cover and support some of the CMMI.

Management has a standard statement:
"If you can not measure it, you can not manage it."
An example of a tool my section wrote, for computing
cyclomatic complexity, the testing aspects to be
covered later, is STEST.
stest.shtml
  
Our Software Quality Assurance Organization has the
following task, for which they must keep records:

A new project is started, record its name and date
and any other available information.

The System Requirements Specification, SRS, must be
reviewed and the date of the review recorded.
There may be corrections required, these must
be recorded and the final SQA approval date recorded.
SQA keeps a copy of all documents and checks previous
documents for possible change when additional
documents are reviewed.

The System Design Document, SDD, must be reviewed
and the date recorded. There may be corrections required,
these must be recorded and the final SQA approval
date recorded. Rapid prototypes are shown to SQA, yet
not kept by SQA.

The User Interface Design Document, UI, must be
reviewed and the date recorded. There may be corrections
required and these must be recorded and the final SQA
approval date recorded.

At any time, any level of management may want a summary
of the projects SQA approvals and dates.

Now code is being produced that will be submitted as it
is coded, to the SQA approved configuration tool.
e.g. SVN, CVS, etc. covered in  lecture 7.

Code Inspections are performed and some are by just the
development team, some may have a SQA person attend the
review, the final review prior to commit may be conducted
and recorded by SQA. There may be a style guide required
by SQA and checked by SQA. Style guides are covered
in  lecture 4.

The development team submits the Code Inspection Report
Document, CIR, to SQA for approval. The approval date 
and possible corrective action are recorded. There may be
quality defects that are counted and recorded.

Final testing of the product will be performed by the
development team and when they are satisfied, SQA will
witness the test procedure and possibly require
additional tests. Defects are counted and recorded.

The Testing Report Document, TR, is submitted for review
and the date recorded. As a part of the testing process,
SQA may have required metrics that must be measured.
Software Metrics are covered in lecture 5.

The product installation and use manual, Administrator
Manual, AM, is submitted to SQA for review and the
date of final approval is recorded. The product may
now be delivered to customers. A competitive product
may require  benchmarks. 

There may be a "ticket" system for customers to submit
defect reports. This would be maintained by SQA in order
to gather defect statistics. Acknowledged problems go
to the part of the team that will do the software maintenance.

The Software Quality Assurance Organization will provide
quality and time data to the marketing and proposal 
organizations when when they are bidding new projects.

More information on the companies organization chart
will be covered later.

    <- previous    index    next ->

Other links

Go to top