Test Oracles and Prioritization Flashcards

1
Q

What is a test oracle?

A

A mechanism to check correctness of program output for test cases.

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

How does a test oracle work?

A

Test case are givenato oracle and program under test, outputs comapred.

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

What is needed for the oracle to determine correct behavior?

A

Unambiguous specification of expected behavior that is error-free

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

How are some test oracles generated?

A

Automatically from specification of programs or modules

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

What assurance do automatically generated oracles provide?

A

Their output is consistent with the program specifications.

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

What are the key components involved with a test oracle?

A

Test cases, program under test, expected output specification

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

Why is an unambiguous specification important for the oracle?

A

To clearly define the correct behavior to compare against

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

What is the conceptual view of testing with an oracle?

A

A process where test cases go both for oracle and program under test

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

Fill in the Blanks

What is Test Case Prioritization?

Assigning priority levels to test cases based on three (3) factors

A

Assigning priority levels to test cases based on significance, criticality, and potential impact.

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

Why is Test Case Priority imporant?

Ensures five (5) things. Mnemonic is CE-FR-IUE-ERU-BC

A

Ensures cost-effectiveness, faster releases, improved user experience, efficient resource utilization, and better control.

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

What are different test case priority levels?

4 Priority Levels

A

Priority 1: Must execute, consequences may worsen
Priority 2: Could execute with time
Priority 3: Not important before current release
Priority 4: Never important

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

Who needs to prioritize tests?

A

Developers, QAs, Products Managers, Business Analysts

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

What are the different techniques used to decide priority of test cases?

There are five (5) of them. Mnemonic is C-R-R-H-C.

A

Coverage-based, risk-based, requirements-based, history-based, and cost-based

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

What is coverage-based prioritization?

A

Testing based on recent code changes to focus on defect-prone areas

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

What is risk-based prioritization?

A

Organizing tests by potential impact, concentrating on high-rish components

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

What is requirements-based prioritization?

A

Prioritizing tests according to software requirements’ importance

17
Q

What is history-based prioritization?

A

Ordering tests based on past performance to find defects faster

18
Q

What is cost-based or cost-aware based prioritization?

A

Prioritizing tests based on cost-effectiveness for maximum value