You are on page 1of 41

Quality Assurance

Fundamentals

Presented by Rui Gonçalves


16 March 2021
Quality Assurance Fundamentals
1. Testing & QA 3. Risks and Testing
• What is Testing? • Definition of Risk
• The Seven Testing Principles • Risk based Testing and Product Quality
• Quality Control and Quality Assurance 4. Agile Testing
• Errors, Defects, and Failures • What is Testing in Agile
• Testing and Debugging • QA challenges with Agile Software Development
2. Testing Process • Testers Contribution during Software Development Lifecycle
• Test Activities 5. Test Management
• Static Testing • Tools used in CIAS
• Test Levels • X-Ray Test Management for Jira
• Test Types
• Test Techniques

2 16 March 2021
C2 General
Testing & QA
• What is Testing?
• Quality Control and Quality Assurance
• The Seven Testing Principles
• Errors, Defects, and Failures
• Testing and Debugging

3 16 March 2021
C2 General
What is Testing?

Static testing Dynamic testing

Reviewing work products Component testing System testing


• Requirements
• User stories
• Code reviews

4 16 March 2021
C2 General
What is Testing?

Verification Validation

Are we building the system correctly? Are we building the correct system?

5 16 March 2021
C2 General
The Seven Testing Principles

6 16 March 2021
C2 General
The Seven Testing Principles

1. Testing shows the presence of defects, not their absence


Testing can show that defects are present, but cannot prove that there are no defects.

2. Exhaustive Testing is impossible


Testing everything (all combinations of inputs and preconditions) is not feasible except for trivial cases.

3. Early testing saves time and money


Testing early in the software development lifecycle helps reduce or eliminate costly changes.

4. Defects cluster together


Predicted defect clusters and the actual observed defect clusters in test or operation, are an important
input into a risk analysis used to focus the test effort.

7 16 March 2021
C2 General
The Seven Testing Principles

5. Beware of the pesticide paradox


If the same tests are repeated over and over again, eventually these tests no longer find any new defects.

6. Testing is context-dependent
Testing is done differently in different contexts.

7. Absence of errors is a fallacy


Some organizations expect that testers can run all possible tests and find all possible defects, but principles
2 and 1, respectively, tell us that this is impossible. Further, it is a fallacy to expect that just finding and fixing
a large number of defects will ensure the success of a system.

8 16 March 2021
C2 General
Quality Assurance and Quality Control

Quality Assurance
“A part of quality management focused on providing confidence that quality requirements will be fulfilled”
Quality Control
“A part of quality management focused on fulfilling quality requirements”
As defined by the ISO 9000 standard

9 16 March 2021
C2 General
Errors, Defects, and Failures

Error Defect Failure


(mistake) (fault, bug)

10 16 March 2021
C2 General
Errors, Defects, and Failures

An example

11 16 March 2021
C2 General
Testing and Debugging

Debugging Testing
Raise defect

Locate

Analyse

Fix

Re-testing

Regression testing

12 16 March 2021
C2 General
Testing Process
• Test Activities
• Static Testing
• Test Levels
• Test Types
• Test Techniques

13 16 March 2021
C2 General
Test Activities

14 16 March 2021
C2 General
Test activities

15 16 March 2021
C2 General
Static Testing

Static Testing
Testing a work product without code being executed.

Static Analysis
The process of evaluating a component or system without executing it,
based on its form, structure, content or documentation.

Some work products that can be examined by Static Testing


• Specifications including business, functional or security requirements
• Epics, user stories and acceptance criteria
• Design specifications
• Code

16 16 March 2021
C2 General
Static Testing

Review Types
• Informal review (e.g., buddy check, pairing, pair review)
• Walkthrough
• Technical review
• Inspection

Reviews vary from informal to formal, its focus depends on agreed objectives and the
process comprises the following main activities:
• Planning
• Initiate review
• Individual review (i.e., individual preparation)
• Issue communication and analysis
• Fixing and reporting

17 16 March 2021
C2 General
Test Levels

A test level is a specific instantiation of a test process

Unit/Component Integration System Acceptance

18 16 March 2021
C2 General
Test Types

A group of test activities based on specific test objectives aimed at specific characteristics
of a component or system. A test type may take place on one or more test levels.

Functional Non Functional White box Change-related

19 16 March 2021
C2 General
Test Techniques

Specification based Structure based Experience


(Black Box) (White Box) based

20 16 March 2021
C2 General
Test Techniques

Specification based or Black Box techniques

Equivalence Partitioning Decision Table Testing


Boundary Value Analysis

21 16 March 2021
C2 General
Test Techniques

Specification based or Black Box techniques

State Transitioning Use Case Testing

22 16 March 2021
C2 General
Test Techniques

Structure based or White Box techniques

Coverage
Statement & Decision Coverage Coverage is a metric used to measure the amount
(usually expressed as a percentage) of something
that has been tested.

23 16 March 2021
C2 General
Test Techniques

Experience based techniques

Error Guessing Checklist based Exploratory Testing

24 16 March 2021
C2 General
Risks and Testing
• Definition of Risk
• Risk based Testing and Product Quality

25 16 March 2021
C2 General
Definition of Risk

What is a Risk?
A factor that could result in future negative consequences;
usually expressed as impact and likelihood.

Likelihood
“A factor that could result…”

Impact
“in future negative consequences”

26 16 March 2021
C2 General
Risk based Testing and Product Quality

Where is the Risk used?

Risk is used to focus the effort required It is used to decide where and when to
during testing start testing and to identify areas that
need more attention

28 16 March 2021
C2 General
Risk based Testing and Product Quality

Risk based approach Product risk information is used to guide

• Test planning, monitoring and control

• involves product risk analysis


• the identification of product risks
• the assessment of each risk's likelihood
and impact. • Test case specification, preparation and execution

29 16 March 2021
C2 General
Agile Testing
• What is Testing in Agile
• QA challenges with Agile Software Development
• Testers Contribution during Software Development Lifecycle

30 16 March 2021
C2 General
What is Testing in Agile?

Testing in Agile is a testing practice that follows the rules and principles of agile software development.
Unlike the Waterfall method, Agile Testing can begin at the start of the project with continuous integration
between development and testing.
Agile Testing methodology is not sequential (in the sense it's executed only after coding phase) but
continuous.

31 16 March 2021
C2 General
QA challenges with Agile Software Development

• Chances of error are higher in agile, as documentation is given less priority, eventually puts
more pressure on QA team
• New features are introduced quickly, which reduces the available time for test teams to
identify whether the latest features are according to the requirement and does it truly
address the business suits
• Testers are often required to play a semi-developer role
• Test execution cycles are highly compressed
• Much less time to prepare test plan
• For regression testing, they will have minimal timing
• Change in their role from being a gate-keeper of quality to being a partner in Quality
• Requirement changes and updates are inherent in an agile method, becoming the biggest
challenge for QA

32 16 March 2021
C2 General
QA challenges with Agile Software Development

Agile Values

– Individuals and interactions over processes and tools

– Working software over comprehensive documentation

– Customer collaboration over ontract negotiation

– Responding to change over following a plan

33 16 March 2021
C2 General
Testers Contribution during Software Development Lifecycle

Testers will verify and validate the software prior to release to detect defects, support the process
of removing those defects, and increase the likelihood that the software meets stakeholder needs
and satisfies requirements.

• Requirements reviews/user story refinement


Participate in requirements reviews or user story refinement to help detect defects in these work products
(requirements, design, user stories, etc.) at an early stage, and reduce the risk of incorrect or untestable
functionality being developed.
• System Design:
Working closely with system designers while the system is being designed can increase each party’s
understanding of the design and how to test it, and reduce the risk of fundamental design defects.
• Software Development:
Ensure that for every development activity, there is a corresponding test activity.

34 16 March 2021
C2 General
Test Management
• Tools used in CIAS
• X-Ray Test Management for Jira

35 16 March 2021
C2 General
Tools used in CIAS

• Information Sharing Tool


Confluence
• Task + Defect Tracking & Management
JIRA
• Test Management (Design, Execution and Reporting)
Xray Test Management for Jira

Check the Quality Assurance section on Confluence for guides and useful templates.
https://cias.confluence.agile.vodafone.com/display/CIAS/Quality+Assurance

38 16 March 2021
C2 General
X-Ray Test Management for Jira

Test Repository

39 16 March 2021
C2 General
X-Ray Test Management for Jira

Issue Types
Test

Sequence of steps describing


actions, test inputs and expected
results.

40 16 March 2021
C2 General
X-Ray Test Management for Jira

Issue Types
Test Set

Collection of Tests related to a specific


component or system process, release
event, user story, etc.

41 16 March 2021
C2 General
X-Ray Test Management for Jira

Issue Types
Test Plan

Provides a better visibility and management


over your Tests.

42 16 March 2021
C2 General
X-Ray Test Management for Jira

Issue Types
Test Execution

Aggregates a list of test runs for one or more


Tests. An association between a Test Execution
issue and a Test issue is called a Test Run.

43 16 March 2021
C2 General

You might also like