You are on page 1of 14

Quality Assurance and

Software Testing: A Brief


History
 Developers have been testing software since they
first started building software following World War II.
And quality assurance as a whole has a history that
stretches back much further than that, of course.

 But have you ever wondered how we got from the


early days of programming – when developers relied
on ad hoc methods for finding bugs in their code – to
the modern world of Selenium and cloud-based
testing?

 So, we are now studying a brief and totally non-


exhaustive history of quality assurance and software
testing.
 The short history of software contains a handful of
inevitable trends. Take any software asset, such as an app,
a database, or an information system. In a very high
probability, its size and complexity have grown throughout
its whole lifetime.

 In the good old times, the software developer and software


user were the same person, usually a scientist.

 The same person did also the testing, as a part of his


natural flow. Quality assurance was, obviously, very
efficient, very focused, and very user-centric, with the
fastest possible feedback cycle.

 While the use of software and the number of users grew the
new profession, software developer, was gradually born.
Later one came, one by one, project managers, business
analysts, product managers, chief architects, engineering
 To understand where software testing and quality assurance fit within
the history of software, it’s important to keep in mind that programmers
need to fulfill several distinct goals in order to make users happy.

 Fast forward to the 1990s and 2000s, however, and quite a bit changed.

 By the 1990s, PCs were not identical, of course. The specifics of each
machine’s hardware and software could vary widely. But programmers
faced increasing pressure to release software that worked well on any
type of computer advertised as PC-compatible.

 Fortunately, developers are now better equipped to handle these


pressures. The cloud has made it easy to offload testing from local
environments, and make it scale. And parallel testing allows
programmers to test software much faster than they could in the past.

 So new problems have led to new answers. And it’s a safe bet that this
trend will hold true whenever the next programming revolution rolls
around.
What is quality ? (Is it a fact or
perception)
 Quality is the totality of features and characteristics of a product or service that bear
on its ability to satisfy given needs.

 Having numerous customers in various different industries, "Quality" can mean


different things to each Customer. To satisfy every customer "Quality Requirement" it
simply comes down to "Conformance to Customer Specified Requirements.“

 Any business that can't manage the quality of its processes and products tends to fall
apart. Quality is critical to sales, cost control, productivity, risk management and
compliance.

 Quality simply means delivering to the customer what they expected. Thus, for
example, if a product:
 - has the right configuration/features,
 - does what it's supposed to do,
 - is reliable,
 - is delivered on-time, and
 - is well-supported, then . . .
 . . . it's a quality product! 
Definitations of Quality
 Quality is fulfilling client expectations. Consistent delivery
of a service/product to the client specifications against the
agreed value and on time.

 Quality is the impression of excellence that a customer


experiences about a product, brand or business and
derived through sight.

 Quality is about making organizations perform for their


stakeholders – from improving products, services, systems
and processes, to making sure that the whole organization
is fit and effective.
Core Component of Quality
SQA system components can be classified into 6 classes

1. Pre-project components

2. Software project life cycle components

3. Infrastructure components for error prevention and


improvements

4. Management SQA components

5. SQA standards, system certification and assessment


components

6. Organizing for SQA –the human components


1. Pre-project components
 To assure that:
1.The project commitments have been adequately
defined considering required, the schedule and budget.
2.The development and quality plans have been
correctly determined.

 Clarification of the customer’s requirements


 Review of the project’s schedule and resource
requirement estimates
 Evaluation of the professional staff’s capacity to carry
out the proposed project
 Evaluation of the customer’s capacity to fulfill his
obligations
 Evaluation of development risks.
2. Software project life cycle
components
 The project life cycle composed of two stages:
1. The development Life cycle stage:
Detect design and programming errors
Its components divided into:
Reviews
Expert opinions
Software testing
Assurance of the quality of the subcontractors’work
and customer- supplied parts.

2. The operation-maintenance stage:


Include specialize maintenance components as well as
development life cycle components, which are applied
mainly for functionality improving maintenance tasks.
3. Infrastructure components for
error prevention and improvements
 Procedures and work instruction
Templates and checklists
Staff training, retraining and certification
Preventive and corrective actions
Configuration management
Documentation control

 Main objectives of these components, which are


applied throughout the entire organization, are: To
eliminate or at least reduce the rate of errors, based
on the organization’s accumulated SQA experience
4. Management SQA
components
 Project progress control.
Software quality metrics.
Software quality cost.

 This class of components deal with several goals,


such as the control of development and maintenance
activities.

 The introduction of early managerial support actions


that mainly prevent or minimize schedule and budget
failures and their outcomes.
5. SQA standards, system certification
and assessment components.
 Project process standards
 Quality management standards

 Objectives: Utilization of international professional knowledge.


 Improvement of coordination with other organizations’ quality systems.
 Objective professional evaluation and measurement of the organization’s SQA
achievement

 The main objective of this classes are:


1.Utilization of international professional knowledge
2.Improvement of coordination of the organizational quality system with other
organizations
3.Assessment of the achievements of quality systems according to a common
scale.

 The various standards classified into 2 groups:

1. Quality management standards


2. Project process standards
6. Organizing for SQA –the
human components
 The SQA organizational base includes:
 Managers
 Testing personnel
 The SQA unit and practitioners interested in SQA

 The main objectives are:


- To initiate and support the implementation of SQA
components
- Detect deviation from SQA procedures and
methodology
- Suggest improvements
Quality View
 Meeting requirements is a producer’s view of quality.
This is the view of the organization responsible for the
project and processes, and the products and services
acquired, developed, and maintained by those
processes.

 Meeting requirements means that the person building


the product does so in accordance with the
requirements.

 Requirements can be very complete or they can be


simple, but they must be defined in a measurable
format, so it can be determined whether they have
been met. The producer’s view of quality has these four
characteristics:
 Doing the right thing
 Doing it the right way
 Doing it right the first time
 Doing it on time without exceeding cost

 In addition to the producer and customer views of quality, the


organizational infrastructure also includes a provider and a
supplier view. These views are as follows:

 Provider view – This is the perspective of the organization that


delivers the products and services to the customer.

 Supplier view – This is the perspective of the organization (that


may be external to the producer’s company, such as an
independent vendor) that provides either the producer and/or
the provider with products and services needed to meet the
requirements of the customer.

You might also like