Lecture 8-Input space partitioning Flashcards

1
Q

What are 4 characteristics of input domain?

A

-Even for small programs, input domain is so large that might be infinite
-Input PARAMETERS define scope of input DOMAIN
-Domain for each input parameter is partitioned into regions
-At least one value is chosen from each region

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

What is the input domain?

A

It consists of all possible inputs that could be take by the program.

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

What is the test selection problem(ideally & in practice) ?

A

Ideally : To select a subset T of the input domain so that the execution of T will reveal ALL ERRORS.

In practice: To select a subset T within the budget so it reveals as many errors as possible.

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

What is partitioning?

A

It defines a set of equivalent classes , or blocks. –> all the members in an equivalence class contribute to error detection in the same way.

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

What is a partition usually based on?

A

On a certain characteristic:
-if a list of integer is sorted or not
-if a list allows duplicates or not

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

What do we do in partitioning ?

A

1.Partition the input domain into a relatively small number of groups.
2.Select one representative from each group.

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

What are the 2 properties of partitioning?

A

Completeness:
-The partition must cover the entire domain.
Disjointness:
-The blocks must not overlap.

*If neither , it means that the partitions have not been considered carefully enough.

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

What are the 4 steps of Input Domain Modelling (IDM)?

A
  1. Identify testable components (method, use case , entire system)
    2.Identify ALL parameters that affect the behaviour of a component
    3.Identify characteristics + create partitions for each of them.
    4.Select values from each partition + combine them to create tests.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What are the 2 IDM approaches?

A

-Interface-Based IDM
-Functionality-Based IDM

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

What is the main idea of Interface-based IDM?

A

To develop characteristics directly from INPUT PARAMETERS.

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

What is the advantage (1) and disadvantages(2) of Interface-based IDM?

A

Advantage :
-relatively easy to identify characteristics.
Disadvantage:
-IDM may be incomplete –> additional characteristics needed
-Not all info reflected in interface –> may require parameters in combination

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

What is the range of Interface-based IDM?

A

One class with values inside the range
Two with values outside of range.

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

What is the string of Interface-based IDM?

A

AT LEAST :
-One with all legal strings
-One with all illegal strings.

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

What is the enumeration of Interface-based IDM?

A

Each value in a separate class.

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

What is the array of Interface-based IDM?

A

One class with all legal arrays
One with only empty array
One with arrays larger than expected size

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

What is the main idea of Functionality-based IDM?

A

To develop characteristics from the FUNCTIONAL or BEHAVIOURAL view

17
Q

What is the advantages (2) and disadvantage(1) of Functionality-based IDM?

A

Advantages:
-Includes more semantic info
-No need to wait for interface to be designed
Disadvantage:
-Hard to identify characteristics, parameter values and tests

18
Q

What do preconditions do in Functionality-based IDM?

A

They explicitly separate NORMAL behaviour from EXCEPTIONAL behaviour.

Ex: method needs a parameter to be non-null

19
Q

What do postconditions do in Functionality-based IDM?

A

They indicate what kind of outputs may be produced.

Ex: if a method produces two types of outputs, then we want to select inputs so that both types of outputs are tested.

20
Q

What are the two relationships in Functionality-based IDM?

A

Relationship of variables with special values:
-zero, null, blank…

Relationships between diff parameters:
- if a method takes two object parameters x and y, we may want to check what happens if x and y point to the same object or to logically equal
objects

21
Q

What is Boundary Value Analysis?

A

A test selection technique that targets faults in applications at the BOUNDARIES of equivalence classes.