46
Software testing ISTQB International Software Testing Quality Board An introduction to

An introduction to Software testing ISTQB2020/02/13  · International Software Testing Quality Board An introduction to An Overview Test Principles Test Principle 1 Test Principle

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: An introduction to Software testing ISTQB2020/02/13  · International Software Testing Quality Board An introduction to An Overview Test Principles Test Principle 1 Test Principle

Software testing

ISTQBInternational Software Testing Quality Board

An introduction to

Page 2: An introduction to Software testing ISTQB2020/02/13  · International Software Testing Quality Board An introduction to An Overview Test Principles Test Principle 1 Test Principle

An Overview

Page 3: An introduction to Software testing ISTQB2020/02/13  · International Software Testing Quality Board An introduction to An Overview Test Principles Test Principle 1 Test Principle

Test Principles

Page 4: An introduction to Software testing ISTQB2020/02/13  · International Software Testing Quality Board An introduction to An Overview Test Principles Test Principle 1 Test Principle

Test Principle 1

Page 5: An introduction to Software testing ISTQB2020/02/13  · International Software Testing Quality Board An introduction to An Overview Test Principles Test Principle 1 Test Principle

Test Principle 2

Page 6: An introduction to Software testing ISTQB2020/02/13  · International Software Testing Quality Board An introduction to An Overview Test Principles Test Principle 1 Test Principle

Test Principle 3

Page 7: An introduction to Software testing ISTQB2020/02/13  · International Software Testing Quality Board An introduction to An Overview Test Principles Test Principle 1 Test Principle

Test Principle 4

Page 8: An introduction to Software testing ISTQB2020/02/13  · International Software Testing Quality Board An introduction to An Overview Test Principles Test Principle 1 Test Principle

Test Principle 5

Page 9: An introduction to Software testing ISTQB2020/02/13  · International Software Testing Quality Board An introduction to An Overview Test Principles Test Principle 1 Test Principle

Test Principle 6

Page 10: An introduction to Software testing ISTQB2020/02/13  · International Software Testing Quality Board An introduction to An Overview Test Principles Test Principle 1 Test Principle

Test Principle 7

Page 11: An introduction to Software testing ISTQB2020/02/13  · International Software Testing Quality Board An introduction to An Overview Test Principles Test Principle 1 Test Principle

Software Development ModelsSequential development model (V-model)

Page 12: An introduction to Software testing ISTQB2020/02/13  · International Software Testing Quality Board An introduction to An Overview Test Principles Test Principle 1 Test Principle

Software Development ModelsIterative-incremental development model

Page 13: An introduction to Software testing ISTQB2020/02/13  · International Software Testing Quality Board An introduction to An Overview Test Principles Test Principle 1 Test Principle

Static Test Techniques

Static testing Dynamic testing

• Examination of code

without executing it

• Can be applied to

other work products

• Requires source code

to be executed

Know the difference between static and dynamic

Page 14: An introduction to Software testing ISTQB2020/02/13  · International Software Testing Quality Board An introduction to An Overview Test Principles Test Principle 1 Test Principle

Software Development ModelsSequential development model (V-model)

Page 15: An introduction to Software testing ISTQB2020/02/13  · International Software Testing Quality Board An introduction to An Overview Test Principles Test Principle 1 Test Principle

Review ProcessDifferent types of reviews

Roles and responsibilities

Page 16: An introduction to Software testing ISTQB2020/02/13  · International Software Testing Quality Board An introduction to An Overview Test Principles Test Principle 1 Test Principle

Static Test TechniquesStatic analysis by tools

• Analysis of source code and generated output

Control flow, data flow, HTML, XML

• Improve quality of code

• Typical defects discovered

Referencing a variable with an undefined value

Variables that are never used

Syntax violations and breach of coding standards

Deadlocks / unreachable code

Inconsistent interface between modules / components

Security vulnerabilities

Page 17: An introduction to Software testing ISTQB2020/02/13  · International Software Testing Quality Board An introduction to An Overview Test Principles Test Principle 1 Test Principle

Software Development ModelsSequential development model (V-model)

Page 18: An introduction to Software testing ISTQB2020/02/13  · International Software Testing Quality Board An introduction to An Overview Test Principles Test Principle 1 Test Principle

Test Levels

Page 19: An introduction to Software testing ISTQB2020/02/13  · International Software Testing Quality Board An introduction to An Overview Test Principles Test Principle 1 Test Principle

Syllabus

Page 20: An introduction to Software testing ISTQB2020/02/13  · International Software Testing Quality Board An introduction to An Overview Test Principles Test Principle 1 Test Principle

LEVELS OF TEST AUTOMATION

Page 21: An introduction to Software testing ISTQB2020/02/13  · International Software Testing Quality Board An introduction to An Overview Test Principles Test Principle 1 Test Principle

TEST AUTOMATION process

Page 22: An introduction to Software testing ISTQB2020/02/13  · International Software Testing Quality Board An introduction to An Overview Test Principles Test Principle 1 Test Principle

Where does it all fit in?

Page 23: An introduction to Software testing ISTQB2020/02/13  · International Software Testing Quality Board An introduction to An Overview Test Principles Test Principle 1 Test Principle

PROCESS WITH CONTINUOUS TESTING

Page 24: An introduction to Software testing ISTQB2020/02/13  · International Software Testing Quality Board An introduction to An Overview Test Principles Test Principle 1 Test Principle

Software Development ModelsSequential development model (V-model)

Page 25: An introduction to Software testing ISTQB2020/02/13  · International Software Testing Quality Board An introduction to An Overview Test Principles Test Principle 1 Test Principle

Test Types - ISTQB

Page 26: An introduction to Software testing ISTQB2020/02/13  · International Software Testing Quality Board An introduction to An Overview Test Principles Test Principle 1 Test Principle

Psychology of TestingPsychology of testing

Independence in testing

Often more effective at finding defects

Characteristics for good testing / testers

Curiosity | Professional pessimism | Detail-oriented | Constructive | Good communication

Page 27: An introduction to Software testing ISTQB2020/02/13  · International Software Testing Quality Board An introduction to An Overview Test Principles Test Principle 1 Test Principle

Test Design

Page 28: An introduction to Software testing ISTQB2020/02/13  · International Software Testing Quality Board An introduction to An Overview Test Principles Test Principle 1 Test Principle

Test Development ProcessUnderstand what and why we are testing

Process can vary from very informal to very formal, depending on …

Analysis

What to test | Test conditions

Design

Create and specify test cases | data

Implementation

Develop | Implement | Prioritise | Organise test cases

Page 29: An introduction to Software testing ISTQB2020/02/13  · International Software Testing Quality Board An introduction to An Overview Test Principles Test Principle 1 Test Principle

Fundamental Test ProcessWhat? | How? | When? | By whom?

Scope, objectives, risk, test levels and types, documentation

Review | Analyse | Design

Requirements, interfaces, test cases and conditions, data

Make and run

Group tests into scripts, prioritise, write automated tests

Run tests, report incidents, repeat test activities

Assess test results and communicate findings

Compare to defined objectives, summarise, more testing?

Archive deliverables

Software / source code, tests and results, documentation

Page 30: An introduction to Software testing ISTQB2020/02/13  · International Software Testing Quality Board An introduction to An Overview Test Principles Test Principle 1 Test Principle

Fundamental Test Process

Page 31: An introduction to Software testing ISTQB2020/02/13  · International Software Testing Quality Board An introduction to An Overview Test Principles Test Principle 1 Test Principle

Categories of Test Design Techniques

Page 32: An introduction to Software testing ISTQB2020/02/13  · International Software Testing Quality Board An introduction to An Overview Test Principles Test Principle 1 Test Principle

Specification-Based TechniquesEquivalence partitioning

Identify variables who will be treated the same

Group values into equivalence classes

Boundary value analysis (BVA)

Testing at the edges of each equivalence class

Things are more likely to go wrong here!

The techniques are often used in combination

Page 33: An introduction to Software testing ISTQB2020/02/13  · International Software Testing Quality Board An introduction to An Overview Test Principles Test Principle 1 Test Principle

Specification-Based TechniquesUse case testing

• Identify test cases that exercise the whole system

Transaction by transaction basis

From start to finish

• Describes interactions between actor and system

Achieve a specific task

Produce something of value to the user

• Defined in terms of the actor, not the system

Describes process flows through a system

Based on its actual use

Can uncover integration defects

Page 34: An introduction to Software testing ISTQB2020/02/13  · International Software Testing Quality Board An introduction to An Overview Test Principles Test Principle 1 Test Principle

Specification-Based TechniquesState transition testing

System can be in a finite number of different states

• Elements of state transition models

States → The SW may occupy

E.g. open / closed, active / inactive

Transitions → From one state to another

Not all transitions are allowed

Events → Causing state transitions

E.g. closing a file, withdrawing money

Actions → Actions resulting from transitions

E.g. error message

Page 35: An introduction to Software testing ISTQB2020/02/13  · International Software Testing Quality Board An introduction to An Overview Test Principles Test Principle 1 Test Principle

Specification-Based TechniquesDecision tables

Cause-effect table

Used when inputs and actions can be expressed as Boolean values

Systematic way of stating complex business rules

Help testers identify effects of combinations of different input

Effective approach to reveal faults in the requirements

Page 36: An introduction to Software testing ISTQB2020/02/13  · International Software Testing Quality Board An introduction to An Overview Test Principles Test Principle 1 Test Principle

Structure-Based TechniquesStatement coverage

Percentage of statements exercised

Decision coverage

Percentage of decisions exercised

Decision coverage is stronger than statement coverage

100% decision coverage guarantees 100% statement coverage

Not the other way around!

Page 37: An introduction to Software testing ISTQB2020/02/13  · International Software Testing Quality Board An introduction to An Overview Test Principles Test Principle 1 Test Principle

Experience-Based TechniquesError guessing and Exploratory testing

Tests derived from skill / knowledge / experience / intuition

Both of technical and business people

Different groups yield different perspectives

Often based on similar applications and technologies

When?

Used predominantly to complement more formal test techniques

When testing under severe time constraints

Lacking specification / documentation

Drawbacks

Success / Effectiveness is highly dependent on the testers skill and experience

Page 38: An introduction to Software testing ISTQB2020/02/13  · International Software Testing Quality Board An introduction to An Overview Test Principles Test Principle 1 Test Principle

Choosing a Test TechniqueInternal factors affecting the choice of test techniques

Testers knowledge and experience

How much do testers know about the system / various techniques?

Likely defects

Each technique is good at finding particular defects

Test objective

What do we want from the test effort? → Helps us define approach

Documentation

Exists? Updated? Content → Serves to guide the test effort

Lifecycle model

Sequential → More formal techniques | Iterative → More informal techniques

Page 39: An introduction to Software testing ISTQB2020/02/13  · International Software Testing Quality Board An introduction to An Overview Test Principles Test Principle 1 Test Principle

Choosing a Test TechniqueExternal factors affecting the choice of test techniques

Risk

The greater the risk, the greater the need for more thorough testing

Customer / Contractual requirements

Contracts may specify particular testing techniques to be used

Type of system

Influence techniques used

E.g. Financial application → Benefits from boundary value analysis

Regulatory requirements

Some industries have standards / laws that pose external requirements on the system

Time and Budget

Page 40: An introduction to Software testing ISTQB2020/02/13  · International Software Testing Quality Board An introduction to An Overview Test Principles Test Principle 1 Test Principle

Testing tools

Page 41: An introduction to Software testing ISTQB2020/02/13  · International Software Testing Quality Board An introduction to An Overview Test Principles Test Principle 1 Test Principle

Types of Test Tools

Page 42: An introduction to Software testing ISTQB2020/02/13  · International Software Testing Quality Board An introduction to An Overview Test Principles Test Principle 1 Test Principle

Examples of Testing tools

Page 43: An introduction to Software testing ISTQB2020/02/13  · International Software Testing Quality Board An introduction to An Overview Test Principles Test Principle 1 Test Principle

Examples of Testing tools

Page 44: An introduction to Software testing ISTQB2020/02/13  · International Software Testing Quality Board An introduction to An Overview Test Principles Test Principle 1 Test Principle

Examples of Testing tools

Page 45: An introduction to Software testing ISTQB2020/02/13  · International Software Testing Quality Board An introduction to An Overview Test Principles Test Principle 1 Test Principle

Examples of Testing tools

Page 46: An introduction to Software testing ISTQB2020/02/13  · International Software Testing Quality Board An introduction to An Overview Test Principles Test Principle 1 Test Principle

Examples of Testing tools