2. Quality
Quality: The degree to which a component, system or process meets specified
requirements and/or user/customer needs and expectations.Quality is a “complex and
multifaceted concept “ that can be described from five different points of view -
Transcendental View, user view, manufacturer’s view, product view and value- based
view.
Transcendental View - Quality that you immediately recognize, but can not explicitly
define.
User View - Quality in terms of end user’s specific goals.
Manufacturer’s View - Quality in terms of original specification of the product.
Product View - Quality can be tied to inherent characteristics(eg. Function & features )
of product.
Value-based view - Measures quality based on how much a customer is willing to pay
for a product.
3. Software Quality
“An effective software process applied in a manner that creates a useful product
that provides measurable value for those who produce it and those who use it”
“In the context of software engineering, software quality measures how well
software is designed (quality of design), and how well the software conforms to
that design (quality of conformance). It is often described as the ‘fitness for
purpose’ of a piece of software.”
Example: Consider a functionally correct software product. That is, it
performs all tasks as specified in the SRS document. But, has an almost
unusable user interface. Even though it may be functionally right, we
cannot consider it to be a quality product.
4. Software product several quality methods :
Portability: A software device is said to be portable, if it can be freely made to work in
various operating system environments, in multiple machines, with other software
products, etc.
Usability: A software product has better usability if various categories of users can easily
invoke the functions of the product.
Reusability: A software product has excellent reusability if different modules of the
product can quickly be reused to develop new products.
Correctness: A software product is correct if various requirements as specified in the SRS
document have been correctly implemented.
Maintainability: A software product is maintainable if bugs can be easily corrected as
and when they show up, new tasks can be easily added to the product, and the
functionalities of the product can be easily modified, etc.
5. Cost of Quality
The term cost of quality (COQ) is a means to sum up product quality-related costs (control,
detection, prevention) and defect-related costs (failure, non-conformance, deficiencies). By
doing this, company management can evaluate the soundness of investments into quality.
The Cost of Quality includes prevention, appraisal, and correction or repair costs. COQ is
split into two groups: cost of control and cost of failure of control, with each further split into
two sub-categories.
Cost of control includes prevention cost (to prevent defects) and appraisal cost (to detect
defects), while cost of failure of control consists of internal failure and external failure costs.
6.
7. Prevention Cost:
● The cost of management activities required to plan and coordinate all quality control and
quality assurance activities.
● The cost of added technical activities to develop complete requirements and design
models.
● Test Planning cost
● The cost of all training associated with these activities.
● Example:e.g. quality planning, project management, feature review, product review, Agile and
process review, team training.
Appraisal Cost:
● Cost of conducting technical review.
● Cost of data collection and metrics evaluation.
● Cost of testing and debugging.
● Example:e.g. measurements, audits, evaluations, inspections, testing.
8. Internal Failure:
● Cost required to perform rework(repair) to correct an error.
● Cost that occurs when rework inadvertently generates side effects that must
be mitigated.
● Cost associated with the collection of quality metrics that allow an
organization to assess the modes of failure.
● Example:re-work, re-testing, bug fixing, re-design.
External Failure:
External costs are associated with defects found after the product has been
shipped to the customer.Eg. complaint resolution, product return and
replacement, helpline support and warranty work.
9. Software Quality Assurance
Software Quality Assurance (SQA) is simply a way to assure quality in the software. It
is the set of activities which ensure processes, procedures as well as standards
suitable for the project and implemented correctly.
Software Quality Assurance is a process which works parallel to development of a
software. It focuses on improving the process of development of software so that
problems can be prevented before they become a major issue. Software Quality
Assurance is a kind of an Umbrella activity that is applied throughout the software
process.
10. Elements of SQA
Reviews and audits:Technical reviews are a quality control activity performed
by software engineers for their intent is to uncover errors.Audits are the types of
review performed by SQA personnel with the intent of ensuring the quality
guidelines are being followed for software engineering works.
Testing: Software testing is a quality control function that has one primary goal
to find errors.The job of SQA is to ensure that testing is properly planned and
efficiently conducted.
Error/defect collection and analysis: SQA collects and analyzes errors and
defect data to better understand how errors are introduced & what software
engineering activities are best suited to eliminating them.
11. Change Management: Change is one of the most disruptive aspects of
software project.If it is not properly managed , change can lead to confusion and
confusion almost always leads to poor quality.
Education : Every software organization wants to improve its software
engineering practices. The SQA organization takes the lead in software process
improvement and is a key proponent and sponsor of educational programs.
Security Management: SQA ensures that appropriate process and technology
are used to achieve software security.
Risk Management: SQA organization ensures that risk management activities
are properly conducted and that risk related contingency plans have been
established.
12. Software Quality Assurance have:
1. A quality management approach
2. Formal technical reviews
3. Multi testing strategy
4. Effective software engineering technology
5. Measurement and reporting mechanism
13. Benefits of Software Quality Assurance (SQA):
1. SQA produce high quality software.
2. High quality application saves time and cost.
3. SQA is beneficial for better reliability.
4. SQA is beneficial in the condition of no maintenance for long time.
5. High quality commercial software increase market share of company.
6. Improving the process of creating software.
7. Improves the quality of the software.
Disadvantage of SQA:
There are a number of disadvantages of quality assurance. Some of them include adding more
resources, employing more workers to help maintain quality and so much more.
14. Trade-Offs
A trade-off (or tradeoff) is a situational decision that involves diminishing or losing one quality,
quantity or property of a set or design in return for gains in other aspects.
During software development, tradeoffs are made on a daily basis by the people participating in
the development project. Different roles in the project have to handle different tradeoffs.
Some examples are that managers distribute work to developers and while doing so they have to
balance the workload between the developers and deciding how many people that should be
assigned to a particular task. If more people are assigned to a task then the task will be
completed faster, but adding more people past a certain point only serves to increase the
overhead of the group and in turn increases the time it takes to complete the task. Developers in
turn make decisions regarding design and implementation details.
15. Failure Analysis
Failure analysis is the process of collecting and analyzing data to determine the
cause of a failure, often with the goal of determining corrective actions or liability.
Failure analysis is undertaken across all branches of manufacturing industry to
prevent future asset and product fails as well as protecting against potentially
dangerous risks to people and the environment.