Software Testing Fundamentals Flashcards

1
Q

Why is testing necessary?

A

To verify the software system behaves as expected and to keep software under control to prevent harm.

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

What is testing?

A

A systematic approach to find and report defects of a software system.

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

What are the objectives of software testing?

A
  • Verification
  • Validation
  • Defect detection and elimination
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What does verification in software testing mean?

A

Process confirming that the software meets its specifications.

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

What does validation in software testing mean?

A

Process confirming that the software meets the users/business intended environment.

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

What is a defect in the context of software testing?

A

A variance between the expected and actual result.

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

What is the first principle of software testing?

A

Exhaustive testing is impossible.

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

What is defect clustering?

A

In larger systems, more complex modules usually exhibit the majority of the defects.

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

What is the pesticide paradox in software testing?

A

A set of tests used repeatedly will decrease in efficacy, similar to over-used pesticide.

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

What does testing show in terms of bugs?

A

Testing can only show that one or more defects exist; it cannot prove the software is error-free.

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

What is the absence of errors fallacy?

A

Declaring that a test has no outstanding defects does not mean the software is error-free.

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

Why is early testing recommended?

A

The earlier testing activities are started, the more cost-effective it is to correct defects.

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

What does it mean that testing is context-dependent?

A

Different testing is needed for different circumstances based on the system’s risks.

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

What are some software testing best practices?

A
  • Test against complete and accurate requirement specifications
  • Document test cases and results
  • Test early
  • Complement testing with static and dynamic analysis
  • Have a positive attitude towards testing
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What are the levels of software testing?

A
  • Unit testing
  • Integration testing
  • System testing
  • Acceptance testing
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is unit testing?

A

Testing on a single building block or component of a software system.

17
Q

What is integration testing?

A

Involves 2 or more units joining together to verify they work cohesively.

18
Q

What is system testing?

A

To test the system as a whole based on scenarios from the use cases.

19
Q

What is acceptance testing?

A

Formal testing conducted to determine if a system satisfies its acceptance criteria, carried out by end-users.

20
Q

Who performs unit tests?

A

Developers.

21
Q

Who performs system tests?

A

Software quality control/assurance engineers.

22
Q

What is the focus of performance testing?

A

Evaluating speed, scalability, and stability under normal and heavy load.

23
Q

Fill in the blank: Testing is not a phase in Agile (Scrum), it is built into each _______.

A

iteration.

24
Q

What is the V Model of Software Testing?

A

A model linking development activities with corresponding testing activities.

25
Q

What is the main focus of user acceptance testing (UAT)?

A

Evaluate the software application against end-user requirements and specifications.