0% found this document useful (0 votes)
8 views25 pages

Module 5(Chapter 2) Testing

The document discusses software quality management, emphasizing the importance of defining quality attributes such as functionality, reliability, usability, efficiency, maintainability, portability, security, and compatibility. It outlines the steps in project planning to ensure quality and introduces various quality models and techniques, including Garvin's Quality Dimensions and the SEI Capability Maturity Model. Additionally, it highlights the significance of inspections and quality management systems in enhancing software quality.

Uploaded by

Vaishak Shetty
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views25 pages

Module 5(Chapter 2) Testing

The document discusses software quality management, emphasizing the importance of defining quality attributes such as functionality, reliability, usability, efficiency, maintainability, portability, security, and compatibility. It outlines the steps in project planning to ensure quality and introduces various quality models and techniques, including Garvin's Quality Dimensions and the SEI Capability Maturity Model. Additionally, it highlights the significance of inspections and quality management systems in enhancing software quality.

Uploaded by

Vaishak Shetty
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 25

MODULE 5(CHAPTER 2)

Software Quality Management


INTRODUCTION

• We need to explain precisely what qualities we


require from the system and here we need to
judge that system meets quality requirements.
• Software quality refers to the degree to which
software possesses a desired combination of
attributes, such as reliability, usability,
performance, maintainability, and more.
A REAL TIME EXAMPLE

❑Functionality:
Example: Online Banking Application Scenario: A user logs into their online banking
account to transfer money to another account. Quality Aspect: The application must
correctly authenticate the user, display the correct account balance, and successfully
process the money transfer without errors.
❑Reliability:
Example: E-commerce Website Scenario: During a major sale event, the website
experiences a high volume of traffic. Quality Aspect: Despite the heavy load, the
website remains operational and processes transactions accurately without downtime
or crashes.

• Usability:
• Example: Mobile Fitness App Scenario: A user wants to track their workout progress
and log new activities. Quality Aspect: The app has an intuitive interface, making it
easy for the user to navigate through different sections, log their workout details,
and view their progress without requiring extensive instructions.
• Efficiency:
• Example: Video Streaming Service Scenario: A user
streams a high-definition video on their device. Quality
Aspect: The service streams the video smoothly with
minimal buffering, efficiently utilizing bandwidth and
resources to provide a high-quality viewing experience
THE PLACE OF SOFTWARE QUALITY IN PROJECT
PLANNING

Quality is a major concern in all phases of software planning


and execution and will contain following steps
1.Step 1 Identify Project scope and objectives and some
objectives define the quality of the application to be
delivered.
2.Step 2 Identify Project infrastructure and this identifies
installation standards and procedures.
3.Step 3Analyse project characteristics the application to be
implemented is examined to check whether it has any
specific requirements.
• Step 8:indentifying the products and activities of this project and
in this stage entry, exit and process requirements are identified.
• Next review and publicize plan and here overall aspects of the
project plan are reviewed.
IMPORTANCE OF SOFTWARE QUALITY

Special characteristics of software require special demands


❖Increasing criticality of software: The final customer or user will be
more anxious about the final quality of the project mainly its reliability.
❖The intangibility of software makes it difficult to know that
project task is completed successfully
❖Accumulating errors during software development computer
system development where output of one step becomes as
input to the another error in the later parts well be added to
previous steps making the projects errors unable to fix.
DEFINING SOFTWARE QUALITY

• Software quality can be defined as the degree to which software meets specified
requirements, fulfills user needs, and achieves intended purposes. It encompasses
various attributes and characteristics that determine how well the software
performs, how easy it is to use, how reliably it operates, and how easily it can be
maintained and adapted. Here are some key attributes of software quality:
1. Functionality:
• Definition: The capability of the software to provide functions that meet stated
and implied needs when used under specified conditions.
• Attributes: Suitability, accuracy, interoperability, security.
2. Reliability:
• Definition: The ability of the software to perform its required functions under
stated conditions for a specified period.
• Attributes: Maturity, fault tolerance, recoverability.
Usability:
• Definition: The extent to which the software can be used by specified
users to achieve specified goals with effectiveness, efficiency, and
satisfaction in a specified context of use.
• Attributes: Understandability, learnability, operability, user error
protection, accessibility.
4. Efficiency:
• Definition: The ability of the software to provide appropriate performance
relative to the amount of resources used under stated conditions.
• Attributes: Time behavior, resource utilization, capacity.
5. Maintainability:
• Definition: The ease with which the software can be modified to correct
faults, improve performance, or adapt to a changed environment.
• Attributes: Analyzability, changeability, stability, testability.
6. Portability:
Definition: The ability of the software to be transferred from one
environment to another.
Attributes: Adaptability, installability, co-existence, replaceability.
7. Security:
• Definition: The ability of the software to protect information and data
so that unauthorized persons or systems cannot read or modify them
and authorized persons or systems are not denied access.
• Attributes: Confidentiality, integrity, non-repudiation, accountability,
authenticity.
8. Compatibility:
• Definition: The capability of the software to interact with one or more
specified systems.
• Attributes: Co-existence, interoperability.
SOFTWARE QUALITY MODELS

• Its really hard to directly effect the quality of the software


and however it is directly measure the quality of the
software.
• However it can be expressed in terms of several
attributes of the software that can be directly measured.
GARVIN'S QUALITY DIMENSIONS

Different attributes are


1. Performance:How well it performs the job
2. Features:How well it supports the required features
3. Reliability:Probability of a product working satisfactorily
within specific period of time
4. Conformance:degree to which product meets requirements
5. Durability:measure of product life
6. Servicability:speed and effectiveness maintanence
7. Aesthatics:the look and feel of the product
8. Perceived quality:Users opinion about product quality
BOEHMS MODEL

Here quality of the software can be defined in terms of


three high level characteristics that define the overall
quality of the software
• As is utility:how well it can be used
• Maintanability:how easy it is to understand,modify and
retest
• Portability:how difficult it would be to make the software in
changed environment
QUALITY PLANS

• Some organizations produce quality plans for each project


and these shows how the standard quality and procedures
laid down in organizations quality manual.
• A quality plan might have entries for
1. Purpose-scope of plan
2. Refereences to other documents
3. Documentation to be produced
4. Standards,practices and conventions
5. Tools,techniques and methodologies
6. Training
7. Risk management
PROCESS CAPABILITY MODELS

SEI Capability Maturity Model(CMM)


• United state department of defense is one of the largest buyers of the software
products in the world and it has faced difficulties with quality of performance of
vendors and they had to deal with the quality of low cost products and late
delivery.
• Most of DOD Contractors began to take CMM based improvement initiatives
and SEI CMM Model helped to improve the quality of software they developed.
• SEI CMM Can be used in two different ways: capability evaluation and process
assessment.
• Capability evaluation is concerned with software process capability of an
organization.
• In process assessment the quality level is assessed by a team of accessors
coming and interviewing the key staff about their practices and standards.
CAPABILITY MATURITY MODEL
INTEGRATION
ISO 1550 PROCESS ASSESSMENT
IMPLEMENTING PROCESS IMPROVEMENT

• Cmmi integration has now grown over to 500 pages and here we can see
through a real time example.
• UVW is a company that builds machine tool equipment containing
sophisticated control software.
• This equipment also produces log files of fault and other performance data
in electronic format.
• Here UWV produces software that reads these log files and produces
analysis reports and execute queries.
• Both the control and analysis software is maintained by software
engineering department.
• A Project for a new control system is controlled by project
engineering with overall responsibility for managing both
TECHNIQUES TO ENHANCE SOFTWARE
QUALITY

• Increased visibility: The main focus of software quality was Gerald Weinberg's
egoless programming concept. Here it was a simple practice of programmers
looking at each others code.
• Procedural structure; Before programmers were allowed to write and there
was methodologies where every process in software development life cycle has
laid down steps.
• Checking intermediate stages: These stages, known as maturity levels, serve
as benchmarks for measuring the effectiveness and maturity of an organization's
processes.
INSPECTIONS

• Inspections can be applied to documents produced at


development stage and here when a piece of work is
completed copies are distributed to co workers.
• Using this technique can be for
• Very effective way of removing superficial errors
• Motivates developers to produce structured and self
explanatory software
• Enhances team spirit
QUALITY MANAGEMENT SYSTEMS

You might also like