Fundamentals of Testing Flashcards

Keywords: coverage, debugging, defect, error, failure, quality, quality assurance, root cause, test analysis, test basis, test case, test completion, test condition, test control, test data, test design, test execution, test implementation, test monitoring, test object, test objective, test planning, test procedure, test result, testing, testware, validation, verification (23 cards)

1
Q

Objectives of testing can vary, depending on context:

Name as many typical testing objectives as you can.

Hint: The course content states nine of them.

Test Objectives

A
  • Evaluating work products such as requirements, user stories, designs, and code
  • Triggering failures and finding defects
  • Ensuring required coverage of a test object
  • Reducing the level of risk of inadequate software quality
  • Verifying whether specified requirements have been fulfilled
  • Verifying that a test object complies with contractual, legal, and regulatory requirements
  • Providing information to stakeholders to allow them to make informed decisions
  • Building confidence in the quality of the test object
  • Validating whether the test object is complete and works as expected by the stakeholders

Test Objectives

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

Objectives of testing can vary, depending on context:

What are some examples of what may influence the testing objectives?

Hint: -

Test Objectives

A
  • The work product being tested,
  • The test level
  • Risks
  • The software development lifecycle (SDLC) being followed
  • Factors related to the
    business context, e.g., corporate structure, competitive considerations, or time to market.

Test Objectives

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

Testing and Debugging are seperate activities:

What can testing do?

Hint: Think of key words like Defect, Error, Failure, etc

Testing and Debugging

A

Testing can trigger failures that are caused by defects in the software (dynamic testing) or can directly find defects in the test object (static testing).

Testing and Debugging

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

Testing and Debugging are seperate activities:

What is debugging? and What does it’s typical process look like?

Hint: Think of key words like Defect, Error, Failure, etc

Testing and Debugging

A

Debugging is concerned with finding causes of
this failure (defects), analyzing these causes, and eliminating them.
The typical debugging process in this case involves:
* Reproduction of a failure
* Diagnosis (finding the root cause)
* Fixing the cause

reproduction or diagnosis, since

In static testing, there is no need for reproduction or diagnosis.

Testing and Debugging

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

Fixing a bug isn’t the end of the testing process:

What sort of testing comes after Debugging?

Hint: There are two key types

Testing and Debugging

A
  • Subsequent Confirmation testing checks whether the fixes resolved the problem. Preferably, confirmation
    testing is done by the same person who performed the initial test.
  • Subsequent Regression testing can also be performed, to check whether the fixes are causing failures in other parts of the test object.

Testing and Debugging

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

Testing helps achieve certain goals within a set of limits:

What benefit is Testing’s biggest contribution to a Business’ Success?

Hint: Think of a Business’ constraints rather than a testers

Testing’s Contributions to Success

A

Testing is a cost-effective means of detecting defects. These defects can then be removed (by debugging – a non-testing activity), so testing indirectly contributes to higher quality test objects.

Testing’s Contributions to Success

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

Testing and QA are not interchangeable, as Testing is a form of QC:

What is Quality Control (QC)?

Hint: It is something you can control

Testing and Quality Assurance (QA)

A

QC is a product-oriented, corrective approach that focuses on those activities supporting the achievement of appropriate levels of quality.

Testing and Quality Assurance (QA)

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

Testing and QA are not interchangeable, as Testing is a form of QC:

What is Quality Assurance (QA)?

Hint: It is more of a ‘concept’

Testing and Quality Assurance (QA)

A

QA is a process-oriented, preventive approach that focuses on the implementation and improvement of processes. It works on the basis that if a good process is followed correctly, then it will generate a good
product.
QA applies to both the development and testing processes, and is the responsibility of everyone on a project.

Testing and Quality Assurance (QA)

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

Testing is a major form of quality control:

What are some other methods of QC?

Hint: -

Testing and Quality Assurance (QA)

A

Others include:
* Model checking
* Proof of correctness
* Simulation
* Prototyping

Testing and Quality Assurance (QA)

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

Test results are used by both QA and QC:

How does each of QA and QC utilise test results?

Hint: What do these results give you?

Testing and Quality Assurance (QA)

A
  • In QC they are used to fix defects
  • In QA they provide feedback on how well the development and test processes are performing.

Testing and Quality Assurance (QA)

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

To Summarise QA and QC:

Describe the following features for both:
* Focus
* Objective
* Approach
* Stage
* Methods

Hint: -

Testing and Quality Assurance (QA)

A

Feature | Quality Control (QC) | Quality Assurance (QA)
Focus | Defect identification | Defect prevention
Objective | Meet specified requirements | Ensure quality throughout the process
Approach | Reactive (finding and fixing defects) | Proactive (preventing defects)
Stage | After production/execution | Throughout the entire process
Methods | Testing, inspection, reviews | Process improvement, training, audits

Testing and Quality Assurance (QA)

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

Errors, defects, failures and root causes are all linked in one flow:

What is a Root Cause?

Hint: Think of being a baker making a cake

Errors, Defects, Failures, and Root Causes

A

A root cause is a fundamental reason for the occurrence of a problem (e.g., a situation that leads to an error).
It is believed that further similar failures or defects can be prevented or
their frequency reduced by addressing the root cause, such as by removing it.

Analogy: The baker has poor eye-sight/is blind.

Errors, Defects, Failures, and Root Causes

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

Errors, defects, failures and root causes are all linked in one flow:

What is an Error?

Hint: Think of being a baker making a cake

Errors, Defects, Failures, and Root Causes

A

An error is a human action or mistake that produces an incorrect result.
Errors can be coding mistakes, incorrect logic, misinterpreting requirements, or even typos. They represent the cause of a defect.

Analogy: The baker misreads the recipe and adds salt instead of sugar.

Errors, Defects, Failures, and Root Causes

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

Errors, defects, failures and root causes are all linked in one flow:

What is a Defect?

Hint: Think of being a baker making a cake

Errors, Defects, Failures, and Root Causes

A

A defect is an imperfection or flaw in a software component or system that can cause it to deviate from its intended behaviour.
A defect exists in the code or design even if the software hasn’t been executed yet.
It’s a static flaw waiting to be triggered.

Analogy: The cake batter now contains salt instead of sugar.

Errors, Defects, Failures, and Root Causes

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

Errors, defects, failures and root causes are all linked in one flow:

What is a Failure?

Hint: Think of being a baker making a cake

Errors, Defects, Failures, and Root Causes

A

A failure is the inability of a system or component to perform its required function within specified performance requirements.
A failure is the consequence of a defect being activated.
A system with a defect might not always fail; the defect might only cause a failure under specific conditions.

Analogy: The baked cake tastes salty and is inedible.

Errors, Defects, Failures, and Root Causes

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

ISTQB recognise a set of Principles of Testing:

Name the ‘Principles of Testing’

Hint: There are seven of them

Testing Principles

A
  1. Testing shows the presence, not the absence of defects.
  2. Exhaustive testing is impossible.
  3. Early testing saves time and money.
  4. Defects cluster together.
  5. Tests wear out.
  6. Testing is context dependent.
  7. Absence-of-defects fallacy.

Testing Principles

17
Q

A test process usually consists of seven main groups of activities:

Name the ‘Test Activities’

Hint: Think of the flow of the test process

Test Activities and Tasks

A
  1. Test Planning
  2. Test Monitoring and Control
  3. Test Analysis
  4. Test Design
  5. Test Implementation
  6. Test Execution
  7. Test Completion

Test Activities and Tasks

18
Q

A test process usually consists of seven main groups of activities:

Give a brief description of what happens during each Testing Activity

Hint: Allow yourself to look at the Test Activities ‘titles’

Test Activities and Tasks

A

Planning | Define goals and choose the best way to achieve them, considering project limitations.
**Monitoring and Control **| Continuously check testing activities, compare progress to the plan, and take action to stay on track.
Analysis | Examine what needs testing, identify testable parts, prioritize them based on risk, and look for potential defects. This uses test techniques and defines “what to test”.
Design | Develop detailed test cases and materials from the analysis. This involves identifying what to cover in testing and often uses test techniques.
Implementation | Create or gather necessary testing materials (like test data), organize test cases into procedures and suites, create scripts (manual or automated), schedule test execution, and set up the test environment.
Execution | Run the tests as scheduled, either manually or automatically. Compare actual results with expected results, log results, and analyze any unexpected outcomes to identify the cause and report them.
Completion | At key project points (e.g., release), handle remaining defects and change requests. Archive useful test materials, shut down the test environment, analyze lessons learned for future improvements, and create a final report for stakeholders.

Test Activities and Tasks

19
Q

The way testing is carried out will depend on a number of factors:

Name some Contextual factors that would affect the Test Process?

Hint: Remember to think about the business as a whole

Test Process in Context

A
  • Stakeholders (needs, expectations, requirements, willingness to cooperate, etc.)
  • Team members (skills, knowledge, level of experience, availability, training needs, etc.)
  • Business domain (criticality of the test object, identified risks, market needs, specific legal
    regulations, etc.)
  • Technical factors (type of software, product architecture, technology used, etc.)
  • Project constraints (scope, time, budget, resources, etc.)
  • Organizational factors (organizational structure, existing policies, practices used, etc.)
  • Software development lifecycle (engineering practices, development methods, etc.)
  • Tools (availability, usability, compliance, etc.)

Test Process in Context

20
Q

Testware is created as an outputted product from the test activities:

Name some examples of Testware for each Test Activity

Hint: Allow yourself to see the Test Activities ‘titles’

Testware

A
  • Test Planning | test plan, test schedule, risk register, and entry and exit criteria.
  • Test Monitoring and Control | test progress reports, documentation of control directives and risk information.
  • Test Analysis | (prioritized) test conditions (e.g., acceptance criteria), and defect reports regarding defects in the test basis (if not fixed directly).
  • Test Design | (prioritized) test cases, test charters, coverage items, test data requirements and test environment requirements.
    * Test Implementation | test procedures, automated test scripts, test
    suites, test data, test execution schedule, and test environment elements.
  • Test Execution | test logs, and defect reports.
  • Test Completion | test completion report, action items for improvement.

Testware

21
Q

It is important to maintain traceability throughout the test process:

What is tracebility?

Hint: This is asking more ‘definitionally’

Traceability between the Test Basis and Testware

A

Traceability in software development, and particularly in testing, refers to the ability to link and follow the life of a requirement or other artifact throughout the development lifecycle. It’s about establishing and maintaining clear relationships between different elements of the project, from initial requirements to final delivery.

Traceability between the Test Basis and Testware

22
Q

It is important to maintain traceability throughout the test process:

What are the benefits of tracebility?

Hint: Think about what it can give you

Traceability between the Test Basis and Testware

A

Good traceability:
* Makes it possible to determine the impact of
changes, facilitates test audits, and helps meet IT governance criteria.
* Makes test progress and completion reports more easily understandable by including the status of test basis elements. This can also assist in communicating the technical aspects of testing to stakeholders in an
understandable manner.
* Traceability provides information to assess product quality, process capability,
and project progress against business goals.

Traceability between the Test Basis and Testware

23
Q

Two principal roles in testing are covered in this syllabus:

Briefly describe the roles and responsibilities of Test Management and Testing Roles

Hint: Think in terms of the Test Activities

Roles in Testing

A

Test management | 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.
Testing | 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.

Roles in Testing