Chapter 1: Fundamentals of Testing Flashcards

1
Q

Why is Testing Necessary?

A
  1. Human Error (mistake) -> Defect (fault, bug) -> Failure.
  2. Measures the quality of the software.
  3. Gives confidence in the quality.
  4. Reduces the overall level of risk.
  5. How much testing? It depends on risk, safety & project constraints.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Testing Objectives

A
  1. Finding Defects.
  2. Preventing defects.
  3. Providing information for decision-making.
  4. Gaining confidence about the level of quality.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

7 Testing Principles (TEED PTA)

A

(TEED PTA)

  1. Testing shows the presence of defects, not the absence of defects.
  2. Exhaustive testing is impossible.
  3. Early testing.
  4. Defect clustering.
  5. Pesticide paradox (Tests wear out)
  6. Testing is context-dependent.
  7. Absence-of-error fallacy.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

The Psychology of Testing

A
  1. The mindset of Developer & Tester.
  2. Communication in a constructive manner.
  3. Test Independence.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Why we make mistakes

A

(TTCL)

  1. time pressure
  2. tired
  3. complexity of work products or processes
  4. lack adequate training
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Test Activities and Tasks

A

(PMA I ET)

  1. Test planning
  2. Test Monitoring and control
  3. Test analysis and design
  4. Test implementation and execution – Creation of test suites (logical collection of cases)
  5. Evaluating exit criteria and reporting
  6. Test closure activities
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Best practices while reporting defects

A
  1. Communicate findings in a neutral, fact focused way. Don’t criticize.
  2. Be pessimistic and start with collaborations rather than battles
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Failures are caused by ___

A
  1. Defects
  2. Environment conditions
  3. Malicious damage
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

How much testing is enough depends on ___

A
  1. Technical and business risks
  2. Project constraints (time & budget)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Why we do testing

A
  1. Product satisfy requirements
  2. Fit for purpose
  3. Detect defects
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is Testing?

A

Software testing is a set of activities to discover defects and evaluate the quality of software artifacts.

These artifacts, when being tested, are known as test objects.

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

Testing vs QA

A

Testing is a form of quality control (QC)
QC is a product-oriented, corrective approach that focuses on those activities supporting the achievement of levels of quality.

QA is a process-oriented, preventive approach that focuses on the implementation and improvement of processes.

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

Failures

A

Errors and defects are not the only cause of failures.

Failures can also be caused by environmental conditions

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

Root cause

A

A root cause is a fundamental reason for the occurrence of a problem

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

Testing shows the presence, not the absence of defects.

A

Testing can show that defects are present in the test object, but cannot prove that there are no defects.

Testing reduces the probability of defects remaining undiscovered in the test object, but even if no defects are found, testing cannot prove test object correctness.

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

Defects cluster together

A

A small number of system components usually contain most of the defects discovered or are responsible for most of the operational failures.

This phenomenon is an illustration of the Pareto principle. Predicted defect clusters, and actual defect clusters observed during testing or in operation, are an important input for risk-based testing

16
Q

Tests wear out

A

If the same tests are repeated many times, they become increasingly ineffective in detecting new defects.

17
Q

Absence-of-defects fallacy

A

It is a fallacy (i.e., a misconception) to expect that software verification will ensure the success of a system.

18
Q

Test process

A

There are common sets of test activities without which testing is less likely to achieve test objectives.

These sets of test activities form a test process.

19
Q

Traceability between the Test Basis and Test

A
  • Traceability of test cases to requirements can verify that the requirements are covered by test cases.
  • Traceability of test results to riskscan be used to evaluate the level of residual risk in a test object
20
Q

Roles in Testing

A

a test management role and
a testing role

21
Q

Test management role

A

A test management role takes overall responsibility for the test process, test team and leadership of the test activities.

The test management role is mainly focused on the activities of test planning, test monitoring and control and test completion.

22
Q

Testing role

A

The testing role takes overall responsibility for the engineering (technical) aspect of testing.

The testing role is mainly focused on the activities of test analysis, test design, test implementation and test execution.

23
Q

Generic Skills Required for Testing

A

While being generic, the following skills are particularly relevant for testers:

  • Testing knowledge (to increase effectiveness of testing, e.g., by using test techniques)
  • Thoroughness, carefulness, curiosity, attention to details, being methodical (to identify defects, especially the ones that are difficult to find)
  • Good communication skills, active listening, being a team player (to interact effectively with all stakeholders, to convey information to others, to be understood, and to report and discuss defects)
  • Analytical thinking, critical thinking, creativity (to increase effectiveness of testing)
  • Technical knowledge (to increase efficiency of testing, e.g., by using appropriate test tools)
  • Domain knowledge (to be able to understand and to communicate with end users/business representatives)
24
Q

Confirmation bias

A

Confirmation bias can make it difficult to accept information that
disagrees with currently held beliefs.

25
Q

Whole Team Approach

A

In the whole-team approach any team member with the necessary knowledge and skills can perform any task, and everyone is responsible for quality.

26
Q

Independence of Testing

A

The main benefit of independence of testing is that independent testers are likely to recognize different kinds of failures and defects compared to developers because of their different backgrounds, technical perspectives, and biases.