Hello and welcome to our channel.
My name is Dmitri and I am a part of the exactpro research team.
At exactpro we build software to test software.
Check out our website if you wanna learn more about us.
And remember to subscribe and hit the bell button to stay up to date with our videos.
We are continuing our series of videos for people preparing for the ISTQB exam.
Today we are going to talk about the second part of chapter 4 called Test Techniques.
If you missed the previous videos, you can find the links in the description below.
Let’s pick up where we left off…
Specification-based test techniques, also known as 'black-box' or input/output driven
techniques, regard the software as (you guessed it!) a black box.
Testers don't necessarily know how the system or component is structured inside.
They concentrate on what the software does.
Here are black-box testing techniques described in the ISTQB foundation level syllabus:
1.Equivalence partitioning is a specification-based blackbox technique.
It can be applied at any test level and is often a good technique to start with.
Here is how it works.
It divides data into partitions.
All members of a given partition are expected to be processed in the same way.
Valid values should be accepted by the system.
And invalid ones should be rejected.
Partitions can be identified for any data element as well as for interface parameters.
Any partition may be divided into sub partitions if required.
Each value must belong to only one equivalence partition.
When invalid equivalence partitions are used in test cases, they should be tested individually
to ensure that failures are not masked.
This can happen when several failures occur at the same time but only one is visible,
causing the other ones to go undetected.
To achieve 100% coverage with this technique, test cases must process all identified partitions
(including invalid ones) by using a minimum of one value per partition.
This is because we are assuming that all the conditions in one partition will be treated
in the same way by the software.
If one condition in a partition works, we suppose that all of the conditions in that
partition will work, and so there is little point in testing the others.
If one of the conditions in a partition does not work, then we assume that none of the
conditions in that partition will work, so there isn’t any reason to continue testing
that partition.
Coverage is measured as the number of equivalence partitions tested by at least one value, divided
by the total number of identified equivalence partitions, normally expressed as a percentage.
For instance, system requirements say that the clients, whose trading volumes do not
exceed $1M per month, are charged a flat fee only.
For those, whose trading volume is between $1M and $10M, an additional fee is applied
- $1 per trade.
Trades beyond $10M cap are rejected.
The group with the volume from $1M to $10M should be shown in the “Exceeded Volume”
report.
For the report functionality all clients within each group are equal even though their trading
volumes are not, hence it’s enough to pick only one client from each group to check if
they are present in the report.
2.
Boundary value analysis (BVA) is an extension of equivalence partitioning.
The minimum and maximum values of a partition are its boundaries.
Let’s consider our previous example.
We need to determine that our boundaries are set correctly.
We test the first partition by checking the $0 and $1M values and the second partition
with the $1M+1cent ($1000000.01) value and $10M value.
The behavior at the boundaries of equivalence partitions is more likely to be incorrect
than the behavior within the partitions.
It is important to remember that both specified and implemented boundaries may be displaced
to positions above or below in relation to their intended ones, may be omitted altogether,
or may be supplemented with unwanted additional boundaries.
BVA will reveal almost all such defects.
This technique can be applied at all test levels.
It is generally used to test requirements that call for a range of numbers.
Boundary coverage is measured as the number of boundary values tested, divided by the
total number of such values, normally expressed as a percentage.
3.
Decision tables are a good way to record complex business rules that a system must implement.
When creating decision tables, the tester identifies conditions and the resulting actions
of the system.
These form the rows of the table, usually with the inputs at the top and the actions
at the bottom.
Each column corresponds to a decision rule.
This technique is sometimes also called a 'cause-effect' table.
The values are usually displayed as “true/false” or discrete, but can also be numbers or ranges
of numbers.
A full decision table has columns (or test cases) to cover every combination of conditions.
By deleting columns that do not affect the outcome, the number of test cases can decrease
considerably.
The common minimum coverage standard for the decision table testing is to have at least
one test case per decision rule in the table.
Coverage is measured as the number of decision rules tested by at least one test case, divided
by the total number of decision rules, normally expressed as a percentage.
The strength of the decision table testing is that it helps to identify all the important
combinations of conditions, some of which might otherwise be overlooked.
It also helps find gaps in the requirements.
It can be applied at any test level.
4.
State Transition Testing.
Components or systems may respond differently to an event depending on a current condition
or previous history.
A state transition diagram shows the possible software states, as well as how the software
enters, exits, and transitions between them.
A transition is initiated by an event, often a value input.
The same event can result in two or more different transitions from the same state.
A state transition table shows all valid transitions between states.
State transition diagrams normally show only the valid transitions and exclude the invalid
ones.
Tests can be designed to cover a typical sequence of states or transitions, to exercise all
states or transitions, or to test invalid transitions.
According to the ISTQB syllabus, the state transition testing can be used for menu-based
applications.
The technique is also suitable for modeling a business scenario having specific steps
or for testing screen navigation.
Most of our work at Exactpro is focused on protocol-level interactions and complex distributed
systems.
Our experience suggests that State Transition testing can certainly be of help in these
areas.
Coverage is usually measured as the number of identified states or transitions tested,
divided by the total number of identified states or transitions in the test object,
expressed as a percentage.
5.
Use Case Testing is a technique that helps us identify cases that exercise the whole
system on a transaction by transaction basis from start to finish.
This is frequently referred to as end-to-end testing.
Each use case describes the interactions an operator has with the system in order to finish
a specific task or, at least, produce something of value.
A use case can include possible variations of its basic behavior and error handling (for
instance, system recovery).
For example, let’s look at online store check-out.
We test it based on user scenarios.
Case #1.
A client finds a product, adds it to the basket, chooses delivery method and pays for his order.
Case #2.
Another client finds two products, adds them to the basket, chooses the self-pickup method
and the pay-at-the-pickup-spot option.
Case #3.
Yet another client finds the merchandise, adds it to the basket, then deletes it, then
finds something else, etc.
Coverage can be measured as the number of use case behaviors tested divided by the total
number of use case behaviors, normally expressed as a percentage.
This concludes our today’s video.
if you liked it, give it a thumbs up.
In the next one, we will focus on chapter 5 titled Test Management.
We do have tons of interesting content for you on our channel.
So feel free to subscribe and hit the bell button to be the first to see the new videos.
Thank you for watching and goodbye.