L2 Flashcards

1
Q

software dev team members

A

developer (writes implementation)
tester (writes specification)
and manager

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

4 observations

A
  • specifications must be explicit
  • independent dev and testing
  • resources are finite
  • specifications evolve over time
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

testing checks

A

consistency between specification and implementation

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

classification of testing approaches

A

manual/automated vs black box/ white box

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

advantages of automated testing

A
  • find bugs more quickly
  • no need to write tests
  • no need to maintain tests if software changes
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

advantages of manual testing

A
  • efficient test suite

- potential better coverage (not guarantee)

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

advantages of black box testing

A
  • can work with codes that cannot be modified
  • does not need to analyze or study codes
  • code can be any format
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

advantages of white box testing

A
  • efficient test suite

- potential better coverage

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

disadvantages of automated testing

A
  • hard to do
  • impossible for entire systems
  • impossible without specification
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

pre/post conditions

A
  • predicates assumed to hold before/after a function executes
  • most useful when they are executable
  • need not be precise (may become more complex than the code, but is useful even if they don’t cover every situations)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

common problems of a test suite

A
  • too few test: may miss bugs

- too many tests: costly to run, bloat, and redundancy, harder to maintain.

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

2 approaches to test suite validation

A
  • code coverage

- mutation analysis (or mutation testing)

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

code coverage

A
  • metric to quantify the extent to which a program code is tested
  • measured in % (100% is rare in practice)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

type of code coverage

A
  • function coverage
  • statement coverage
  • branch coverage
  • and many others
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

mutation analysis

A
  • test variation (mutants) of the program

- the mutant can be equivalent to the original

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

frame conditions

A

the assumption about everything else outside of the pre/post condition

17
Q

mutation analysis adequates if

A

mutant fails but the original code passes

18
Q

problem with mutation analysis

A

if mutant is equivalent to the original