1. Fundamentals of Testing Flashcards

1
Q

provide a definition

Test Object

1.1. What is Testing?

A

A software artifact when its being tested

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

provide a definition

Some common problems resulting from incorrectly working software

1.1. What is Testing?

A

Loss of money, time or business reputation, and, in extreme cases, even injury or death

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

provide a definition

Software Testing

1.1. What is Testing?

A

A set of activities to discover defects and evaluate the quality of software artifacts

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

Answer a question

What assesses software quality and helps reducing the risk of software failure in operation?

1.1. What is Testing?

A

Software Testing

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

Answer a question

Does testing consists in only executing tests?

1.1. What is Testing?

A

No, software testing also includes other activities and must be aligned with the software development lifecycle

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

Provide a definition

Verification

1.1. What is Testing?

A

Checking whether the system meets specified requirements

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

Provide a defintion

Validation

1.1. What is Testing?

A

Checking whether the system meets users’ and other stakeholders’ needs in its operational environment.

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

Provide an example

Verification testing is successful, but validation testing has failed

1.1. What is Testing?

A

For example, there is a bug ticket describing business needs - an admin user wants to be able to use filtering on results on a certain page - and an exact issue - when filter is used then there appears an error and filtering is not being successful. A developer made a fix that fixed the error, however, filtering by some parameters still returns an empty results list, while it shoudn’t. Therefore, the fix meets the specified requirements (error is removed, filtering by some parameters works), however, it does not meet the users’ needs (filtering by some parameters is not possible)

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

Provide a definition

Dynamic Testing

1.1. What is Testing?

A

Involves the execution of software. Uses different types of test techniques and test approaches to derive test cases. Triggers failures that are caused by defects in the software

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

Provide a defintion

Static Testing

1.1. What is Testing?

A

Does not involve execution of software. Includes reviews and static analysis. Directly finds defects in the test object

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

Answer a question

What are the activites involved in test management?

1.1. What is Testing?

A

Planning, Estimation, Monitoring, Control

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

Answer a question

What is a role of tools in testing?

1.1. What is Testing?

A

Testers use tools, but it is important to remember that testing is largely an intellectual activity, requiring the testers to have specialized knowledge, use analytical skills and apply critical thinking and systems thinking.

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

Answer a question

What standard provides info on software testing concepts?

1.1. What is Testing?

A

ISO/IEC/IEEE 29119-1

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

Provide a list

Typical test objectives

9

1.1. What is Testing?

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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Provide a definition

Debugging

1.1. What is Testing?

A

Is concerned with finding causes of this failure (defects), analyzing these causes, and eliminating them

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

Provide a list

Typical debugging process

1.1. What is Testing?

A
  • Reproduction of a failure
  • Diagnosis (finding the root cause)
  • Fixing the cause
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Provide a defintion

Confirmation testing

1.1. What is Testing?

A

Checking whether fixes resolved a problem

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

Answer a question

What is a reason for performing a regression testing after a confirmation testing?

1.1. What is Testing?

A

To check whether the fixes are causing failures in other parts of the test object

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

Explain a difference

Testing and Debugging

1.1. What is Testing?

A

When static testing identifies a defect, debugging is concerned with removing it

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

Answer a question

Does a static testing requires debugging?

1.1. What is Testing?

A

There is no need for reproduction or diagnosis, since static testing directly finds defects, and cannot cause failures

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

Answer a question

What does testing as a form of quality control helps to acheive?

1.2. Why is Testing Necessary?

A

Testing, as a form of quality control, helps in achieving the agreed upon goals within the set scope, time, quality, and budget constraints.

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

Answer a question

How does testing contributes to the quality of test objects?

1.2. Why is Testing Necessary?

A

The defects detected by testing can then be removed (by
debugging – a non-testing activity), so testing indirectly contributes to higher quality test objects.

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

Answer a question

How is testing considered cost-effective in quality assurance?

1.2. Why is Testing Necessary?

A

Testing provides a cost-effective means of detecting defects.

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

Answer a question

What role does testing play in the broader context of project management and decision-making throughout the Software Development Life Cycle?

1.2. Why is Testing Necessary?

A

Testing provides a means of directly evaluating the quality of a test object at various stages in the SDLC.
These measures are used as part of a larger project management activity, contributing to decisions to
move to the next stage of the SDLC, such as the release decision

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

Answer a question

What is the significance of testing in representing user needs during the development lifecycle?

1.2. Why is Testing Necessary?

A

Testing provides users with indirect representation on the development project. Testers ensure that their
understanding of users’ needs are considered throughout the development lifecycle. The alternative is to
involve a representative set of users as part of the development project, which is not usually possible due
to the high costs and lack of availability of suitable users.

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

Answer a question

Why might testing be essential in software development beyond the primary goal of ensuring product quality?

1.2. Why is Testing Necessary?

A

Testing may also be required to meet contractual or legal requirements, or to comply with regulatory
standards.

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

Answer a question

Does “testing” and “quality assurance” mean the same?

1.2. Why is Testing Necessary?

A

Testing and QA
are not the same.

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

Fiish the sentence

Testing is a form of…

1.2. Why is Testing Necessary?

A

Quality Control

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

Provide a definition

Quality Control

1.2. Why is Testing Necessary?

A

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

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

Provide a list

Major forms of Quality Control

1.2. Why is Testing Necessary?

A
  • testing
  • formal methods ((model checking and proof of correctness)
  • simulation
  • prototyping
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
31
Q

Answer a question

Describe testing as a form of a Quality Control

1.2. Why is Testing Necessary?

A

QA is a process-oriented, preventive approach that focuses on the implementation and improvement of
processes. QA applies to both the development and testing processes, and is the responsibility of everyone
on a project.

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

Answer a question

What is a working assumption of testing as a form of QC?

1.2. Why is Testing Necessary?

A

It works on the basis that if a good process is followed correctly, then it will generate a good
product.

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

Answer a question

How test results are used?

1.2. Why is Testing Necessary?

A

Test results are used by QA and QC. In QC they are used to fix defects, while in QA they provide
feedback on how well the development and test processes are performing.

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

Provide a definition

Error

1.2. Why is Testing Necessary?

A

In the context of software testing and development, an “error” refers to a mistake made by a human, typically the programmer or developer, in the source code or the design of the software. It is an incorrect or unintended action or decision during the programming phase that leads to a fault or bug in the software.

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

Provide a definition

Error

1.2. Why is Testing Necessary?

A

In the context of software testing and development, an “error” refers to a mistake made by a human, typically the programmer or developer, in the source code or the design of the software.

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

Answer a question

For what reasons do humans make errors?

1.2. Why is Testing Necessary?

A

Humans make errors for various reasons, such as time pressure, complexity of work products,
processes, infrastructure or interactions, or simply because they are tired or lack adequate training.

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

Provide a definition

Defect

1.2. Why is Testing Necessary?

A

Defect or bug is the manifestation of that error in the software development artifacts, such as documentation, such as a requirements specification or a test script, in source
code, or in a supporting artifact such as a build file.

38
Q

Provide a definition

Failure

1.2. Why is Testing Necessary?

A

If a defect in code is executed, the
system may fail to do what it should do, or do something it shouldn’t, causing a failure. Some defects will
always result in a failure if executed, while others will only result in a failure in specific circumstances, and
some may never result in a failure.

39
Q

Provide an answer

What are some other causes for the failures

1.2. Why is Testing Necessary?

A

Failures can also be caused by environmental
conditions, such as when radiation or electromagnetic field cause defects in firmware

40
Q

Provide a definition

Root cause

1.2. Why is Testing Necessary?

A

A root cause is a fundamental reason for the occurrence of a problem (e.g., a situation that leads to an
error).

41
Q

Provide a definition

Root cause analysis

1.2. Why is Testing Necessary?

A

Root causes are identified through root cause analysis, which is typically performed when a failure
occurs or a defect is identified. 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.

42
Q

Provide an answer

How many testing principles is there

1.3. Testing principles

A

7

43
Q

Provide a definition

First testing principle

1.3. Testing principles

A

Testing shows the presence, not the absence of defects.

44
Q

Provide a definition

Second testing principle

1.3. Testing principles

A

Exhaustive testing is impossible

45
Q

Provide a definition

Thrid testing principle

1.3. Testing principles

A

Early testing saves time and money

46
Q

Provide a definition

Fourth testing principle

1.3. Testing principles

A

Defects cluster together

47
Q

Provide a definition

Fifth testing principle

1.3. Testing principles

A

Tests wear out

48
Q

Provide a definition

Sixth testing principle

1.3. Testing principles

A

Testing is context dependent

49
Q

Provide a definition

Seventh testing principle

1.3. Testing principles

A

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

50
Q

Provide a deifintion

Test Process

1.4.Test Activities, Testware and Test Roles

A

The test process, though context-dependent, typically includes a set of standard activities essential for achieving test objectives. This structured approach is crucial for effective testing across various scenarios.

51
Q

Provide a deifintion

Test Process

1.4.Test Activities, Testware and Test Roles

A

The test process, though context-dependent, typically includes a set of standard activities essential for achieving test objectives. This structured approach is crucial for effective testing across various scenarios.

52
Q

Provide a list

Test Activities and Tasks included in Test Process

1.4.Test Activities, Testware and Test Roles

A
  • Test planning
  • Test monitoring and control
  • Test analysis
  • Test design
  • Test implementation
  • Test execution
  • Test completion
53
Q

Provide a Definition

Test planning

1.4.Test Activities, Testware and Test Roles

A

Test planning consists of defining the test objectives and then selecting an approach that best achieves
the objectives within the constraints imposed by the overall context.

54
Q

Provide a Definition

Test monitoring and control

1.4.Test Activities, Testware and Test Roles

A

Test monitoring involves the ongoing checking of all test activities and the
comparison of actual progress against the plan. Test control involves taking the actions necessary to
meet the objectives of testing.

55
Q

Provide a Definition

Test analysis

1.4.Test Activities, Testware and Test Roles

A

Test analysis includes analyzing the test basis to identify testable features and to define and prioritize
associated test conditions, together with the related risks and risk levels. The test basis
and the test objects are also evaluated to identify defects they may contain and to assess their testability.
Test analysis is often supported by the use of test techniques. Test analysis answers the
question “what to test?” in terms of measurable coverage criteria.

56
Q

Provide a Definition

Test design

1.4.Test Activities, Testware and Test Roles

A

Test design includes elaborating the test conditions into test cases and other testware (e.g., test
charters). This activity often involves the identification of coverage items, which serve as a guide to
specify test case inputs. Test techniques (see chapter 4) can be used to support this activity. Test design also includes defining the test data requirements, designing the test environment and identifying any
other required infrastructure and tools. Test design answers the question “how to test?”.

57
Q

Provide a Definition

Test implementation

1.4.Test Activities, Testware and Test Roles

A

includes creating or acquiring the testware necessary for test execution (e.g., test
data). Test cases can be organized into test procedures and are often assembled into test suites. Manual
and automated test scripts are created. Test procedures are prioritized and arranged within a test
execution schedule for efficient test execution. The test environment is built and
verified to be set up correctly.

58
Q

Provide a Definition

Test execution

1.4.Test Activities, Testware and Test Roles

A

Test execution includes running the tests in accordance with the test execution schedule (test runs).
Test execution may be manual or automated. Test execution can take many forms, including continuous
testing or pair testing sessions. Actual test results are compared with the expected results. The test
results are logged. Anomalies are analyzed to identify their likely causes. This analysis allows us to report
the anomalies based on the failures observed

59
Q

Provide a Definition

Test completion

1.4.Test Activities, Testware and Test Roles

A

Test completion activities usually occur at project milestones (e.g., release, end of iteration, test level
completion) for any unresolved defects, change requests or product backlog items created. Any testware
that may be useful in the future is identified and archived or handed over to the appropriate teams. The
test environment is shut down to an agreed state. The test activities are analyzed to identify lessons
learned and improvements for future iterations, releases, or projects. A test completion
report is created and communicated to the stakeholders.

60
Q

Answer a question

Who funds testing?

1.4.Test Activities, Testware and Test Roles

A

Testing is funded by stakeholders

61
Q

Answer a question

What is the final goal of testing?

1.4.Test Activities, Testware and Test Roles

A

its final goal is to help fulfill
the stakeholders’ business needs.

62
Q

Provide a list

Contextual factors upon which testing depends

1.4.Test Activities, Testware and Test Roles

A
  • Stakeholders
  • Team members
  • Business domain
  • Technical factors
  • Project constraints
  • Organizational factors
  • Software development lifecycle
  • Tools
63
Q

Describe a testing contextual factor

Stakeholders

1.4.Test Activities, Testware and Test Roles

A

needs, expectations, requirements, willingness to cooperate, etc

64
Q

Describe a testing contextual factor

Team members

1.4.Test Activities, Testware and Test Roles

A

skills, knowledge, level of experience, availability, training needs, etc.

65
Q

Describe a testing contextual factor

Business domain

1.4.Test Activities, Testware and Test Roles

A

criticality of the test object, identified risks, market needs, specific legal
regulations, etc

66
Q

Describe a testing contextual factor

Technical factors

1.4.Test Activities, Testware and Test Roles

A

type of software, product architecture, technology used, etc

67
Q

Describe a testing contextual factor

Project constraints

1.4.Test Activities, Testware and Test Roles

A

scope, time, budget, resources, etc.

68
Q

Describe a testing contextual factor

Organizational factors

1.4.Test Activities, Testware and Test Roles

A

organizational structure, existing policies, practices used, etc

69
Q

Describe a testing contextual factor

Software development lifecycle

1.4.Test Activities, Testware and Test Roles

A

engineering practices, development methods, etc

70
Q

Describe a testing contextual factor

Tools

1.4.Test Activities, Testware and Test Roles

A

availability, usability, compliance, etc

71
Q

Provide a list

Test-related issues influenced by the contextual factors

1.4.Test Activities, Testware and Test Roles

A

test strategy, test techniques
used, degree of test automation, required level of coverage, level of detail of test documentation,
reporting

72
Q

Provide a definition

Testware

1.4.Test Activities, Testware and Test Roles

A

Testware is created as output work products from the test activities and tasks. Its a work product.

73
Q

Answer a question

What is a task of configuration management

1.4.Test Activities, Testware and Test Roles

A

Proper configuration management (see section 5.4) ensures consistency and integrity of work products

74
Q

Provide a list

Testing work products

1.4.Test Activities, Testware and Test Roles

A
  • Test planning work products
  • Test monitoring and control work products
  • Test analysis work products
  • Test design work products
  • Test implementation work products
  • Test execution work products
  • Test completion work products
75
Q

Describe a testing work product

Test planning work products

1.4.Test Activities, Testware and Test Roles

A

include: test plan, test schedule, risk register, and entry and exit
criteria. Risk register is a list of risks together with risk likelihood, risk impact and
information about risk mitigation. Test schedule, risk register and entry and exit
criteria are often a part of the test plan.

76
Q

Describe a testing work product

Test monitoring and control work products

1.4.Test Activities, Testware and Test Roles

A

test progress reports, documentation of control directives and risk information

77
Q

Describe a testing work product

Test analysis work products

1.4.Test Activities, Testware and Test Roles

A

include: (prioritized) test conditions (e.g., acceptance criteria), and defect reports regarding defects in the test basis (if not fixed directly).

78
Q

Describe a testing work product

Test design work products

1.4.Test Activities, Testware and Test Roles

A

include: (prioritized) test cases, test charters, coverage items, test
data requirements and test environment requirements.

79
Q

Describe a testing work product

Test implementation work products

1.4.Test Activities, Testware and Test Roles

A

include: test procedures, automated test scripts, test
suites, test data, test execution schedule, and test environment elements. Examples of test
environment elements include: stubs, drivers, simulators, and service virtualizations.

80
Q

Describe a testing work product

Test execution work products

1.4.Test Activities, Testware and Test Roles

A

include: test logs, and defect reports

81
Q

Describe a testing work product

Test completion work products

1.4.Test Activities, Testware and Test Roles

A

include: test completion report (see section 5.3.2), action items
for improvement of subsequent projects or iterations, documented lessons learned, and change
requests (e.g., as product backlog items).

82
Q

Answer a question

What is a purpose for maintaining Traceability between the Test Basis and Testware

1.4.Test Activities, Testware and Test Roles

A

In order to implement effective test monitoring and control, it is important to establish and maintain
traceability throughout the test process between the test basis elements, testware associated with these
elements (e.g., test conditions, risks, test cases), test results, and detected defects.

83
Q

Answer a question

What is a relationship between traceability and coverage evaluation?

1.4.Test Activities, Testware and Test Roles

A

Accurate traceability supports coverage evaluation, so it is very useful if measurable coverage criteria are
defined in the test basis.

84
Q

Answer a question

How coverage evaluation can be used for test monitoring and control?

1.4.Test Activities, Testware and Test Roles

A

The coverage criteria can function as key performance indicators to drive the
activities that show to what extent the test objectives have been achieved

85
Q

Provide an example on

How coverage evaluation can be used for test monitoring and control.

1.4.Test Activities, Testware and Test Roles

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

Provide a list

Benefits of having good traceability

1.4.Test Activities, Testware and Test Roles

A
  • In addition to evaluating coverage, good traceability makes it possible to determine the impact of
    changes, facilitates test audits, and helps meet IT governance criteria.
  • Good traceability also 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
87
Q

Provide a list

What is the role of traceability in evaluating the overall success and effectiveness of a project?

1.4.Test Activities, Testware and Test Roles

A

Traceability provides information to assess product quality, process capability,
and project progress against business goals.

88
Q

Answer a question

Describe a test management role

1.4.Test Activities, Testware and Test Roles

A

The 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. The way in which the test management role is carried out
varies depending on the context. For example, in Agile software development, some of the test
management tasks may be handled by the Agile team. Tasks that span multiple teams or the entire
organization may be performed by test managers outside of the development team.

89
Q

Answer a question

Describe a testing role

1.4.Test Activities, Testware and Test Roles

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

90
Q

Answer a question

Can the same individuals assume different roles at various stages of a project or process?

1.4.Test Activities, Testware and Test Roles

A

Different people may take on these roles at different times. For example, the test management role can
be performed by a team leader, by a test manager, by a development manager, etc. It is also possible for
one person to take on the roles of testing and test management at the same time.