Quality Assurance and Quality Control
Quality Assurance and Quality Control
Quality Assurance and Quality Control
Quality Control
1
What Exactly is Quality?
2
What Exactly is Quality?
3
What Exactly is Quality?
4
Quality Assurance vs. Quality Control
5
Quality Assurance vs.
Quality Control
Quality Assurance (QA):
QA is the implementation of processes, methodologies
and standards that ensure that the software developed will
be up to the required quality standards.
Set of activities, including facilitation, training,
measurement and analysis
QA is preventive process as it establishes the methods
which prevent the bugs.promotes quality concepts,
quality attitudes and discipline for management and
workers
All the persons involved in the project starting from the
requirement.
6
Quality Assurance vs.
Quality Control
Are these activities QA or QC?
QC performance testing software
7
QA Roles and Activities
Traditional QA Agile QA
•Independent group •Integrated with day to
•Gatekeepers who… day development
Understand testing well and •Proactive, engage in QA
know how to specify and
validate system qualities Certify activities much earlier
app functionality based upon •Team work closely with
contracts and requirements …
PO and SMEs and have
•Get involved late in the
software lifecycle
common ownership for
quality.
8
QA Mindset in an Agile Methodology
Quality does NOT only mean System Testing but the entire
application
Quality is responsibility of the ENTIRE Scrum Team
Continuous Integration will Lead to Continuous QA
Progressive inclusion of System Integration test cases from
sprint to sprint
QA resource plays a role of BA/QA removing any gaps in
requirements communication
Prioritize Test Cases by Risk and Frequency of Feature Usage
Utilize the Sprint Retrospective to Identify “Where” in the scrum
process did failure of quality occur (Root Cause Analysis)
9
How Quality Scenarios and Quality
Testing Fit Into An Agile Process
10
Agile Quality Assurance and
Control
11
Testing Cycle for TDD
• PRODUCT OWNER IN THE TEAM
• RELEASABLE SOFTWARE EVERY SPIRNT
• SCHEDULED PRODUCT REVIEWS
• FREQUENT STATUS MEETINGS
• AUTOMATED UNIT TESTS
• ACCEPTANCE TESTS
• TEST DRIVEN DEVELOPMENT
• REGRESSION TESTING
• EXPLORATORY TESTING
• CODE REVIEW
• CONTINUOUS INTEGRATION
12
PRODUCT OWNER IN THE TEAM
The team is trying to build software that meet’s the Product Owner’s
intent, rather than what they wrote down, so in the Agile world the
Product Owner becomes part of the team and guides development.
Sometimes the Product Owner cannot devote 100% of their time to
the project
13
RELEASABLE SOFTWARE EVERY
TIMEBOX
14
SCHEDULED PRODUCT REVIEWS
15
FREQUENT STATUS MEETINGS
16
AUTOMATED UNIT TESTS
17
ACCEPTANCE TESTS
In DSDM there are documented quality criteria for all work products
(DSDM, 2002), but looser forms of Agile restrict this to the User
Stories. User Stories are the high level description of the external
behaviors and business rules of your software. Each User Story has at
least one acceptance test. The acceptance tests elaborate the brief
description provided by the User Story. They define the scope of the
story and clarify the Product Owner’s intent with concrete examples.
This clarifies the Product Owner’s intent, points the team in the right
direction, and confirm when the intent has been met.
18
TEST DRIVEN DEVELOPMENT
19
REGRESSION TESTING
20
EXPLORATORY TESTING
21
CODE REVIEW
22
CONTINUOUS INTEGRATION
23