1. Fundamentals of Testing Flashcards

(90 cards)

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
# Answer a question What is the significance of testing in representing user needs during the development lifecycle? ## Footnote 1.2. Why is Testing Necessary?
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.
26
# Answer a question Why might testing be essential in software development beyond the primary goal of ensuring product quality? ## Footnote 1.2. Why is Testing Necessary?
Testing may also be required to meet contractual or legal requirements, or to comply with regulatory standards.
27
# Answer a question Does “testing” and “quality assurance” mean the same? ## Footnote 1.2. Why is Testing Necessary?
Testing and QA are not the same.
28
# Fiish the sentence Testing is a form of... ## Footnote 1.2. Why is Testing Necessary?
Quality Control
29
# Provide a definition Quality Control ## Footnote 1.2. Why is Testing Necessary?
QC is a product-oriented, corrective approach that focuses on those activities supporting the achievement of appropriate levels of quality.
30
# Provide a list Major forms of Quality Control ## Footnote 1.2. Why is Testing Necessary?
* testing * formal methods ((model checking and proof of correctness) * simulation * prototyping
31
# Answer a question Describe testing as a form of a Quality Control ## Footnote 1.2. Why is Testing Necessary?
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.
32
# Answer a question What is a working assumption of testing as a form of QC? ## Footnote 1.2. Why is Testing Necessary?
It works on the basis that if a good process is followed correctly, then it will generate a good product.
33
# Answer a question How test results are used? ## Footnote 1.2. Why is Testing Necessary?
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.
34
# Provide a definition Error ## Footnote 1.2. Why is Testing Necessary?
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.
35
# Provide a definition Error ## Footnote 1.2. Why is Testing Necessary?
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.
36
# Answer a question For what reasons do humans make errors? ## Footnote 1.2. Why is Testing Necessary?
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.
37
# Provide a definition Defect ## Footnote 1.2. Why is Testing Necessary?
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
# Provide a definition Failure ## Footnote 1.2. Why is Testing Necessary?
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
# Provide an answer What are some other causes for the failures ## Footnote 1.2. Why is Testing Necessary?
Failures can also be caused by environmental conditions, such as when radiation or electromagnetic field cause defects in firmware
40
# Provide a definition Root cause ## Footnote 1.2. Why is Testing Necessary?
A root cause is a fundamental reason for the occurrence of a problem (e.g., a situation that leads to an error).
41
# Provide a definition Root cause analysis ## Footnote 1.2. Why is Testing Necessary?
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
# Provide an answer How many testing principles is there ## Footnote 1.3. Testing principles
7
43
# Provide a definition First testing principle ## Footnote 1.3. Testing principles
Testing shows the presence, not the absence of defects.
44
# Provide a definition Second testing principle ## Footnote 1.3. Testing principles
Exhaustive testing is impossible
45
# Provide a definition Thrid testing principle ## Footnote 1.3. Testing principles
Early testing saves time and money
46
# Provide a definition Fourth testing principle ## Footnote 1.3. Testing principles
Defects cluster together
47
# Provide a definition Fifth testing principle ## Footnote 1.3. Testing principles
Tests wear out
48
# Provide a definition Sixth testing principle ## Footnote 1.3. Testing principles
Testing is context dependent
49
# Provide a definition Seventh testing principle ## Footnote 1.3. Testing principles
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
# Provide a deifintion Test Process ## Footnote 1.4.Test Activities, Testware and Test Roles
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
# Provide a deifintion Test Process ## Footnote 1.4.Test Activities, Testware and Test Roles
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
# Provide a list Test Activities and Tasks included in Test Process ## Footnote 1.4.Test Activities, Testware and Test Roles
* Test planning * Test monitoring and control * Test analysis * Test design * Test implementation * Test execution * Test completion
53
# Provide a Definition Test planning ## Footnote 1.4.Test Activities, Testware and Test Roles
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
# Provide a Definition Test monitoring and control ## Footnote 1.4.Test Activities, Testware and Test Roles
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
# Provide a Definition Test analysis ## Footnote 1.4.Test Activities, Testware and Test Roles
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
# Provide a Definition Test design ## Footnote 1.4.Test Activities, Testware and Test Roles
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
# Provide a Definition Test implementation ## Footnote 1.4.Test Activities, Testware and Test Roles
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
# Provide a Definition Test execution ## Footnote 1.4.Test Activities, Testware and Test Roles
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
# Provide a Definition Test completion ## Footnote 1.4.Test Activities, Testware and Test Roles
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
# Answer a question Who funds testing? ## Footnote 1.4.Test Activities, Testware and Test Roles
Testing is funded by stakeholders
61
# Answer a question What is the final goal of testing? ## Footnote 1.4.Test Activities, Testware and Test Roles
its final goal is to help fulfill the stakeholders’ business needs.
62
# Provide a list Contextual factors upon which testing depends ## Footnote 1.4.Test Activities, Testware and Test Roles
* Stakeholders * Team members * Business domain * Technical factors * Project constraints * Organizational factors * Software development lifecycle * Tools
63
# Describe a testing contextual factor Stakeholders ## Footnote 1.4.Test Activities, Testware and Test Roles
needs, expectations, requirements, willingness to cooperate, etc
64
# Describe a testing contextual factor Team members ## Footnote 1.4.Test Activities, Testware and Test Roles
skills, knowledge, level of experience, availability, training needs, etc.
65
# Describe a testing contextual factor Business domain ## Footnote 1.4.Test Activities, Testware and Test Roles
criticality of the test object, identified risks, market needs, specific legal regulations, etc
66
# Describe a testing contextual factor Technical factors ## Footnote 1.4.Test Activities, Testware and Test Roles
type of software, product architecture, technology used, etc
67
# Describe a testing contextual factor Project constraints ## Footnote 1.4.Test Activities, Testware and Test Roles
scope, time, budget, resources, etc.
68
# Describe a testing contextual factor Organizational factors ## Footnote 1.4.Test Activities, Testware and Test Roles
organizational structure, existing policies, practices used, etc
69
# Describe a testing contextual factor Software development lifecycle ## Footnote 1.4.Test Activities, Testware and Test Roles
engineering practices, development methods, etc
70
# Describe a testing contextual factor Tools ## Footnote 1.4.Test Activities, Testware and Test Roles
availability, usability, compliance, etc
71
# Provide a list Test-related issues influenced by the contextual factors ## Footnote 1.4.Test Activities, Testware and Test Roles
test strategy, test techniques used, degree of test automation, required level of coverage, level of detail of test documentation, reporting
72
# Provide a definition Testware ## Footnote 1.4.Test Activities, Testware and Test Roles
Testware is created as output work products from the test activities and tasks. Its a work product.
73
# Answer a question What is a task of configuration management ## Footnote 1.4.Test Activities, Testware and Test Roles
Proper configuration management (see section 5.4) ensures consistency and integrity of work products
74
# Provide a list Testing work products ## Footnote 1.4.Test Activities, Testware and Test Roles
* 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
# Describe a testing work product Test planning work products ## Footnote 1.4.Test Activities, Testware and Test Roles
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
# Describe a testing work product Test monitoring and control work products ## Footnote 1.4.Test Activities, Testware and Test Roles
test progress reports, documentation of control directives and risk information
77
# Describe a testing work product Test analysis work products ## Footnote 1.4.Test Activities, Testware and Test Roles
include: (prioritized) test conditions (e.g., acceptance criteria), and defect reports regarding defects in the test basis (if not fixed directly).
78
# Describe a testing work product Test design work products ## Footnote 1.4.Test Activities, Testware and Test Roles
include: (prioritized) test cases, test charters, coverage items, test data requirements and test environment requirements.
79
# Describe a testing work product Test implementation work products ## Footnote 1.4.Test Activities, Testware and Test Roles
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
# Describe a testing work product Test execution work products ## Footnote 1.4.Test Activities, Testware and Test Roles
include: test logs, and defect reports
81
# Describe a testing work product Test completion work products ## Footnote 1.4.Test Activities, Testware and Test Roles
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
# Answer a question What is a purpose for maintaining Traceability between the Test Basis and Testware ## Footnote 1.4.Test Activities, Testware and Test Roles
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
# Answer a question What is a relationship between traceability and coverage evaluation? ## Footnote 1.4.Test Activities, Testware and Test Roles
Accurate traceability supports coverage evaluation, so it is very useful if measurable coverage criteria are defined in the test basis.
84
# Answer a question How coverage evaluation can be used for test monitoring and control? ## Footnote 1.4.Test Activities, Testware and Test Roles
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
# Provide an example on How coverage evaluation can be used for test monitoring and control. ## Footnote 1.4.Test Activities, Testware and Test Roles
* 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
# Provide a list Benefits of having good traceability ## Footnote 1.4.Test Activities, Testware and Test Roles
* 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
# Provide a list What is the role of traceability in evaluating the overall success and effectiveness of a project? ## Footnote 1.4.Test Activities, Testware and Test Roles
Traceability provides information to assess product quality, process capability, and project progress against business goals.
88
# Answer a question Describe a test management role ## Footnote 1.4.Test Activities, Testware and Test Roles
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
# Answer a question Describe a testing role ## Footnote 1.4.Test Activities, Testware and Test Roles
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
# Answer a question Can the same individuals assume different roles at various stages of a project or process? ## Footnote 1.4.Test Activities, Testware and Test Roles
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.