Moduel 3: Test Techniques Flashcards

1
Q

Black-Box Test Techniques - Intro (3.1)

The test techniques considered in this chapter are divided into the following categories…

These techniques are…

A
  • Black-box
  • Experience-based

Complementary and may be used as appropriate for any given test activity, regardless of which test level is being performed.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Black-Box Test Techniques - Intro (3.1)

Note that both categories of techniques can be used to test…

A

Functional and non-functional quality characteristics. Testing software characteristics is discussed in the next chapter.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Black-Box Test Techniques - Intro (3.1)

The test techniques discussed in these sections may focus primarily on…

It is common to…

A

Determining optimal test data (e.g., from equivalence partitions) or deriving test procedures (e.g., from state models).

Combine techniques to create complete test cases.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Black-Box Techniques - Intro (3.2)

Common features of black-box test techniques include:

A
  • Models, e.g., state transition diagrams and decision tables, are created during test design according to the test technique
  • Test conditions are derived systematically from these models
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Black-Box Techniques - Intro (3.2)

Test techniques generally provide coverage criteria, which can be used for…

Completely fulfilling the coverage criteria does not mean…

A

Measuring test design and test execution activities.

that the entire set of tests is complete, but rather that the model no longer suggests any additional tests to increase coverage based on that technique.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Black-Box Techniques - Intro (3.2)

Black-box testing is usually based on some form of specification documentation, such as a…

Since the specification documentation should…

In some cases there may be no…

A

system requirement specification or user stories.

Describe system behavior, particularly in the area of functionality, deriving tests from the requirements is often part of testing the behavior of the system.

Specification documentation but there are implied requirements, such as replacing the functionality of a legacy system.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Black-Box Techniques - Intro (3.2)

There are a number of black-box test techniques. These techniques target different…

The sections below show the…

A

Types of software and scenarios.

Applicability for each technique, some limitations and difficulties that the Test Analyst may experience, the method by which coverage is measured and the types of defects that are targeted.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Equivalence Partitioning - Intro (3.2.1)

Equivalence partitioning (EP) is a technique used to…

Partitioning is used to…

By selecting one representative value from a partition…

A

Reduce the number of test cases required to effectively test the handling of inputs, outputs, internal values and time-related values.

Create equivalence partitions (often called equivalence classes) which are created from sets of values that are required to be processed in the same manner.

Coverage for all the items in the same partition is assumed.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Equivalence Partitioning - Intro (3.2.1)

Usually several parameters determine the…

When combining the equivalence partitions of different parameters into test cases…

A

Behavior of the test object.

Various techniques can be applied.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Equivalence Partitioning - Applicability (3.2.1)

This technique is applicable at any test level and is appropriate when all the members of a set of values to be tested are…

An equivalence partition can be…

The selection of sets of values is applicable to…

A

Expected to be handled in the same way and where the sets of values used by the application do not interact.

Any non-empty set of values, e.g.: ordered, unordered, discrete, continuous, infinite, finite, or even a singleton.

Valid and invalid partitions (i.e., partitions containing values that should be considered invalid for the software under test).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Equivalence Partitioning - Applicability (3.2.1)

EP is strongest when used in combination with…

EP, using values from the valid partitions, is a…

A

Boundary value analysis which expands the test values to include those on the edges of the partitions.

Commonly used technique for smoke testing a new build or a new release as it quickly determines if basic functionality is working.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Equivalence Partitioning - Limitations (3.2.1)

If the assumption is incorrect and the values in the partition are…

It is also important to…

For example, an input field that accepts positive and negative numbers might be better tested as…

Depending on whether or not zero is allowed, this could…

It is important for a Test Analyst to…

This may require…

A

Not handled in exactly the same way, this technique may miss defects.

select the partitions carefully.

Two valid partitions, one for the positive numbers and one for the negative numbers, because of the likelihood of different handling.

Become another partition.

Understand the underlying processing in order to determine the best partitioning of the values.

Support in understanding code design.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Equivalence Partitioning - Limitations (3.2.1)

The Test Analyst should also take into account…

For example, in a flight reservation system, the parameter “accompanying adult” may…

A

Possible dependencies between equivalence partitions of different parameters.

Only be used in combination with the age class “child”.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Equivalence Partitioning - Coverage (3.2.1)

Coverage is determined by taking the number of…

EP coverage is then stated as…

A

partitions for which a value has been tested and dividing that number by the number of partitions that have been identified.

A percentage. Using multiple values for a single partition does not increase the coverage percentage.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Equivalence Partitioning - Coverage (3.2.1)

If the behavior of the test object depends on a single parameter…

A

each equivalence partition, whether valid or invalid, should be covered at least once.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Equivalence Partitioning - Coverage (3.2.1)

In the case of more than one parameter, the Test Analyst should…

Differentiating between…

Regarding the combinations with only valid equivalence partitions, the minimum requirement is…

The minimum number of test cases needed in such a test suite equals…

More thorough coverage types related to combinatorial techniques include…

Invalid equivalence partitions should be…

So each invalid partition contributes…

In case of high risk…

A

select a simple or combinatorial coverage type depending on the risk [Offutt16].

Combinations containing only valid partitions and combinations containing one or more invalid partitions is therefore essential.

A simple coverage of all valid partitions over all parameters.

The greatest number of valid partitions of a parameter, assuming the parameters are independent on each other.

The pairwise coverage (see Section 3.2.6 below), or the full coverage of any combination of valid partitions.

Tested at least individually, i.e. in combination with valid partitions for the other parameters, in order to avoid defect masking.

One test case to the test suite for simple coverage.

Further combinations may be added to the test suite, e.g. consisting of only invalid partitions, or of pairs of invalid partitions.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Equivalence Partitioning - Types of defects (3.2.1)

A Test Analyst uses this technique to find defects in…

A

The handling of various data values.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Boundary Value Analysis - Intro (3.2.2)

Boundary value analysis (BVA) is used to test the proper handling of…

Two approaches to BVA are in common use:

With two-value boundary testing…

For example, for amounts in a currency which has two decimal places, if the partition included the values from 1 to 10, the two-value test values for the upper boundary would be…

The lower boundary test values would be…

A

values that exist on the boundaries of ordered equivalence partitions.

Two-value boundary or three-value boundary testing.

The boundary value (on the boundary) and the value that is just outside the boundary (by the smallest possible increment, based on the required accuracy) are used.

10 and 10.01.

1 and 0.99. The boundaries are defined by the maximum and minimum values in the defined equivalence partition.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Boundary Value Analysis - Intro (3.2.2)

For three-value boundary testing, the values…

In the previous example, the upper boundary tests would include…

The lower boundary tests would include…

The decision regarding whether to use two-value or three-value boundary testing should be based on…

A

before, on and over the boundary are used.

9.99, 10 and 10.01.

0.99, 1 and 1.01.

The risk associated with the item being tested, with the three-value boundary approach being used for the higher risk items

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Boundary Value Analysis - Applicability (3.2.2)

This technique is applicable at any test level and is appropriate when…

For this reason the BVA technique is often…

Ordered equivalence partitions are required because…

For example, a range of numbers is…

A partition that consists of some text strings may be ordered too, e.g. by their lexicographic order, but if the ordering is…

A

ordered equivalence partitions exist.

conducted together with the EP technique.

Of the concept of being on and off the boundary.

An ordered partition.

Not relevant from the business or technical point of view, then boundary values should not be in focus.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Boundary Value Analysis - Applicability (3.2.2)

In addition to number ranges, partitions for which boundary value analysis can be applied include:

A
  • Numeric attributes of non-numeric variables (e.g., length)
  • The number of loop execution cycles, including loops in state transition diagrams
  • The number of iteration elements in stored data structures such as arrays
  • The size of physical objects, e.g. memory
  • The duration of activities
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Boundary Value Analysis - Limitations (3.2.2)

Because the accuracy of this technique depends on…

The Test Analyst should also be aware of…

Only ordered partitions can be…

For example, when testing for the number of cells supported by a spreadsheet, there is a partition that contains…

A

the accurate identification of the equivalence partitions in order to correctly identify the boundaries, it is subject to the same limitations and difficulties as EP.

Tthe precision in the valid and invalid values to be able to accurately determine the values to be tested.

Used for boundary value analysis but this is not limited to a range of valid inputs.

The number of cells up to and including the maximum allowed cells (the boundary) and another partition that begins with one cell over the maximum (over the boundary).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Boundary Value Analysis - Coverage (3.2.2)

Coverage is determined by taking the number of boundary conditions that are tested and…

The coverage is stated as…

Similar to equivalence classes, in the case of multiple parameters, the Test Analyst should…

A

dividing that by the number of identified boundary conditions (either using the two-value or three-value method).

a percentage.

Choose a simple or combinatorial coverage type, depending on the risk.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Boundary Value Analysis - Types of defects (3.2.2)

Boundary value analysis reliably finds…

This technique finds defects regarding the…

It can also be used to find…

A

Displacement or omission of boundaries, and may find cases of
extra boundaries.

Handling of the boundary values, particularly errors with less-than and greater-than logic (i.e., displacement).

Non-functional defects, for example, a system supports 10,000 concurrent users but not 10,001.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

Decision Tables - Intro (3.2.3)

A decision table is a…

Test Analysts can use decision tables to…

A

Tabular representation of a set of conditions and related actions, expressed as rules indicating which action shall occur for which set of condition values [OMG-DMN].

Analyze the rules which apply to the software under test and design tests to cover those rules.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

Decision Tables - Intro (3.2.3)

Conditions and the resulting actions of the test object form the rows of the decision table, usually with…

The first column of the table contains…

The following columns, called the rules, contain…

A

the conditions at the top and the actions at the bottom.

The descriptions of the conditions and actions respectively.

The condition values and corresponding action values respectively.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

Decision Tables - Intro (3.2.3)

Decision tables in which conditions are Boolean with simple values “True” and “False” are called…

An example for such a condition is “User’s income < 1000”. Extended-entry decision tables allow for…

For example, a condition “User’s income” may take…

A

limited entry decision tables.

conditions having multiple values which may represent discrete elements or sets of elements.

One of three possible values: “lower than 1000”, “between 1000 and 2000” and “more than 2000”.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
28
Q

Decision Tables - Intro (3.2.3)

Decision table testing starts with…

Rules containing infeasible combinations of condition values are…

Next, the Test Analyst should…

The Test Analyst should ensure the rules within the table are…

A

Designing decision tables based on the specification.

Excluded or marked as “infeasible”.

review the decision tables with the other stakeholders.

Consistent (i.e., the rules do not overlap), complete (i.e., they contain a rule for each feasible combination of condition values), and correct (i.e., they model the intended behavior).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
29
Q

Decision Tables - Intro (3.2.3)

The basic principle in decision table testing is that…

A

The rules form the test conditions.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
30
Q

Decision Tables - Intro (3.2.3)

When designing a test case to cover a given rule, the Test Analyst should be aware…

For example, the TRUE value of the condition “age ≥ 18?” may require the tester to…

Similarly, the expected results of the test case may…

A

that the inputs of the test case might be different parameters than in the conditions of the decision table.

Calculate the age from the input parameters birth date and current date.

Be indirect consequences of the actions of the decision table

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
31
Q

Decision Tables - Intro (3.2.3)

After the decision table is ready…

A

The rules need to be implemented as test cases by selecting test input values (and expected results) that fulfil the conditions and actions.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
32
Q

Collapsed decision tables (3.2.3)

When trying to test every possible input combination according to the conditions, decision tables can…

A complete limited-entry decision table with n conditions has…

A technique of systematically reducing…

When this technique is used…

In this resulting rule the values of the irrelevant conditions are…

For conditions with “don’t care” values, the Test Analyst may…

A

become very large.

2n rules.

The number of combinations is called collapsed decision table testing [Mosley93].

A group of rules with the same set of actions can be reduced (collapsed) to one rule if, within this group, some conditions are not relevant for the action, and all the other conditions remain unchanged.

denoted as “don’t care”, usually marked with a dash “-”.

Specify arbitrary valid values for test implementation.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
33
Q

Collapsed decision tables (3.2.3)

Another case for collapsing rules is when…

For example, in a decision table for card payments, if the condition…

A

a condition value is not applicable in combination with some
other condition values or when two or more conditions have conflicting values.

“card is valid” is false, the condition “PIN code is
correct” is not applicable.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
34
Q

Collapsed decision tables (3.2.3)

Collapsed decision tables may have far fewer rules than full decision tables, which results in…

If a given rule has “don’t care” entries, and only one test case covers this rule, only one of…

Hence, for high risk levels, in alignment with the Test Manager, the Test Analyst should…

A

A lower number of test cases and less effort.

Several possible values of the condition will be tested for that rule, so a defect involving other values may remain undetected.

Define separate rules for each feasible combination of the single condition values rather than collapsing the decision table.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
35
Q

Decision Tables - Applicability (3.2.3)

Decision table testing is commonly applied to…

It may also be applicable to…

This technique is particularly useful when…

A

Integration, system, and acceptance test levels.

Component testing when a component is responsible for a set of decision logic.

The test object is specified in the form of flowcharts or tables of business rules.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
36
Q

Decision Tables - Applicability (3.2.3)

Decision tables are also a requirements definition technique and sometimes requirements specifications…

The Test Analyst should still…

A

may already be defined in this format.

Participate in reviewing the decision tables and analyze them before starting test design.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
37
Q

Decision Tables - Limitations (3.2.3)

When considering combinations of conditions, finding all the interacting conditions can be…

Care must be taken when…

In the worst case…

A

challenging, particularly when requirements are not well-defined or not documented at all.

Selecting the conditions considered in a decision table so that the number of combinations of those conditions remains manageable.

The number of rules will grow exponentially.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
38
Q

Decision Tables - Coverage (3.2.3)

The common coverage standard for this technique is to cover…

The coverage is measured as…

A

each rule of the decision table with one test case.

The number of rules covered by the test suite divided by the total number of feasible rules, expressed as a percentage.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
39
Q

Decision Tables - Coverage (3.2.3)

Boundary value analysis and equivalence partitioning can be combined with the decision table technique, especially in the case of…

If conditions contain equivalence partitions that are ordered, the boundary values may…

A

extended-entry decision tables.

Be used as additional entries leading to additional rules and test cases.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
40
Q

Decision Tables - Types of defects (3.2.3)

Typical defects of decision table testing include…

During the creation of the decision tables, defects may be…

It is not unusual to…

The most common types of defects are…

A

Incorrect logic-related processing based on particular combinations of conditions resulting in unexpected results.

Found in the specification document.

Prepare a set of conditions and determine that the expected result is unspecified for one or more rules.

Omissions of actions (i.e., there is no information regarding what should actually happen in a certain situation) and contradictions.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
41
Q

State Transition Tables - Intro (3.2.4)

State transition testing is used to test the ability of the test object to…

Events cause the test object to…

Events may be qualified by…

For example, a login event with a valid username/password combination will result in…

This information is represented in a…

A

Enter and exit from defined states via valid transitions, as well as to try entering invalid states or covering invalid transitions.

Transition from state to state and to perform actions.

Conditions (sometimes called guard conditions or transition guards) which influence the transition path to be taken.

A different transition than a login event with an invalid password.

State transition diagram or in a state transition table (which may also include potential invalid transitions between states).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
42
Q

State Transition Tables - Applicability (3.2.4)

State transition testing is applicable for any software that has…

State transition testing can be used…

Embedded software, web software, and any type of transactional software are…

Control systems, e.g., traffic light controllers, are…

A

defined states and has events that will cause the transitions between those states (e.g., changing screens).

At any test level.

Good candidates for this type of testing.

Also good candidates for this type of testing.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
43
Q

State Transition Tables - Limitations (3.2.4)

Determining the states is often the most…

When the test object has…

For embedded software, the states may…

A

Difficult part of defining the state transition diagram or state transition table.

A user interface, the various screens that are displayed for the
user are often represented by states.

Be dependent upon the states of the hardware.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
44
Q

State Transition Tables - Limitations (3.2.4)

Besides the states themselves, the basic unit of state transition testing is…

A single transition is called…

A sequence of two successive transitions is called…

a sequence of three successive transitions is called…

In general, an N-switch represents…

With N increasing, the number of N-switches…

A

the individual transition.

Simply testing all single transitions will find some kinds of state transition defects, but more may be found by testing sequences of transitions.

A 0-switch;

A 1-switch;

A 2-switch, and so
forth.

N+1 successive transitions [Chow1978].

Grows very quickly, making it difficult to achieve N-switch coverage with a reasonable, small number of tests.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
45
Q

State Transition Tables - Coverage (3.2.4)

As with other types of test techniques, there is a…

The minimum acceptable degree of coverage is to have visited every state and…

100% transition coverage (also known as 100% 0-switch coverage) will guarantee that…

Depending on the relationships between states and transitions, it may be necessary to…

A

Hierarchy of levels of coverage.

traversed every transition at least once.

Every state is visited and every transition is traversed, unless the system design or the state transition model (diagram or table) is defective.

Traverse some transitions more than once in order to execute other transitions a single time.

46
Q

State Transition Tables - Coverage (3.2.4)

The term “N-switch coverage” relates to the…

For example, achieving 100% 1-switch coverage requires that…

This testing may…

A

Number of switches covered of length N+1, as a percentage of the total number of switches of that length.

Every valid sequence of two successive transitions has been tested at least once.

Trigger some types of failures that 100% 0-switch coverage would miss.

47
Q

State Transition Tables - Coverage (3.2.4)

“Round-trip coverage” applies to situations in which…

100% roundtrip coverage is achieved when…

This loop cannot contain…

A

sequences of transitions form loops.

All loops from any state back to the same state have been tested for all states at which loops begin and end.

More than one occurrence of any particular state (except the initial/final one) [Offutt16].

48
Q

State Transition Tables - Coverage (3.2.4)

For any of these approaches, an even higher degree of coverage will attempt to include…

Coverage requirements for state transition testing must…

A

all invalid transitions identified in a state transition table.

Identify whether invalid transitions are included.

49
Q

State Transition Tables - Coverage (3.2.4)

Designing test cases to achieve the desired coverage is supported by…

This information may also be represented in…

A

the state transition diagram or the state transition table for the particular test object.

A table that shows the N-switch transitions for a particular value of N [Black09].

50
Q

State Transition Tables - Coverage (3.2.4)

A manual procedure may be…

One suggested method is to…

This approach would become…

A tool should therefore…

A

Applied for identifying the items to be covered (e.g., transitions, states or N-switches).

print the state transition diagram and state transition table and use a pen or pencil to mark up the items covered until the required coverage is shown [Black09].

Too time-consuming for more complex state transition diagrams and state transition tables.

Be used to support state transition testing.

51
Q

State Transition Testing - Types of Defects (3.2.4)

A
  • Incorrect event types or values
  • Incorrect action types or values
  • Incorrect initial state
  • Inability to reach some exit state(s)
  • Inability to enter required states
  • Extra (unnecessary) states
  • Inability to execute some valid transition(s) correctly
  • Ability to execute invalid transitions
  • Wrong guard conditions
52
Q

State Transition Testing - Types of Defects (3.2.4)

During the creation of the state transition model, defects may be…

The most common types of defects are…

A

found in the specification document.

Omissions (i.e., there is no information regarding what should actually happen in a certain situation) and contradictions.

53
Q

Classification Trees - Intro (3.2.5)

Classification trees support certain black-box test techniques by…

The data is organized into classifications and classes as follows:

1 - Classifications: These represent…

For example, if an application can be configured many different ways, the classifications might include…

2 - Classes: Each classification can have…

Each class, or equivalence partition, is a…

In the above example, the language classification might include…

A

Enabling a graphical representation of the data space to be created which applies to the test object.

Parameters within the data space for the test object, such as input parameters (which can further contain environment states and pre-conditions), and output parameters.

Client, browser, language, and operating system.

Any number of classes and sub-classes describing the occurrence of the parameter.

Specific value within a classification.

Equivalence partitions for English, French and Spanish.

54
Q

Classification Trees - Intro (3.2.5)

Classification trees allow the Test Analysts to…

This includes, for example…

A

Enter combinations as they see fit.

Pairwise combinations (see Section 3.2.6), three-wise combinations, and single-wise.

55
Q

Classification Trees - Applicability (3.2.5)

The creation of a classification tree helps a Test Analyst to…

A

Identify parameters (classifications) and their equivalence partitions (classes) which are of interest.

56
Q

Classification Trees - Applicability (3.2.5)

Further analysis of the classification tree diagram enables…

The resulting classification tree may then be used to…

A

Possible boundary values to be identified and certain combinations of inputs to be identified which are either of particular interest or may be discounted (e.g., because they are incompatible).

Support equivalence partitioning, boundary value analysis or pairwise testing (see Section 3.2.6).

57
Q

Classification Trees - Limitations (3.2.5)

As the quantity of classifications and/or classes increases…

Also, the Classification Tree Technique does not…

Test Analysts must supply…

A

The diagram becomes larger and less easy to use.

Create complete test cases, only test data combinations.

The results for each test combination to create complete test cases.

58
Q

Classification Trees - Coverage (3.2.5)

Test cases may be designed to achieve, for example…

The Test Analyst may also decide to…

A

minimum class coverage (i.e., all values in a classification tested at least once).

Cover pairwise combinations or use other types of combinatorial testing, e.g. three-wise.

59
Q

Classification Trees - Types of defects (3.2.5)

The types of defects found depend on…

A

The technique(s) which the classification trees support (i.e., equivalence partitioning, boundary value analysis or pairwise testing).

60
Q

Pairwise Testing - Intro (3.2.6)

Pairwise testing is used when testing software in which…

The input parameters may be…

The combination of a specific parameter (variable or factor) with a specific value of that parameter is called…

A

several input parameters, each with several possible values, must be tested in combination, giving rise to more combinations than are feasible to test in the time allowed.

Independent in the sense that any option for any factor (i.e., any selected value for any one input parameter) can be combined with any option for any other factor, however it is not always the case (see a note on feature models below).

A parameter value pair (e.g., if ‘color’ is a parameter with seven permitted values including ‘red’, then ‘color = red’ could be a parameter-value pair).

61
Q

Pairwise Testing - Intro (3.2.6)

Pairwise testing uses combinatorial techniques to ensure that…

If the Test Analyst uses a manual approach, a table is…

The Test Analyst then…

Any entries in the table which are left blank can…

A

each parameter-value pair gets tested once against each parameter-value pair of each other parameter (i.e., ‘all pairs’ of parameter-value pairs for any two different parameters get tested), while avoiding testing all combinations of parameter-value pairs.

Constructed with test cases represented by rows and one column for each parameter.

Populates the table with values such that all pairs of values can be identified in the table (see [Black09]).

Be filled with values by the Test Analyst using their own domain knowledge.

62
Q

Pairwise Testing - Intro (3.2.6)

There are a number of tools available to aid a Test Analyst in this task (see www.pairwise.org for samples). They require, as input…

The output of the tool can be used as…

A

a list of the parameters and their values and generate a suitable set
of combinations of values from each parameter that covers all pairs of parameter-value pairs.

Input for test cases. Note that the Test Analyst must supply the expected results for each combination that is created by the tools.

63
Q

Pairwise Testing - Intro (3.2.6)

Classification trees (see Section 3.2.5) are often used in conjunction with pairwise testing [Bath14] Classification tree design is supported by tools and enables…

This helps to identify the following information:

A

combinations of parameters and their values to be visualized (some tools offer a pairwise enhancement).

  • Inputs to be used by the pairwise test technique.
  • Particular combinations of interest (e.g., frequently used or a common source of defects)
  • Particular combinations which are incompatible. This does not assume that the combined factors won’t affect each other; they very well might, but should affect each other in acceptable ways.
  • Logical relationships between variables. For example, “if variable1 = x, then variable2 cannot be y”. Classification trees which capture these relationships are called “feature models”.
64
Q

Pairwise Testing - Applicability (3.2.6)

The problem of having too many combinations of parameter values manifests itself in at least…

Some test items involve…

In this case…

Furthermore, some systems may be…

In both these situations, pairwise testing can be used to…

A

two different situations related to testing.

Several parameters each with a number of possible values, for instance a screen with several input fields.

Combinations of parameter values make up the input data for the test cases.

Configurable in a number of dimensions, resulting in a potentially large configuration space.

Identify a subset of combinations that is manageable and feasible.

65
Q

Pairwise Testing - Applicability (3.2.6)

For parameters with many values, equivalence partitioning, or some other selection mechanism may…

Capturing the parameters and…

A

first be applied to each parameter individually to reduce the number of values for each parameter, before pairwise testing is applied to reduce the set of resulting combinations.

Their values in a classification tree supports this activity.

66
Q

Pairwise Testing - Applicability (3.2.6)

These techniques are usually applied to the…

A

component integration, system and system integration test
levels.

67
Q

Pairwise Testing - Limitations (3.2.6)

The major limitation with these techniques is the assumption that the results of a few tests are…

If there is an unexpected interaction between certain variables, it may…

These techniques can be difficult to…

Any such explanation should be balanced by mentioning…

There is a residual risk that pairwise testing may…

A

representative of all tests and that those few tests represent expected usage.

Go undetected with this test technique if that particular combination is not tested.

Explain to a non-technical audience as they may not understand the logical reduction of tests.

The results from empirical studies [Kuhn16], which showed that in the area of medical devices under study, 66% of failures were triggered by a single variable and 97% by either one variable or two variables interacting.

Not detect systems failures where three or more variables interact.

68
Q

Pairwise Testing - Limitations (3.2.6)

Identifying the parameters and their respective values is sometimes…

Therefore, this task should be performed with…

Finding a minimal set of combinations to satisfy…

Tools may be used to find the…

Some tools support the ability to…

A Test Analyst may use this capability to…

A

difficult to achieve.

The support of classification trees where possible (see Section 3.2.5).

A certain level of coverage is difficult to do manually.

Smallest possible set of combinations.

Force some combinations to be included in or excluded from the final selection of combinations.

Emphasize or de-emphasize factors based on domain knowledge or product usage information.

69
Q

Pairwise Testing - Coverage (3.2.6)

The 100% pairwise coverage requires every…

A

Pair of values of any pair of parameters be included in at
least one combination.

70
Q

Pairwise Testing - Types of defects (3.2.6)

The most common type of defects found with pairwise testing is…

A

Defects related to the combined values of two parameters.

71
Q

Use Case Testing - Intro (3.2.7)

Use case testing provides transactional, behavior-based tests that should…

Actors can be…

A

Emulate intended use of the component or system specified by the use case. Use cases are defined in terms of interactions between
the actors and a component or system that accomplishes some goal.

Human users, external hardware, or other components or systems.

72
Q

Use Case Testing - Applicability (3.2.7)

Use case testing is usually applied in…

It may also be used in…

Use cases are also often the basis for…

The behaviors described in the use cases may be…

A

system and acceptance testing.

Integration testing if the behavior of the components or systems is specified by use cases.

Performance testing because they portray realistic usage of the system.

Assigned to virtual users to create a realistic load on the system (so long as load and performance requirements are specified in them or for them).

73
Q

Use Case Testing - Limitations (3.2.7)

In order to be valid, the use cases must convey…

The requirements of what users need to accomplish should come from…

The value of a use case is reduced if…

A

realistic user transactions.

Use case specifications are a form of system design.

Users or user representatives, and should be checked against organizational requirements before designing corresponding use cases.

It does not reflect real user and organizational requirements, or hinders rather than assists completion of user tasks.

74
Q

Use Case Testing - Limitations (3.2.7)

An accurate definition of the exception, alternative and…

Use cases should be taken as…

It may also be beneficial to create…

As with other forms of specification this is likely to reveal…

A

Error handling behaviors is important for the coverage to be thorough.

A guideline, but not a complete definition of what should be tested as they may not provide a clear definition of the entire set of requirements.

Other models, such as flowcharts and/or decision tables, from the use case narrative to improve the accuracy of the testing and to verify the use case itself.

Logical anomalies in the use case specification, if they exist.

75
Q

Use Case Testing - Coverage (3.2.7)

The minimum acceptable level of coverage of a use case is to have…

If a minimal test suite is required, multiple alternative behaviors may be…

If better diagnostic capability is required (e.g., to assist in isolating defects)…

A

one test case for the basic behavior and sufficient additional test cases to cover each alternative and error handling behavior.

Incorporated into a test case provided they are mutually compatible.

One additional test case per alternative behavior may be designed, although nested alternative behaviors will still require some of those behaviors to be amalgamated into a single test case (e.g., termination versus non-termination alternative behaviors within a “retry” exception behavior).

76
Q

Use Case Testing - Types of defects (3.2.7)

Defects include:

A

Mishandling of defined behaviors, missed alternative behaviors, incorrect processing of the conditions presented and poorly implemented or incorrect error messages.

77
Q

Combining Techniques - (3.2.8)

Sometimes techniques are combined to…

For example, the conditions identified in a decision table might be…

Test cases would then cover not only…

When selecting the particular technique to be applied, the Test Analyst should consider…

These aspects are described for the…

There may not be a…

Combining the suitable techniques will often be…

A

Create test cases.

Subjected to equivalence partitioning to discover multiple ways in which a condition might be satisfied.

Every combination of conditions, but also, for those conditions which are partitioned, additional test cases should be generated to cover the equivalence partitions.

The applicability of the technique, the limitations and difficulties, and the goals of the testing in terms of coverage and defects to be detected.

Individual techniques covered in this chapter.

Single “best” technique for a situation.

The most effective way to achieve the test objectives set, assuming there is sufficient time and skill to correctly apply the techniques.

78
Q

Experience Based Testing - Intro (3.3)

Experience-based testing utilizes the…

These test techniques range from…

They are almost always useful, but have particular value when…

A

Skill and intuition of the testers, along with their experience with
similar applications or technologies to target testing in order to increase defect detection.

“quick tests” in which the tester has no formally pre-planned activities to perform, through pre-planned test sessions using test charters to scripted testing sessions.

Aspects included in the following list of advantages can be achieved.

79
Q

Experience Based Testing - Intro (3.3)

Experience-based testing has the following advantages:

A
  • It may be a good alternative to more structured approaches in cases where system documentation is lacking.
  • It can be applied when testing time is severely restricted.
  • It enables available expertise in the domain and technology to be applied in testing. This may include those not involved in testing, e.g., from business analysts, customers or clients.
  • It can provide early feedback to the developers.
  • It helps the team become familiar with the software as it is produced.
  • It is effective when operational failures are analyzed.
  • It enables a diversity of test techniques to be applied.
80
Q

Experience Based Testing - Intro (3.3)

Experience-based testing has the following disadvantages:

A
  • It may be inappropriate in systems requiring detailed test documentation.
  • High levels of repeatability are difficult to achieve.
  • The ability to precisely assess coverage is limited.
  • Tests are less suited for subsequent automation.
81
Q

Experience Based Testing - Intro (3.3)

When using reactive and heuristic approaches, testers normally use experience-based testing, which is more…

In addition, execution and evaluation are…

Some structured approaches to experience-based testing are not…

This might be the case, for example, where…

A

Reactive to events than pre-planned test approaches.

Concurrent tasks.

Entirely dynamic, i.e., the tests are not created entirely at the same time as the tester executes the test.

Error guessing is used to target particular aspects of the test object before test execution.

82
Q

Experience Based Testing - Intro (3.3)

Note that although some ideas on coverage are presented for the techniques discussed here, experience-based test techniques…

A

Do not have formal coverage criteria.

83
Q

Error Guessing - Intro (3.3.1)

When using the error guessing technique, a Test Analyst uses experience to…

When the expected errors have been identified, a Test Analyst then…

For example, if a Test Analyst expects the software will exhibit failures when an invalid password is entered, tests will be run to…

A

guess the potential errors that might have been made when the code was being designed and developed.

Determines the best methods to use to uncover the resulting defects.

Enter a variety of different values in the password field to verify if the error was indeed made and has resulted in a defect that can be seen as a failure when the tests are run.

84
Q

Error Guessing - Intro (3.3.1)

In addition to being used as a test technique, error guessing is also useful during…

A

Risk analysis to identify potential failure modes.

85
Q

Error Guessing - Applicability (3.3.1)

Error guessing is done primarily during…

This technique is often used with other techniques and helps to…

Error guessing can also be used effectively when testing a…

A

integration and system testing, but can be used at any test level.

Broaden the scope of the existing test cases.

New release of the software to test for common defects before starting more rigorous and scripted testing.

86
Q

Error Guessing - Limitations (3.3.1)

The following limitations and difficulties apply to error guessing:

A
  • Coverage is difficult to assess and varies widely with the capability and experience of the Test Analyst.
  • It is best used by an experienced tester who is familiar with the types of defects that are commonly introduced in the type of code being tested.
  • It is commonly used, but is frequently not documented and so may be less reproducible than other forms of testing.
  • Test cases may be documented but in a way that only the author understands and can reproduce.
87
Q

Error Guessing - Coverage (3.3.1)

When a defect taxonomy is used, coverage is determined by taking the…

Without a defect taxonomy, coverage is limited by…

The quantity of defects found from this technique…

A

Number of taxonomy items tested divided by the total number of taxonomy items and stating coverage as a percentage.

The experience and knowledge of the tester and the time available.

Will vary based on how well the tester can target problematic areas.

88
Q

Error Guessing - Types of defects (3.3.1)

Typical defects are usually those defined in the particular defect taxonomy or…

A

“guessed” by the Test Analyst, that might not have been found in black-box testing.

89
Q

Checklist Based Testing - Intro (3.3.2)

When applying the checklist-based test technique, an experienced Test Analyst uses…

These checklists are built based on…

For example, a user interface standard checklist can be…

In Agile software development, checklists can be…

A

a high-level, generalized list of items to be noted, checked, or remembered, or a set of rules or criteria against which
a test object has to be verified.

A set of standards, experience, and other considerations.

Employed as the basis for testing an application.

Built from the acceptance criteria for a user story.

90
Q

Checklist Based Testing - Applicability (3.3.2)

Checklist-based testing is most effective in projects with…

Because checklists are high-level and tend to lack…

By removing the detailed steps, checklists are…

A

an experienced test team that is familiar with the software under test or familiar with the area covered by the checklist (e.g., to successfully apply a user interface checklist, the Test Analyst may be familiar with user interface testing but not the specific system under test).

The detailed steps commonly found in test cases and test procedures, the knowledge of the tester is used to fill in the gaps.

Low maintenance and can be applied to multiple similar releases.

91
Q

Checklist Based Testing - Applicability (3.3.2)

Checklists are well-suited to projects where software is…

This helps to reduce both the…

They can be used for…

A

Released and changed quickly.

Preparation and maintenance time for test documentation.

Any test level and are also used for regression testing and smoke testing.

92
Q

Checklist Based Testing - Limitations (3.3.2)

The high-level nature of the checklists can affect the…

It is possible that several testers will…

This may cause…

This can result in…

Checklists may also result in…

Checklists can be derived from…

Maintenance is required to ensure that…

A

reproducibility of test results.

Interpret the checklists differently and will follow different approaches to fulfil the checklist items.

Different test results, even though the same checklist is used.

Wider coverage but reproducibility is sometimes sacrificed.

Overconfidence regarding the level of coverage that is achieved since the actual testing depends on the tester’s judgment.

More detailed test cases or lists and tend to grow over time.

The checklists are covering the important aspects of the software under test.

93
Q

Checklist Based Testing - Coverage (3.3.2)

Coverage can be determined by taking the number of checklist items tested…

The coverage is as good as the checklist but, because of…

A

divided by the total number of checklist items and stating coverage as a percentage.

The high-level nature of the checklist, the results will vary based on the Test Analyst who executes the checklist.

94
Q

Checklist Based Testing - Types of defects (3.3.2)

Typical defects found with Checklist Based Testing…

A

Cause failures resulting from varying the data, the sequence
of steps or the general workflow during testing.

95
Q

Exploratory Testing - Intro (3.3.3)

Exploratory testing is characterized by…

The tester dynamically adjusts…

A

The tester simultaneously learning about the test object and its
defects, planning the testing work to be done, designing and executing the tests, and reporting the results.

Test goals during execution and prepares only lightweight documentation. [Whittaker09]

96
Q

Exploratory Testing - Applicability (3.3.3)

Good exploratory testing is…

It requires little…

Exploratory testing is often used to…

Exploratory testing is frequently used in…

However, the technique may also be applied to…

A

Planned, interactive, and creative.

Documentation about the system to be tested and is often used in situations where the documentation is not available or is not adequate for other test techniques.

Add to other test techniques and to serve as a basis for the development of additional test cases.

Agile software development to get user story testing done flexibly and quickly with only minimal documentation.

Projects using a sequential development model.

97
Q

Exploratory Testing - Limitations (3.3.3)

Exploratory testing does not provide…

Moreover, reproducing the tests performed…

Using test charters to designate the…

At the end of a test session or set of test sessions, the Test Manager may…

A

any coverage measure.

Can be difficult.

Areas to be covered in a test session and timeboxing to determine the time allowed for the testing are techniques used to manage exploratory testing.

Hold a debriefing session to gather the test results and determine the test charters for the next test sessions.

98
Q

Exploratory Testing - Limitations (3.3.3)

Another difficulty with exploratory testing sessions is to…

This is sometimes done by…

This allows the…

A

accurately track them in a test management system.

Creating test cases that are actually exploratory testing sessions.

Time allocated for the exploratory testing and the planned coverage to be tracked with the other test efforts.

99
Q

Exploratory Testing - Limitations (3.3.3)

Since reproducibility may be difficult to achieve with exploratory testing, this can also cause …

Some organizations use the…

This provides a…

Analyzing the details to find the actual cause of a failure can be…

A

Problems when needing to recall the steps to reproduce a failure.

Capture/playback capability of a test automation tool to record the steps taken by an exploratory tester.

Complete record of all activities during the exploratory testing session (or any experience-based testing session).

Tedious, but at least there is a record of all the steps that were involved.

100
Q

Exploratory Testing - Limitations (3.3.3)

Others tools may be used to capture exploratory testing sessions but these…

In this case the expected results must be…

In general, it is recommended that…

A

Don’t record the expected results because they don’t capture the GUI interaction.

Noted down so that proper analysis of defects can be undertaken if needed.

Notes also be taken while performing exploratory testing, to support reproducibility where required.

101
Q

Exploratory Testing - Coverage (3.3.3)

Test charters may be designed for…

Exploratory testing sessions are…

The charter may also identify…

A test session may be used to focus on…

A

Specific tasks, objectives, and deliverables.

Then planned to achieve those criteria.

Where to focus the test effort, what is in and out of scope of the test session, and what resources should be committed to complete the planned tests.

Particular defect types and other potentially problematic areas that can be addressed without the formality of scripted testing.

102
Q

Exploratory Testing - Types of defects (3.3.3)

Typical defects found with exploratory testing are…

Performance and security issues are also

A

Scenario-based issues that are missed during scripted functional suitability testing, issues that fall between functional boundaries, and workflow related issues.

Sometimes uncovered during exploratory testing.

103
Q

Defect Based Testing - Intro (3.3.4)

A defect-based test technique is one in which…

Unlike black-box testing which derives its tests from the test basis, defect-based testing derives tests from…

Standard lists apply to…

By adhering to industry-specific lists, metrics regarding defect occurrence can be…

The most common defect lists are those which are…

A

the type of defect sought is used as the basis for test design, with tests derived systematically from what is known about the type of defect.

Lists which focus on defects. In general, the lists may be organized into defect types, root causes, failure symptoms and other defect-related data.

Multiple types of software and are not product specific. Using these lists helps to leverage industry standard knowledge to derive the particular tests.

Tracked across projects and even across organizations.

Organization or project specific and make use of specific expertise and experience.

104
Q

Defect Based Testing - Intro (3.3.4)

Defect-based testing may also use…

This test technique allows a Test Analyst to…

From this information, the Test Analyst creates…

A

lists of identified risks and risk scenarios as a basis for targeting
testing.

Target a specific type of defect or to work systematically through a list of known and common defects of a particular type.

The test conditions and test cases that will cause the defect to manifest itself (if it exists).

105
Q

Defect Based Testing - Applicability (3.3.4)

Defect-based testing can be applied…

A

At any test level but is most commonly applied during system
testing.

106
Q

Defect Based Testing - Limitations (3.3.4)

Multiple defect taxonomies exist and may be…

It is important to pick a taxonomy that is…

For example, there may not be any taxonomies available for…

Some organizations have compiled…

Whatever defect taxonomy is used, it is important to…

A

focused on particular types of testing, such as usability.

Applicable to the software under test (if any are available).

Innovative software.

Their own taxonomies of likely or frequently seen defects.

Define the expected coverage prior to starting the testing.

107
Q

Defect Based Testing - Coverage (3.3.4)

The Defect Based technique provides coverage criteria which are…

Coverage items may be…

As a practical matter, the coverage criteria for defect-based test techniques tend to be…

As with other techniques, the coverage criteria do not mean that…

A

Used to determine when all the useful test cases have been identified.

Structural elements, specification elements, usage scenarios, or any combination of these, depending on the defect list.

Less systematic than for black-box test techniques in that only general rules for coverage are given and the specific decision about what constitutes the limit of useful coverage is discretionary.

The entire set of tests is complete, but rather that defects being considered no longer suggest any useful tests based on that technique.

108
Q

Defect Based Testing - Types of defects (3.3.4)

The types of defects discovered with defect based testing usually depend on…

For example, if a user interface defect list is used, the majority of the discovered defects would likely be…

A

The defect taxonomy in use.

User interface related, but other defects can be discovered as a by-product of the specific testing.

109
Q

Applying the Most Appropriate Technique (3.4)

Black-box and experience-based test techniques are…

Experiencebased test techniques fill the gaps in…

A

Most effective when used together.

Achieving test objectives that result from any systematic weaknesses in black-box test techniques.

110
Q

Applying the Most Appropriate Technique (3.4)

There is not one perfect technique for…

It is important for the Test Analyst to…

A

All situations.

Understand the advantages and disadvantages of each technique and to be able to select the best technique or set of techniques for the situation, considering the project type, schedule, access to information, skills of the tester and other factors that can influence the selection.

111
Q

Applying the Most Appropriate Technique (3.4)

In the discussion of each black-box and experience-based test technique…

A

the information provided in “applicability”, “limitations/difficulties” and “coverage” guides a Test Analyst in selecting the most appropriate test techniques to apply.