Quality management in testing

Quality is a process of ensuring that all specified software processes have been properly executed.

Testing is a process of dynamically executing software after it is completed.

Quality Control involves the series of inspections, reviews, and tests used throughout the software process to ensure each work product meets the requirements placed upon it.

Quality Assurance consists of the auditing and reporting functions of management.

Quality Factors

We can define software quality in several ways that could, ideally, all tie together. Here are those ways:

  1. Satisfaction level - the degree to which a software product meets a user's needs and expectations.
  2. A software product's value relative to its various stakeholders and its competition.
    The extent to which a software product exhibits desired properties.
  3. The degree to which a software product works correctly in the environment it was designed for, without deviating from expected behavior.
  4. The effectiveness and correctness of the process employed in developing the software product.

The Cost of Quality

Does quality cost us anything and if so what? And how does that compare to the cost of not having quality? These are heady topics, indeed, for any organization that wants to produce satisfactory products and yet still keep a handle on things reduced development times and more dynamic release cycles of products.

There is some confusion about the business value of quality even outside the software development context. On the one hand, there are those who believe that it is economical to maximize quality.

Experiences in manufacturing fields relating to the cost and return-on-investment of quality improvements seems to suggest that there are diminishing returns to quality expenditures after a certain point.

However, quality improvements can often result in quantifiable cost savings that outweigh the funds actually spent on the quality efforts. Regardless of which side of the fence you sit on, a main focus in qualitly management is how to make profitable decisions on quality expenditures.

This problem is particularly salient in software development due to limited empirical evidence on the economics of software quality. So the key is to focus on evaluating the cost of quality and return on quality. This usually requires metrics and in terms of software engineering economics context and beyond the scope of this general overview.

The cost of quality falls into three broad categories: prevention, appraisal, and failure. Prevention costs involve investments aimed at getting work done right the first time and preventing quality problems from ever coming up, at least insofar as possible.

Examples include training, new techniques and tools, methodologies, etc. This is a proactive approach that commends itself to defect prevention rather than defect correction and removes the idea of quality efforts essentially being reactive in efforts to "put out fires."

Appraisal costs involve all of the testing and control efforts to measure whether needed quality has been achieved to some predefined level. Failure costs are those incurred by the need to fix and recover from the quality problems that do arise. One of the aims of a Quality Assurance department is to measure these collective quality costs on an ongoing basis.

(8.2)

RELATED POST


SOFTWARE QUALITY ASSURANCE AND CONTROL

SOFTWARE QUALITY AND COST ASPECT

STABLE PROCESS OF SOFTWARE TESTING

STABLE PROCESS OF SOFTWARE TESTING PART TWO


DEFECTS IN SOFTWARE TESTING

REDUCTION OF DEFECTS IN SOFTWARE TESTING

SOFTWARE TESTING AND EFFECTING FACTORS

SCOPE OF SOFTWARE TESTING

TESTING LIFE CYCLE PART ONE

TESTING LIFE CYCLE PART TWO

TESTING LIFE CYCLE PART THREE

SOFTWARE TESTING AND CONSTRAINTS WITH IN IT

TESTING CONSTRAINTS PART TWO

LIFE CYCLE TESTING

TEST METRICS

Independent Software Testing

Test Process

Testing verification and validation

Functional and structural testing

Static and dynamic testing

V model testing

Eleven steps of V model testing

Structural testing

Execution testing technique

Recovery Testing technique


Operation testing technique


Compliance software testing technique

Security testing technique

No comments:

Post a Comment