Week 9 Advanced Testing Flashcards

1
Q

How are inputs selected in random testing?

A

The input domain is identified and random numbers are mapped to that input domain according to a probabilistic distribution.

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

What guarantees does random testing produce?

A

Probabilistic guarantees about the programs faultiness.

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

What are the benefits of random testing?

A

Cheap, easy, calculates reliability using probability theory. Good alternative to ECP when lack of domain knowledge or data volume is large.

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

What are the 4 types of input space sampling?

A

Uniform, Equispaced, Proportional sampling and adaptive.

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

What are the 4 types of input space sampling?

A

Uniform, Equispaced, Proportional sampling and adaptive.

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

What is uniform distribution?

A

Uniform random selection of the input space, every input has the same chance of being chosen.

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

What is Equispaced sampling

A

Unsampled sections of the input space are equally spaced apart (every 10,100,1000 etc)

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

What is proportional sampling

A

Sample according to the subdomain distribution

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

Adaptive sampling

A

Utilise prior knowledge about what type of input is more likely to cause failures and focus on this.

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

What is a test oracle?

A

A test oracle is a mechanism for determining whether a test has passed or failed.

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

How is a test oracle used.

A

The real outputs of a test are compared to the output the oracle determines the test should really have.

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

What is the oracle problem?

A

It is the question of how do you determine the correct output for a given input.

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

What are solutions to the oracle problem.

A
  1. Golden standard. (use results from an old equivalent system)
  2. Parametric oracle.
  3. Observer oracle. It knows normal output curve of the SUT, if curves don’t match its an exceptional output.
  4. Assertion you know a fact to be a truth. Whenever the output violates this assumed truth its a wrong output.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What are solutions to the oracle problem.

A
  1. Golden standard. (use results from an old equivalent system)
  2. Parametric oracle.
  3. Observer oracle. It knows normal output curve of the SUT, if curves don’t match its an exceptional output.
  4. Assertion you know a fact to be a truth. Whenever the output violates this assumed truth its a wrong output.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What are some faults of random testing.

A

Corner faults escaping detection, uniform distribution can easily be wrong, non uniform has domain bias.

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

What is the difference between partitioning testing vs proportional sampling.

A

There is no semantic meaning behind the division of the domain.

17
Q

What are the software metrics of random/partition testing?

A

P-measure, E-measure, F-measure, MTTF.

18
Q

What is P-measure

A

Probability of finding at least one failing test case on n number of tests.

19
Q

What is E-measure?

A

Expected number of triggered failures.

20
Q

What is F-measure?

A

Expected number of test cases required to trigger a failure.

21
Q

What is MTTF?

A

A maintenance metric that measures average amount of time a non-repairable asset operates before failure.

22
Q

Implications of random vs partition testing?

A

Perform equally if no. test cases in partition is proportional to subdomain.

E measure is same when failure rates of partitions are the same, better if buggy partition is selected.

P-measure? Better on partitions if the partitions are the same size and same no test cases.

23
Q

Which test input method was the best?

A

BVA was most effective.

24
Q

What is fuzz testing?

A

A negative software testing method which feeds malformed and unexpected input data to the system.

25
Q

What is negative software testing?

A

Where a negative result is desired in order to discover bugs or faults.

26
Q

What are the 5 fuzzing approaches?

A

Generic, Pattern based, Intelligient, Large volume and Exploit variant.

27
Q

What is generic fuzzing?

A

Crude random corruption of data.

28
Q

What is pattern based fuzzing?

A

Modify random data to conform to particular patterns.

29
Q

What is intelligient fuzzing?

A

Uses semi-valid data which may pass through initial lines of defense, this requires understanding the data format.

30
Q

What is large volume fuzzing?

A

Fuzz tests at large scale.

31
Q

What is exploit variant fuzzing?

A

Varies an exploitative input to take advantage of the same attack vector with a different input.

32
Q

What is mutation testing?

A

Mutation testing focuses on measuring the adequacy of test cases.
It is not a testing strategy.
Should be used in conjunction with traditional techniques.