You are on page 1of 8

QA, QC, and Software

Testing
By: Yasa | 22 July 2019
What is QA, QC, and Software Testing?
 According to ANSI/IEEE 1059 standard, Testing can be defined as - A process of
analyzing a software item to detect the differences between existing and
required conditions (that is defects/errors/bugs) and to evaluate the features of
the software item.

Quality Assurance Quality Control Testing


QA includes activities that ensure the It includes activities that ensure the It includes activities that ensure the
implementation of processes, procedures verification of a developed software with identification of bugs/error/defects in a
and standards in context to verification of respect to documented (or not in some software.
developed software and intended cases) requirements.
requirements.
Focuses on processes and procedures rather Focuses on actual testing by executing the Focuses on actual testing.
than conducting actual testing on the software with an aim to identify bug/defect
system. through implementation of procedures and
process.
Process-oriented activities. Product-oriented activities. Product-oriented activities.
Preventive activities. It is a corrective process. It is a preventive process.
It is a subset of Software Test Life Cycle QC can be considered as the subset of Testing is the subset of Quality Control.
(STLC). Quality Assurance. 2
Related Terms and Definition
 Audit − It is a systematic process to determine how the actual testing process is conducted within an
organization or a team. As per IEEE, it is a review of documented processes that organizations
implement and follow. Types of audit include Legal Compliance Audit, Internal Audit, and System Audit.
 Inspection − It is a formal technique that involves formal or informal technical reviews of any artifact
by identifying any error or gap. As per IEEE94, inspection is a formal evaluation technique in which
software requirements, designs, or codes are examined in detail by a person or a group other than the
author to detect faults, violations of development standards, and other problems. Formal inspection
meetings may include the following processes: Planning, Overview Preparation, Inspection Meeting,
Rework, and Follow-up.
 Verification addresses the concern: "Are you building it right?"
 Validation addresses the concern: "Are you building the right thing?"
 Testing − It involves identifying bug/error/defect in a software without correcting it. Normally
professionals with a quality assurance background are involved in bugs identification. Testing is
performed in the testing phase.
 Debugging − It involves identifying, isolating, and fixing the problems/bugs. Developers who code the
software conduct debugging upon encountering an error in the code. Debugging is a part of White Box
Testing or Unit Testing. Debugging can be performed in the development phase while conducting Unit
Testing or in phases while fixing the reported bugs.
3
QA Plan

Process
implementation
Requirements
elicitation
Project Software
installation
Software
acceptance
testing

System
requirements
System
architectural
System System System
integration testing
analysis design

Software
requirements
Software Software
testing
analysis

Software Software
design integration

Software
construction

4
The major goals and objectives of
software testing:
 Finding defects that prevent the program from operating
smoothly
 Preventing defects
 Assessing the level of a product’s quality and informing
the stakeholders
 Making sure the final results correspond to business
specifications and user requirements
 Boosting profit potential
 Gaining the customer’s loyalty by offering them a quality
product
5
Types of Software Testing

 Automated testing is performed by the automated


program algorithms that repeat preset actions. In this
way, the program compares expected and actual
outcomes and gives signals of possible defects’ presence.
Automated testing is perfect for: Testing load and
software performance.
 Manual testing presupposes that developers/testers
manually check the software, comparing the expected and
actual results and detecting issues. Testers use the
application simulating the real end users’ behavior,
watching how it is working from their side. Manual testing
is perfect for: Checking user interface aspects.
6
A Startup Strategy: Tips for Effective
Software Testing
 Engage everyone
 Every member of a team — developers, sales managers, business analytics etc. — can
contribute to testing endeavors. It’s fine for startups to multi-task and cooperate
within adjacent areas. You need to forget the titles and positions and concentrate
on your common goal — to create a superb product.
 Focus on risk areas
 Usually, some parts of a software system are made better, and some worse. If you
are approaching a tight deadline, you can’t have it both ways and polish every
single piece of code. You need to prioritize and eliminate errors in vulnerable areas
by means of functional testing.

7
THANK YOU

You might also like