V&V Flashcards

1
Q

What is a mistake?

A

a human action that produces an incorrect step (defect)

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

What is a defect?

A

an incorrect step, process, or data definition

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

What is a failure?

A

an incorrect result; the manifestation of a defect

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

What is the v-model

A

Stage of Development Type of Testing

Requirements

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

Difference between verification and validation?

A

Verification - are we building the product right

Validation - are we building the right product

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

What is a build?

A

Current snapshot of the code; a release candidate

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

What is a release?

A

An executable version of the software that has been deployed

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

What is in a test plan?

A
  • What needs to be tested
  • What types of testing needs to be done
  • The needed personnel and resources
  • Testing activity breakdown and scheduling
  • Risk analysis
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Different types of testing

A

Unit testing - testing the smallest (as defined by the team) code module in isolation

Integration testing - combining units of code to test how they integrate with one another

System testing - testing a full snapshot of the system with all necessary integrations

Acceptance testing - testing from the point of view of the clients and users

Regression testing - testing after changes have been made to a working system

Stress testing - putting the working system through stress to determine limits, weak points, potential problems, etc. during extreme operating conditions

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

SOLID design principles

A

Single responsibility - a class should have one and only one reason to change

Open/closed - a class should be open for extension and closed for modification

Liskov substitution - derived classes should be substitutable for their parent class

Interface segregation - make fine-grained interfaces that are client specific

Dependency inversion - rely on abstractions, not concretions

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

What is control flow testing?

A

Graphically represent the unit with a control flow graph (CFG) then choose a path selection criteria to test

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

What are the path selection criteria for control flow testing?

A

All-path - selects all possible paths through the unit

Statement coverage - executing individual program statements and observing the outcome (weakest)

Branch coverage - executing edges within the CFG

Predicate coverage - special form of branch where each predicate is given its own decision node (strongest)

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

Cyclomatic complexity

A

CC = E - N + 2P

E = number of edges
N = number of nodes
P = number of subroutines
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Tools needed for web testing

A

Selenium

SpecFlow

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