0% found this document useful (0 votes)
13 views22 pages

Software Quality and Testing Overview

Uploaded by

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

Software Quality and Testing Overview

Uploaded by

kirthimadishetty
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

1

BCA504 SOFTWARE QUALITY AND TESTING

Credits: 4
UNIT I
INTRODUCTION TO SOFTWARE QUALITY Ethical Basis for Software Quality – Total Quality
Management Principles – Software Processes and Methodologies – Quality Standards,
Practices & Conventions –Improving Quality with Methodologies –
Structured/Information Engineering – Measuring Customer Satisfaction– Software Quality
Engineering – Defining Quality.

UNIT II
SOFTWARE QUALITY METRICS AND RELIABILITY Writing Software Requirements and
Design Specifications – Analysing Software Documents using Inspections and
Walkthroughs – Software Metrics – Lines of Code, Cyclamate Complexity, Function Points,
Feature Points – Software Cost Estimation.

UNIT III
TEST CASE DESIGN Testing as an Engineering Activity – Testing Fundamentals – Defects –
Strategies and Methods for Black Box Test Case Design – Strategies and Methods for
White-Box Test Case Design – Test Adequacy Criteria – Evaluating Test Adequacy Criteria –
Levels of Testing and different Types of Testing .

UNIT IV

TEST MANAGEMENT Testing and Debugging Goals and Policies – Test Planning – Test Plan
Components
– Test Plan Attachments – Locating Test Items – Reporting Test Results – The Role of
Three Groups in Test Planning and Policy Development – Process and the Engineering.

UNIT V

CONTROLLING AND MONITORING Measurement and Milestones for Controlling and


Monitoring – Status Meetings – Reports and Control Issues – Criteria for Test
Completion – SCM – Types of Reviews – Developing a Review Program – Components of
Review Plans – Reporting Review Results.

Suggested Readings:

1. Ilene Burnstein, Practical Software Testing‖, Springer International Edition, 2003.


2. Stephen Kan, Metrics and Models in Software Quality‖, Addison-Wesley, Second Edition,
2004.
3. Milind Limaye, Software Quality Assurance‖, McGraw Hill, 2011.
4. M G Limaye, Software Testing – Principles, Techniques and Tools‖, McGraw Hill, 2011
2

INTRODUCTION

Quality
• Quality means different thing to different people at different times, place and products.
• For Ex: for some users, quality product is the one which has no or less defect, for some
product could match cost and delivery schedule along with services offered.
• Some defined quality as – quality is fitness for use.
• Quality can be defined as conformance to specifications because software engineering don’t
have to make changes in design & will suit users expectations like less cost, fast delivery & good
service support.
• Quality can also be defined as extent to which customers believe that product meets or needs
& expectations.
• Others believe that quality means delivering products that meet customer standard defined
by customer or some bodies.
Software Quality: The degree to which a component, system, or process meets specified
requirements and/or user/customer needs and expectations.
Key Aspects
1. Good Design: It’s always important to have a good and aesthetic design to users.
2. Reliability: Be it any software it should be able to perform the functionality without
issues.
3. Durability: Durability is a confusing term, in this context, durability means the ability of
the software to work without any issues for a long period of time.
4. Consistency: Software should be able to perform consistently over platform and devices.
5. Maintainability: Bugs associated with any software should be able to capture and fix
quickly and new tasks and enhancement must be added without any trouble.
6. Value for money: customer and companies who make this app should feel that the
money spent on this app has not to waste.
SOFTWARE TESTING
Software testing is a process of executing a program or application with the intent of finding
the software bugs.
It can also be stated as the process of validating and verifying that a software program or
application or product:
 Meets the business and technical requirements that guided its design and development
Works as expected
 Can be implemented with the same characteristic
3

Ethical Basis for Software Quality


1. Quality: Quality in software refers to the totality of features and characteristics of a
software product that bear on its ability to satisfy stated or implied needs. It encompasses
various attributes such as reliability, maintainability, usability, and performance.
 Quality of Design: This refers to how well the software is designed to meet the
requirements and expectations of the users. It involves the characteristics that designers
specify for an item, including the grade of materials, tolerances, and performance
specifications.
 Quality of Conformance: This is the degree to which the software adheres to its design
specifications during the development process. It measures how closely the finished
product matches the original design and specifications.
 High quality of conformance means that the software has been developed correctly
according to the design, minimizing defects and ensuring reliability.
2. Software Quality Assurance (SQA) is a systematic process that ensures software products and
development processes meet predefined quality standards. It plays a critical role in preventing defects,
improving the development process, and ensuring the final product is reliable, secure, and user-friendly.

So Key Components of SQA

1. Quality Planning – Defining the quality standards and determining how to achieve them.
2. Quality Control – Inspecting and testing the software to ensure it meets requirements.
3. Process Improvement – Identifying areas for improvement in the development process.
4. Audits and Reviews – Conducting inspections, code reviews, and audits to verify
compliance.
5. Defect Management – Tracking, analyzing, and fixing defects in a structured way.
6. Testing – Includes unit, integration, system, and acceptance testing as part of the QA
strategy.

Quality Control (QC) is a crucial part of quality management focused on fulfilling quality
requirements. It involves the systematic process of identifying, monitoring, and correcting
potential defects or deviations in products or services to ensure they meet established
quality standards and customer requirements.

Characteristics of quality control


1. Process adopted to deliver a quality product to the clients at best cost.
2. Goal is to learn from other organizations so that quality would be better each time.
3. To avoid making errors by proper planning and execution with correct review process.
4

Total Quality Management


2. Define total Quality management, explain the core concepts of total quality management.
Total Quality Management (TQM) is a systematic approach focused on continuous
improvement and total customer satisfaction. It involves every member of the organization and
all departments working together to enhance quality. TQM combines management philosophy
with tools and methods aimed at achieving two key goals: continuous improvement and
exceeding customer [Link]
These are Eight core concepts of TQM. They are
1. Satisfaction of customer
2. Teamwork
3. Prevention rather than detection
4. Internal customer’s one real
5. Continuous improvement process,
6. Business process
7. People make quality
8. Measuring present performance.
1. Satisfaction of customer
1. Companies must focus on customer rather than getting involved in solving their company
internal Problems
2. A customer is said to be satisfied when the Company is able to meet or exceed customer
expectations.
2. Team work

 Teamwork gives employees a chance to collaborate, understand each other's roles, and work
towards quality improvement. Working alone limits their awareness of others' tasks and the
impact of poor-quality output.

 Teamwork encourages employees to form action teams, solve problems, and discover
innovative ways to complete tasks.

 Focus on Prevention, not just detection, to ensure lasting quality.

3. Prevention Rather than Detection


Prevention is the most important concept of TQM. Prevention of defects/errors from the
manufacturing process leads to continuous improvement. Prevention is nothing but making sure
that defects/errors will not arise.
4. Internal customers are real
5

Satisfying internal customers is equally important as satisfying external customers. Internal


customers are the employees of the organisation. Good working relation within the organization
leads to external customer satisfaction.
5. Continuous Improvements process.
continuous improvements cycle is the process of identifying customers’ needs and
requirements, making attempts to meet those requirements, measuring performance and going
on improving will lead to Continuous improvements
6. Business Processes
Business process are emphasised for improvement a process is a collection of equipment,
material,
People, environments and methods which are used in manufacturing a product / Service.
7. People make Quality
The Quality problems occurring in an organization cannot be controlled by individual’s
employees because these problems are caused usually due to bad organizational system. The
organizational system must be improved fast in order to improve quality rather than focusing on
motivating employees towards quality improvements
8. Measuring present performance / existing per -formance.
1) Measurements is one of the core concept of TQM. A company must measures ats exting
performance first to improve quality.
2) Internal quality measurement involves the measurement of aspects like cost of quality, cost
of quality, cost incurred due to shortage of raw material, rejection level, number of according
performance to standard etc.
6

Principles of TQM

Continual
improvem
ent

the principles of TQM:


 Customer first. TQM’s first and foremost pillar of success is an unwavering focus on the
customer’s experience in all interactions with the organization. From first contact
through purchase and continued support, the customer should always be the main
priority.
 Employee ownership. TQM requires the involvement of every team member to ensure
that complete quality control is offered at every level. TQM doesn’t focus on a single
department because the goal is to provide customers with a great experience from every
level of the organization.
 Process-based. TQM focuses on the creation and implementation of processes that
provide organizations with the ability to find success and repeat it. Quantifying success
and defining the steps taken to get there are essential for successful implementation of
TQM.
 System integration. TQM strategies revolve around leveraging every asset available to
the company. This is best achieved through system integrations that combine disparate
parts of the organization into a single.
7

 Communication. TQM requires every team member to be at their best and to function
as a value-adding member of that team. This means communication and transparency is
a core tenet of successful TQM practices.
 Data-driven. TQM doesn’t employ guesswork. Instead, data is leveraged for the
improvement of the organization and decisions are made based on quantifiable facts.
 Continual improvement: A large aspect of TQM is continual process improvement.
Continual improvement drives an organization to be both analytical and creative in
finding ways to become more competitive and more effective at
meeting stakeholder expectations.

TQM TOOLS

Total Quality Management (TQM) is a comprehensive approach to improving organizational


effectiveness and customer satisfaction through continuous improvement and a strong focus on
quality. There are several tools and techniques commonly used in TQM to help organizations
achieve their quality goals.

1. Commitment: All employees and management need to be committed to increasing the


efficiency and productivity of the organization and quality of products and services so that the
customer is happy and satisfied in the end. In order to increase commitment, management can
induce additional monetary incentives, or employee of the month schemes and so on.

2. Quality Function Deployment (QFD): QFD is a tool used to translate customer requirements
(or "whats") into appropriate technical requirements (or "hows") for each stage of product
development.

3. Benchmarking: This involves comparing an organization’s processes and performance metrics


to industry best practices or standards. It helps in identifying areas where improvements can be
made.

4. Statistical Process Control (SPC): SPC involves using statistical methods to monitor and
control a process. It helps in ensuring that the process operates at its full potential to produce
conforming products.

5. Failure Mode and Effects Analysis (FMEA): This systematic approach evaluates processes to
identify where failures might occur, assess the impact of these failures, and prioritize them
based on their potential effects.

Software Process and Methodologies

Software Process: Process and project Process:

A process is the sequence of steps executed to achieve a goal. A process is defined by


cycles. Similar to a project, a process also has a beginning, middle, and end;
however, this cycle repeats itself over an average period of time.
8

1. Component software process:

 The software process covers all technical and management aspects of software
development.

 It includes two key components: development and project management.

 The development process defines engineering tasks, while the management process focuses
on planning and control to meet cost, schedule, and quality goals effectively.

Development and project management processes are the key to achieving the objectives of
delivering the desired software satisfying the user needs, while ensuring high productivity and
quality.
 As development processes generally do not focus on evolution and changes, to
handle them another process called software configuration control process is often
used. The objective of this component process is to primarily deal with managing

change, so that the integrity of the products is not violated despite change
9

2. Software development process models :

What is SDLC?
SDLC is a process followed for a software project, within a software organization. It
consists of a detailed plan describing how to develop, maintain, replace and alter or
enhance specific software. The life cycle defines a methodology for improving the quality of
software and the overall development process.

The following figure is a graphical representation of the various stages of a typical SDLC.

A typical Software Development Life Cycle consists of the following stages −


Stage 1: Planning and Requirement Analysis
Requirement analysis is the most important and fundamental stage in SDLC. It is performed
by the senior members of the team with inputs from the customer, the sales department,
market surveys and domain experts in the industry. This information is then used to plan
the basic project approach and to conduct product feasibility study in the economical,
operational and technical areas.
10

Planning for the quality assurance requirements and identification of the risks associated
with the project is also done in the planning stage. The outcome of the technical feasibility
study is to define the various technical approaches that can be followed to implement the
project successfully with minimum risks.

Stage 2: Defining Requirements


Once the requirement analysis is done the next step is to clearly define and document the
product requirements and get them approved from the customer or the market analysts.
This is done through an SRS (Software Requirement Specification) document which
consists of all the product requirements to be designed and developed during the project
life cycle.

Stage 3: Designing the Product Architecture


SRS is the reference for product architects to come out with the best architecture for the
product to be developed. Based on the requirements specified in SRS, usually more than
one design approach for the product architecture is proposed and documented in a DDS -
Design Document Specification.

This DDS is reviewed by all the important stakeholders and based on various parameters as
risk assessment, product robustness, design modularity, budget and time constraints, the
best design approach is selected for the product.

A design approach clearly defines all the architectural modules of the product along with its
communication and data flow representation with the external and third party modules (if
any). The internal design of all the modules of the proposed architecture should be clearly
defined with the minutest of the details in DDS.

Stage 4: Building or Developing the Product


In this stage of SDLC the actual development starts and the product is built. The
programming code is generated as per DDS during this stage. If the design is performed in a
detailed and organized manner, code generation can be accomplished without much
hassle.

Developers must follow the coding guidelines defined by their organization and
programming tools like compilers, interpreters, debuggers, etc. are used to generate the
code. Different high level programming languages such as C, C++, Pascal, Java and PHP are
used for coding. The programming language is chosen with respect to the type of software
being developed.
11

Stage 5: Testing the Product


This stage is usually a subset of all the stages as in the modern SDLC models, the testing
activities are mostly involved in all the stages of SDLC. However, this stage refers to the
testing only stage of the product where product defects are reported, tracked, fixed and
retested, until the product reaches the quality standards defined in the SRS.

Stage 6: Deployment in the Market and Maintenance


Once the product is tested and ready to be deployed it is released formally in the
appropriate market. Sometimes product deployment happens in stages as per the business
strategy of that organization. The product may first be released in a limited segment and
tested in the real business environment (UAT- User acceptance testing).

Then based on the feedback, the product may be released as it is or with suggested
enhancements in the targeting market segment. After the product is released in the
market, its maintenance is done for the existing customer base.

3. SDLC Models

There are various software development life cycle models defined and designed which are
followed during the software development process. These models are also referred as
Software Development Process Models". Each process model follows a Series of steps
unique to its type to ensure success in the process of software development.

Following are the most important and popular SDLC models followed in the industry:

1. Waterfall Model
2. Prototyping
3. Iterative Model
4. Agile Model
5. Incremental model
6. The Spiral model

Advantages of using Waterfall model:


 Simple and easy to understand and use.
 For smaller projects, waterfall model works well and yield the appropriate results.
Disadvantages
 Cannot adopt the changes in requirements
 For bigger and complex projects, this model is not good as a risk factor is higher.
12

1. Prototyping:

 The basic idea in Prototype model is that instead of freezing the requirements before
a design or coding can proceed, a throwaway prototype is built to understand the
requirements.
 This prototype is developed based on the currently known requirements. Prototype
model is a software development model. By using this prototype, the client can get
an “actual feel” of the system, since the interactions with prototype can enable the
client to better understand the requirements of the desired system.
 Prototyping is an attractive idea for complicated and large systems for which there is
no manual process or existing system to help determining the requirements.
 The prototype are usually not complete systems and many of the details are not built
in the prototype. The goal is to provide a system with overall functionality.

Advantages of Prototype model:


 Users are actively involved in the development
 Since in this methodology a working model of the system is provided, the users get a
better understanding of the system being developed.

Disadvantages of Prototype model:

 Leads to implementing and then repairing way of building systems.


 Practically, this methodology may increase the complexity of the system as scope of
the system may expand beyond original plans.

Agile process Model:
Agile development model is also a type of Incremental model. Software is developed in
incremental, rapid cycles. This results in small incremental releases with each release
building on previous functionality. Each release is thoroughly tested to ensure software
quality is maintained. It is used for time critical applications. Extreme Programming (XP) is
currently one of the most well-known agile development life cycle model.
Diagram of Agile model:
13

Advantages of Agile model:


 Working software is delivered frequently (weeks rather than months).
 Face-to-face conversation is the best form of communication.
 Customer satisfaction by rapid, continuous delivery of useful software.

Disadvantages of Agile model:

 In case of some software deliverables, especially the large ones, it is difficult to assess
the effort required at the beginning of the software development life cycle.
 There is lack of emphasis on necessary designing and documentation.

Advantages of spiral model


 Changing requirements can be accommodated.
 Allows extensive use of prototypes.
 Requirements can be captured more accurately.

Disadvantages
 Management is more complex.
 End of the project may not be known early.
 Not suitable for small or low risk projects and could be expensive for small projects.

Iterative Model
Advantages
 Some working functionality can be developed quickly and early in the life cycle.
 Results are obtained early and periodically.
 Parallel development can be planned
Disadvantages
 More resources may be required.
 Although cost of change is lesser, but it is not very suitable for changing requirements.
 More management attention is required.
Incremental Model
In an Iterative Incremental model, initially, a partial implementation of a total system is
constructed so that it will be in a deliverable state. Increased functionality is added. Defects, if
any, from the prior delivery are fixed and the working product is delivered. The process is
repeated until the entire product development is completed. The repetitions of these processes
are called iterations. At the end of every iteration, a product increment is delivered.
14

Advantages
 You can develop prioritized requirements first.
 Initial product delivery is faster.
 Customers gets important functionality early.
Disadvantages
 Requires effective planning of iterations.
 Requires efficient design to ensure inclusion of the required functionality and
provision for changes later.

Quality Standards, Practices & Conventions


The following quality standards are as follows
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 function. A
program is a sequence of instructions written to solve a particular problem.
2. Software Testing
15

Software testing is an important process in the software development lifecycle. It


involves verifying and validating that a software application is free of bugs, meets the
technical requirements set by its design and development, and satisfies user requirements
efficiently and effectively.
3. Software Quality Assurance
SQA is a systematic process that ensures the quality and reliability of software products by
monitoring the software engineering processes and methods used to ensure quality.
Software quality assurance is all about the software development lifecycle that includes
requirements management, software design, coding, testing, and release management.
Quality Assurance is the set of activities that defines the procedure and standards to develop
the product.

4. Software Quality
Quality refers to any measurable characteristics such as correctness, maintainability,
portability, testability, usability, reliability, efficiency, integrity, reusability and
interoperability.
Five views
1. Transcendental view
2. User’s view
3. Manufacturing view
4. Product view
5. Value-based view

5. Software Standards
It is a 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 program.
16

Some Standards Organisations


1. ANSI: American National Standards Institute
2. AIAA: Ameikan Institute of Aeronautics and Astronautics
3. ELA: Electronic Industries Association
4. IEC: International Electro technical Commission
5. IEEE: Institute of Electrical and Electronics Engineers
6. ISO: International Organization for Standardization

6. Quality Practices
The basic practices of Quality
a) Functional Specification
b) Reviews and Inspections
c) Formal entry and exit criteria
d) Functional test – variations
e) Mali– platform testing
f) Internal Betas
g) Automated test execution
h) Beta programs
i) Nightly Builds

7. Quality Conventions
Quality Conventions refer to standardized coding guidelines that promote consistency,
readability, and maintainability in software development.
They cover aspects like file structure, indentation, comments, naming rules, and best
practices.
Following these conventions improves code quality and simplifies collaboration and
maintenance.
They may be formal (team/company standards) or informal (personal coding habits).
Improving Quality with Methodologies
1. Test Often and Early: Emphasizes the importance of early and frequent testing to
prevent issues from escalating and becoming more expensive to fix. Early automation
of basic UI tests is suggested.
2. Implement Quality Controls: Suggests that testers and developers should work
together from the start, using quality controls to ensure standards are met
throughout the development process.
3. Promote Innovation: Encourages thinking outside the box and automating repetitive
processes to save time and resources.
4. Incorporate Management Tools: Recommends using effective quality management
tools (like defect tracking software, issue tracking tools, and test automation tools) to
enhance transparency and manage day-to-day operations. Stakeholder are only
17

concerned about their product and its quality as they expect companies to do
whatever it takes to meet the quality standards.
5. Employee Training: Highlights the need for continuous professional training and skills
upgrading to keep pace with technological advancements.
6. Error Management and Analysis: Advocates for a structured approach to tracking
issues and managing risk, using tools like risk registers and defect tracking software.
7. Review, Revise, and Remember
 Review: Testers should continually review the code to ensure that quality standards
are being met.
 Revise: Analyse the software process to identify what worked well and what needs
improvement. Focus on areas where innovation can enhance the process.
 Remember: Document what worked well and what didn’t. Learn from both successes
and failures to continuously improve future projects.

1.7 Structured/Information Engineering (IE)


 Definition: Information Engineering is a methodology for planning, generating,
distributing, analysing, and using data collections within systems to facilitate
decision-making and business communication.
 Characteristics of Information Engineering (IE):
o IE uses structured techniques on an enterprise-wide basis rather than just a
project-wide approach.
o Stages of IE:
1. Enterprise Strategic Systems Planning
2. Enterprise Information Planning
3. Business Area Analysis
4. System Design
5. Construction
6. Cutover
Information Engineering (IE) builds a knowledge base of data, processes, and system design
to support a computerized enterprise.
It enables integration of separate systems into a unified framework, allowing rapid
development with automated tools.
IE promotes reuse, coordination, and alignment with business goals, involving end-users
throughout.
It supports long-term system evolution and uses I-CASE tools for accurate, consistent
analysis and design.
18

Stages of Information Engineering:


1. Stage 1: Information Strategy Planning: Focuses on high-level planning, aligning
technology use with management goals and critical success factors. This stage
involves creating a comprehensive overview of the enterprise, its functions, and its
information needs.
2. Stage 2: Business Area Analysis: Analyses the specific processes required to operate
a business area, including how these processes interrelate and what data is needed.
3. Stage 3: System Design: Involves designing systems based on selected processes,
with direct end-user involvement to ensure that the design aligns with their needs
and improves procedural efficiency.
4. Stage 4: Construction: Implements the designed procedures using various tools, such
as code generators, fourth-generation languages, and end-user tools. The goal is to
link design with practical construction, often through prototyping.

IE Techniques
1. Entity Analysis: Identifies and defines all the entities (things) that an organization
needs to store data about.
2. Process Analysis: Examines the processes within an organization, detailing the flow
of information and how processes interact.
3. Activity Cycle Analysis: Analyses the cycles of activities within business processes,
focusing on how different elements interact and trigger subsequent activities.
4. Entity Life History Analysis: Studies the life cycle of significant entities within an
organization to ensure all important states and transitions are captured.
5. Matrix Analysis: Defines the relationships and dependencies between data objects
and activities.
6. State Transition Analysis: Maps out the states and transitions of a system to design
automated business processes.
7. Data Normalization: Ensures that databases are designed efficiently and accurately
by organizing data to reduce redundancy.

8. System Prototyping: Involves creating prototypes of systems to validate


requirements and compare objectives against outcomes

Measuring Customer Satisfaction:


19

1. Customer Feedback through Surveys


2. Customer Satisfaction Score
3. Net Promoter Score
4. Customer Effort Score
5. Web-Analytics
6. Social Media Metrics
1. Customer Feedback through Surveys:
Surveys are an essential method of measuring the quality of customer service. Mostly after
the service is provided. Surveys can be hosted in 3 different ways:

a) In-App Surveys:
Customers often tend to ignore such surveys unless they are caught in the action. The best
way to get honest feedback is while they are availing of your services on your app. Initiate a
post-purc hase or post-service survey. The response rate is definitely higher and the
feedback is most likely to be honest.
b) Post -Call Surveys:
The best feedback is received as soon as the interaction gets over. CSAT surveys can be
initiated as soon as the call gets over. The caller can provide feedback by just pressing a key,
which is automatically rolled up to the supervisor in the CSAT report.
c) Email Surveys:
These surveys are for long-time customers who have made repeat purchases. Email them a
form-based study with insightful questions. Keep those questions relevant to the customer’s
goal, for better engagement. Whatever feedback you get is bound to be valuable.
d) Voluntary Feedback:
Sometimes customers tend to provide feedback without any nudge from your end. This can
be for various reasons. Either they had a bad experience or an extremely good experience or
they want to let you know. However, an automated response often repels them from further
engagement.
2. Customer Satisfaction Score:
The customer satisfaction score or the CSAT score is a universal metric used to rate a
customer's recent interaction with the customer service team. The parameter ranges from 1-
5, where the lowest number denotes highly unsatisfied, and the highest number indicates
highly satisfied. The more positive feedback results in a higher CSAT score.
3. Net Promoter Score:
20

The Net Promoter Score (NPS) is a metric used to gauge customer loyalty and satisfaction. It
is calculated based on responses to a single question: “How likely are you to recommend
our product/service to a friend or colleague?” Respondents rate their likelihood on a scale
from 0 to 10.
Here’s how it works:
 Promoters (score 9-10): These are your most enthusiastic and loyal customers.
 Passives (score 7-8): These customers are satisfied but not overly enthusiastic.
 Detractors (score 0-6): These customers are unhappy and could potentially harm
your brand through negative word-of-mouth.
4. Customer Effort Score:
 Customer Effort Score (CES): A metric that measures how easy it is for customers to
interact with a company. Lower effort leads to higher customer loyalty.
 Customers are typically asked to rate their experience on a scale from “very easy”
to “very difficult.”
 The score is calculated based on the average rating, with lower scores indicating
less effort and higher scores indicating more effort.
5. Web-Analytics:
Analytics is a data-driven metric that works without any direct involvement of the customer.
Web-analytics crawls your website traffic actively, reads the sales funnel, understands the
customer behaviour, and predicts future conversions.
6. Social Media Metrics:
Customers are more vocal on the social media, today. They flaunt their purchases online
while dissing the brands who dissatisfy them. Social media is a two-way word. Keeping that
in mind, it can be used to understand what the customers are saying about your product.
Most social media platforms come with a business account facility that provide an analytics
dashboard. Observe your audience and focus on their comments, on their
recommendations.
Software Quality Engineering

Definition:
Software Quality Engineering (SQE) is the integration of quality checks throughout the
software development lifecycle. It ensures teams continuously test and improve quality, not
just at the end stages.
Purpose:
SQE focuses on embedding quality into the development process by designing effective
procedures and improving quality assurance efficiency.

Primary Goals of SQE


21

1. Process control and oversight


2. Implementing standards and metrics
3. Data collection and analysis
4. Test development
5. Identifying issues and solutions
6. Ensuring follow-up and corrective actions

Key Practices in SQE

1. Peer Review:
Developers review each other’s code to catch errors early and share improvements. This
boosts learning and overall code quality.
2. Code Analysis:
Quality engineers use real-time tools within the coding environment to ensure code meets
quality standards and prevent defects early.
3. Testing:
 Functional Testing: Verifies UI elements, core functions, menus, and installation
processes meet required protocols.
 Performance Testing: Assesses software speed under various conditions to ensure it
meets user expectations.

Factors of Software Quality


Software quality is determined by several key factors that ensure a product is reliable,
maintainable, and user-friendly. Here are some of the main factors:
1. Correctness: Ensures the software meets all specified requirements and performs its
intended functions accurately1.
2. Reliability: Measures the software’s ability to perform consistently without failures2.
3. Usability: Assesses how easy and intuitive the software is for users to operate2.
4. Efficiency: Evaluates the software’s performance in terms of resource usage, such as
CPU time, memory, and bandwidth2.
5. Maintainability: Determines how easily the software can be modified to correct
faults, improve performance, or adapt to a changed environment1.
6. Portability: Checks if the software can be transferred from one environment to
another without significant changes2.
7. Integrity: Focuses on the software’s ability to prevent unauthorized access and
ensure data security
8. Flexibility: Measures how easily the software can be adapted to new requirements
or environments1.
22

9. Testability: Evaluates how easily the software can be tested to ensure it meets its
requirements1.
10. Reusability: Assesses whether components of the software can be used in other
applications2.

You might also like