0% found this document useful (0 votes)
95 views16 pages

Quality Assurance

This document provides an overview of quality assurance (QA) with a focus on software quality assurance (SQA). It discusses the evolution of quality management from medieval times to modern practices. Key SQA testing types are defined, including acceptance testing, automated testing, agile testing, beta testing, black box testing, white box testing, functional testing, fuzz testing, penetration testing, unit testing, user acceptance testing, and smoke testing. The document establishes that QA aims to ensure products and services meet requirements through systematic processes, though it cannot guarantee quality. It provides the definition of quality assurance according to the International Organization for Standardization.

Uploaded by

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

Quality Assurance

This document provides an overview of quality assurance (QA) with a focus on software quality assurance (SQA). It discusses the evolution of quality management from medieval times to modern practices. Key SQA testing types are defined, including acceptance testing, automated testing, agile testing, beta testing, black box testing, white box testing, functional testing, fuzz testing, penetration testing, unit testing, user acceptance testing, and smoke testing. The document establishes that QA aims to ensure products and services meet requirements through systematic processes, though it cannot guarantee quality. It provides the definition of quality assurance according to the International Organization for Standardization.

Uploaded by

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

Dafer Bavi, Dino Letic, Edin Diko, Dario Sui

Amir Smajevi

Introduction to Programming

02. April 2017.

TABLE OF CONTENT

INTRODUCTION 2

EVOLUTION OF QUALITY MANAGEMENT 3

WHAT IS QUALITY ASSURANCE? 6

SOFTWARE QUALITY ASSURANCE 7

SOFTWARE QUALITY ASSURANCE MODELS 7

QUALITY ASSURANCE TESTS 9


Acceptance Testing 9
Automated Testing 9
Agile Testing 10
Beta Testing 10
Black Box Testing 10
White Box Testing 10
Functional Testing 11
Fuzz Testing 11
Penetration Testing 11
Unit Testing 12
User Acceptance testing (UAT) 12
Smoke Testing 12

CONCLUSION 12

WORKS CITED 13

TEST CASES 15
Smoke Testing 1 15
Smoke Testing 2 16

1
Quality Assurance

QUALITY ASSURANCE

INTRODUCTION

Quality assurance, also know as QA, refers to planned and systematic production

processes that offer confidence in a product's quality for its intended purpose. It's a collection of

activities intended to ensure that products or services satisfy client and customer requirements

and needs in a very systematic and reliable way. QA, sadly, cannot completely guarantee the

production of quality products or service, however it makes this more likely. The popularity of

product or service can be increased, as long as that product has good quality. Other method to

increasing popularity and sales is to have low price for product or service. But, no matter how

cheap the product or service is, as long as it doesn't have standardized quality a client will never

use its features. Quality in a service or product is not what you put into it. It is what the client

or customer gets out of it.1 There are many types and fields of quality assurance, but we are

going to focus only on Software Quality Assurance also knows as SQA, and especially ones

that are mostly used in this branch:

1.) Acceptance Testing; 2.) Automated Testing; 3.) Agile Testing; 4.) Beta

Testing; 5.) Black Box Testing; 6.) Automated Testing; 7.) Functional Testing;

8.) Fuzz Testing; 9.) Load Testing; 10.) Penetration Testing; 11.) Unit Testing;

12.) User Acceptance Testing; 13.) Smoke Testing.

1
Peter Ferdinand Drucker (1909-2005)
2
Quality Assurance

EVOLUTION OF QUALITY MANAGEMENT

The quality movement traces its roots back to medieval Europe, when craftsmen began

organizing into unions referred to as guilds in the late 13th century. Until the 19th century,

producing in the industrialised world regularly followed this craftsmanship model. The factory

system, with its focus on product inspection, started in United Kingdom in the mid 1750s and

grew into the Industrial Revolution in the early 1800s. Nowadays quality has moved beyond

production into service, healthcare, education and government sectors, and it is one of the main

aspects of our daily lives.

2
Deepak Bhati - Quality Assurance - As a part of fulfillment of M.B.A. (2008-2010)

3
Quality Assurance

CYCLE OF QUALITY

INSPECTION QUALITY CONTROL QUALITY ASSURANCE TOTAL QUALITY

MANAGEMENT (TQM)

HISTORY OF QUALITY

Time Events

Prior to Quality is an art


20th Demand overcome potential production
century An era of workmanship

3
Deepak Bhati - Quality Assurance - As a part of fulfillment of M.B.A. (2008-2010)

4
Quality Assurance

F. Taylor, Scientific approach to management resulting in the greater need for


1900s standardization, inspection and supervision.

Shewart,
Statistical beginning and study of quality control
1930s

Quality standard and approaches are introduced in France and


Late 1930s
Japan. Beginning of SQC, reliability etc

Seminal work by Deming at the ministry of war in USA, concept of


1942
acceptance sampling,

Dodge and Deming carried out seminal work on acceptance


1944
sampling

1945 Founding of Japan Standards Association

1946 Founding of the ASQC (American Society for Quality Control)

1950 Visit of Deming in Japan at the invitation of K. Ishikawa

1951 Quality assurance increasingly acceptable

1954 TQC in Japan (Feigenbaum and Juran), book published in 1956

Founding of European Organization for the control of quality


1957
(France, Germany, Italy, Holland, England)

The Martin Co. in USA introduced the zero-defect approach.


1961
Quality motivation started in USA

1962 Quality Circles are started in Japan

5
Quality Assurance

1964 Ishikawa publishes a book on Quality Management

Ishikawa publishes on basics of Quality circle, concepts of Total


1970
quality is affirmed and devised in Japanese industries.

JIT and quality become crucial for competitiveness. A large


1970 to
number of US and European corporations are beginning to
1980
appreciate the advance of Japans industries.

Facing the challenges of quality management


1980+
Growth of economic based quality control

The management of quality has become a necessity that is


recognized at all levels of management.
Increasing importance is given to off-line quality management for
1990+
the design of robust manufacturing processes and products,
services.
The growth of process optimization

Table 1. History of QA4

WHAT IS QUALITY ASSURANCE?

Quality assurance is that the method of validating and determining whether or not the

product or services meet or exceed customer requirements and expectations. Quality assurance is

a process-driven approach with specific steps to help outline and attain goals. This method

considers design, development, production, and service. Quality and quality assurance (QA) are

troublesome to outline unambiguously in most industries, and this problem is even worse in the

software industry. A problem with quality assurance that is not confined to the software industry

4
Table 1. Deepak Bhati - Quality Assurance - As a part of fulfillment of M.B.A. (2008-2010)
6
Quality Assurance

is defining what quality stands for. According to International Organization for Standardization5

the definition of quality assurance is: The totality of features and characteristics or a product of

service that bears on its ability to satisfy stated or implied needs. There is, also, an absence of

agreement regarding the goals and functions of software quality assurance (SQA). SQA appears

to possess no distinctive role apart from subjectively assessing the work of software developers

and managers.

SOFTWARE QUALITY ASSURANCE

Historically, software quality assurance has been based on two approaches found in

several alternative industries: 1.) The quality program and 2.) Independent verification and

validation. Quality programs are based on distinguishing the acceptable procedures for

developing software package, and inspecting the method to ensure compliance with those

procedures. This typically resulted in SQA activities that concentrate on project audits performed

by independent personnel who are not typically software developers. This approach continues to

be favored by many companies that take the view that quality assurance means conformance to

specification. Independent verification and validation (IW) uses a technical group, independent

of the development group, to participate in and conduct analysis and tests of a software system or

product. This approach is mostly used for products with demanding reliableness, safety and

security requirements like military systems and government systems. It's favored by companies

that take the view that quality equates with user satisfaction.

5
International Organization for Standardization - www.iso.org
7
Quality Assurance

SOFTWARE QUALITY ASSURANCE MODELS

Software Quality as its essential aspect has an association to the enlargement and

advancement of massive, multifaceted and important software intensive system. Researchers

have created monumental efforts to create new dimensions in software engineering aspects

together with quality perspective. Software systems are anticipated to be a lot of versatile,

accessible and reusable. There are different quality models which are developed with different

features and efficiencies, however we are only going to name them without further analysis.

Factor of Deutsch Evans and


McCalls Furps IEEEs ISO 9216
Selected Model & Wills Marciniak

Correctness 100 0 75 25 0 100

Human
0 25 0 0 0 0
Engineering

Efficiency 75 25 100 100 100 100

Functionality 0 100 0 100 100 0

Usability 100 100 100 100 100 100

Testability 75 25 0 25 25 0

Flexibility 75 0 75 0 0 75

Performance 0 100 100 0 0 0

Portability 50 0 50 100 100 0

Interoperability 100 100 75 25 0 100

Maintainability 50 25 75 0 100 75

Integrity 100 0 100 0 0 100

Reusability 50 0 50 25 0 50

8
Quality Assurance

Supportability 0 100 0 100 0 0

Reliability 100 100 100 100 100 100

QV(Total value
for quality 58.33% 40% 60% 46.6% 41.6% 53.3%
Model)
Table 2. Total Value (QV) of Software Quality Model6

QUALITY ASSURANCE TESTS

In development of software products, quality assurance is usage of every possible tool for

checking, with systematically approach, in order to see whether or not that software products is

being developed and is meeting specified requirements. The ISO 9000 family of quality

management systems standards is designed to help organizations ensure that they meet the needs

of customers and other stakeholders while meeting statutory and regulatory requirements related

to a product or program. ISO 9000 deals with the fundamentals of quality management systems,

including the seven quality management principles upon which the family of standards is based.
7
In this section, we will describe some of the most used QA tests in software engineering.

Acceptance Testing

Acceptance testing is a formal style of software package testing that's performed by end

user once the features are delivered by developers. The aim of this testing is to examine if the

software package confirms to their business desires and to the earlier requirements. Acceptance

tests are usually documented at the start of the sprint (in agile) and is a means for testers and

developers to work towards a typical understanding and shared business domain information.

6
Table 2. Saba Awan, Faizah Malik, Ali Javed,"An Efficient and Objective Generalized Comparison
technique for Software Quality Models"
7
Wikipedia
9
Quality Assurance

Automated Testing

Automated testing is approach that creates use of testing tools and/or programming to run

the test cases using software or custom developed test utilities. Most of the automatic tools

provided capture and playback facility, however, there are tools that need writing in depth

scripting or programming to automate test cases.

Agile Testing

Agile testing is a form of software system testing that accommodates agile software

development approach and practices. It is one of the best test today, because it is based on TDD

approach. In an Agile development environment, testing is an integral part of software system

development and is completed together with coding. Agile testing permits progressive and

repetitive coding and testing. In contrast with other methodologies, Agile testing focuses on

repairing faults immediately, rather than waiting for the end of the project. By doing so, costs are

expected to go down.8

Beta Testing

This is a formal style of software package testing that's carried out by end users before

releasing or delivering final product to the end users. Successful completion of Beta test means

that client is accepting the product.

8
BUILDING AND TESTING. (2014). BUILDING AND TESTING. In Agile Governance and Audit: An
overview for auditors and agile teams (pp. 7987). IT Governance Publishing. Retrieved from
http://www.jstor.org/stable/j.ctt7zsx7z.14 Export Citation
10
Quality Assurance

Black Box Testing

This is a testing method where actual testers are not required to know coding or how the

program was written. Black box testing method is carried by specific testing softwares that test

various input and validated results with expected outputs.

White Box Testing

White box testing is similar testing approach to the black box testing, except testers are

required to know coding and how the program was written. White box testing approach is used

in Unit testing which is usually performed by software developers who are developing the

software. Main purpose of white box testing is execution of code and test of statements,

branches, paths, decisions and data flows in the program. Black box and white box testings

complement each other as each of them have potential to discover specific errors.

Functional Testing

This testing focuses on testing of software packages against design and requirement

documents and use cases. It is a formal type of testing performed by tester, who are not required

to know the internal structure of program, or coding itself.

Fuzz Testing

This is a technique that involves testing of software packages with passing unexpected or

random inputs. The software is monitored for failures that could occur due to the input errors.

11
Quality Assurance

Penetration Testing

Penetration testing, or shortly pen test is a type of security testing. Penetration testing

performed to tests how secure software package and its environments are once subjected to an

attack by an external or internal intruder. Intruder may be a human/hacker or malicious

programs. Pen test uses methods (brute force attack) to forcibly exploit, or weakness to achieve

access to a software system, data or hardware with an intent to show ways in which to steal,

manipulate or corrupt data, package files or configuration. Penetration testing is a approach of

moral hacking where skilled penetration tester can use a similar methods and tools that a hacker

would use. However the intention of Penetration tester is to identify vulnerability, find them and

fix them before a true hacker or malicious program can exploit it.

Unit Testing

Unit test is a style of testing that is performed by programmers. Unit testing follows white

box testing approach where a developer can test units. A unit is the smallest testable part of

software, and in OOP that is method. The most common approach to unit testing requires drivers

and stubs to be written.

User Acceptance testing (UAT)

This is a must for every project. It is performed directly by client and users of the

product. User acceptance testing allows client SMEs (Subject matter experts) to test the

software with real-world scenarios in order to check if the product meets their requirements.

12
Quality Assurance

Smoke Testing

Smoke testing is a sort of testing that's performed by testers to examine if the new build

provided by the development team is stable enough. Smoke testing is meant to seek out show

stopper defects which will prevent testers from testing the application thoroughly. Smoke

testing carried out for a build is also called build verification test.

CONCLUSION

Finally, the importance of QA in achieving business success cannot be denied. Quality is

an important component in the pursuit of excellence. Quality is the simplest assurance of

customer allegiance, strongest defense against competition and also the solely path to sustained

company growth and earnings. It is not currently possible to identify which techniques are

required to achieve specific quality targets, it should be a major aim of software engineering

research to be able to do so, and software quality assurance should provide the major impetus to

such research.

WORKS CITED

Saba Awan, Faizah Malik, Ali Javed,"An Efficient and Objective Generalized Comparison

technique for Software Quality Models", IJMECS, vol.7, no.12, pp.57-64, 2015.DOI:

10.5815/ijmecs.2015.12.08

Ishikawa, Kaoru. Guide to Quality Control. Tokyo: Asian Productivity Organization 1982 Print.

Gabor, Andrea. The Man Who Discovered Quality, Times Books (a division of Random House,

N.Y.) ... a comprehensive review of the influence Deming has had to date in America

13
Quality Assurance

and Japan, [and] an acute assessment of how his theories might be implemented in the

future. 1990. Print.

Kitchenham, Barbara A. Software quality assurance. Butterworth & Co. Ltd. 1989. Print

Hiraishi, Taka (Japan) and Nyenzi, Buruhani (Tanzania). Quality Assurance and Quality

Control. Print

Intergovernmental Panel on Climate Change (IPCC) (1997). Revised 1996 IPCC Guidelines for

National Greenhouse Gas Inventories: Volumes 1, 2 and 3. J.T. Houghton et al.,

IPCC/OECD/IEA, Paris, France.

International Organization for Standardization (ISO) (1994). Air Quality, Determination of

Performance Characteristics of Measurement Methods. ISO 9196:1994. ISO, Geneva,

Switzerland.

BUILDING AND TESTING. (2014). BUILDING AND TESTING. In Agile Governance and

Audit: An overview for auditors and agile teams (pp. 7987). IT Governance Publishing.

Retrieved from http://www.jstor.org/stable/j.ctt7zsx7z.14 Export Citation

Bhati, Deepak. Quality Assurance - As a part of fulfillment of M.B.A. (2008-2010). Print

Marselis, R. & Roodenrijs, E. "the PointZERO vision", 2012, ISBN 978-90-75414-55-4 Print

Wikipedia.com

Testingexcellence.com

14
Quality Assurance

TEST CASES

Smoke Testing 1

15
Quality Assurance

Smoke Testing 2

16

You might also like