Week 1 : Fundamentals of Testing Flashcards

1
Q

What is testing?

A

Identifying the correctness/completeness/quality of software.

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

What is debugging?

A

When a developer finds, analyzes, and removes the cause of software failures.

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

Why do we need testing?

A

To identify errors, defects, and vulnerabilities that may contradict program requirements and/or cause damage (physical, emotional, financial, reputational, etc.)

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

Seven Testing Principles

A

1) Testing shows the presence, NOT ABSENCE, of defects.

2) Exhaustive testing is impossible.

3) Testing activities should start as early as possible.

4) Defect clustering

5) The Pesticide Paradox

6) Testing is context dependent.

7) No failures =/= a useful system.

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

Principle #1: Testing shows the presence, NOT ABSENCE, of defects.

A

Testing can show defects are present, but can never guarantee no failures.

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

Principle #2: Exhaustive testing is impossible.

A

Exhaustive testing is impossible because you can NEVER guarantee there are ZERO failures/defects.

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

Principle #3: Testing activities should start as early as possible.

A

The earlier errors are discovered, the lower the cost of fixing them.

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

Principle #4: Defect clustering

A

80% of bugs are caused by 20% of modules.

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

Principle #5: The Pesticide Paradox

A

Repeating the same test cases is unlikely to find new bugs.

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

Principle #6: Testing is context dependent.

A

How you test depends on what you’re testing. More risk = more testing.

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

Principle #7: No failures =/= a useful system.

A

A product being free of errors does not mean it works effectively.

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

7 Steps: The Testing Process

A

1) test planning
2) test monitoring and control
3) test analysis
4) test design
5) test implementation
6) test execution
7) test completion

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

Objectives of Testing

A

1) evaluate work products
2) verify
3) validate
4) build confidence
5) find failures and defects
6) fix and prevent defects
7) examine quality
8) reduce level of risk
9) comply with contractual, legal, or regulatory requirements

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

Component testing

A

Focuses on how the software functions

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

Acceptance testing

A

Ensures software is compliant with regulations

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

Regression testing

A

Checks stability of software

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

Software Development Cycle

A

1) Planning
2) Analyzing
3) Design
4) Implementation
5) Testing & Integration
6) Maintenance

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

Features of quality software

A

1) Functionality
2) Reliability
3) Usability
4) Efficiency
5) Maintainability
6) Portability
7) Security

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

Manual testing

A

When software is tested by humans

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

Automated Testing

A

When software is tested using scripts and automation tools

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

False negative

A

When the application fails, but not identified as such b/c the test shows a correct result.

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

False positive

A

When there is an apparent “failure” that is actually the software functioning properly.

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

Completion criteria

A

How we know testing is completed

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

Defect

A

A recorded error

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

Dynamic testing

A

Exercising a program with test data

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

Error

A

A defect or flaw which can be observed

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

Exhaustive testing

A

A test approach in which all possible data combinations are used

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

Failure

A

When a component or system does not perform a required function

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

Fuzz testing

A

A software testing technique. Inputting mass amounts of random data (fuzz) to locate software vulnerabilities.

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

Good test

A

A test that locates a defect

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

Pareto Principle

A

80% of problems stem from 20% of modules

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

Quality assurance

A

Making sure processes are undertaken correctly

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

Regression testing

A

Rerunning tests after software changes to ensure no errors have occured

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

Root cause

A

Why the defect happened

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

Sprint

A

With agile development, the goal is to have frequent deliveries of software that will build on previously made availability

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

Static testing

A

Testing a product without the code being executed. Used for testing scenarios where the code is not executed.

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

Test analysis

A

Identifies what to test

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

Test basis

A

The knowledge used as a foundation for testing

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

Test case

A

A set of inputs/actions/etc. developed based on test conditions

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

Test conditions

A

An aspect of the test that is relevant in order to achieve specific test results

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

Test completion

A

How we know testing is complete

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

Test control

A

Taking action to meet the objectives of the test plan

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

Test design

A

Explains “ how to test”

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

Test environment

A

The setup of software and hardware used in testing

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

Test execution

A

The visible part of testing. Running 1+ tests.

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

Test implementation

A

The link between test design and execution. Asks “do we have everything we need to run this test?”

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

Test monitoring

A

Observing whether the expected outcome is achieved

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

Test oracle

A

Where you feed data in and get expected results

49
Q

Test planning

A

Determining what will be tested and how

50
Q

Test procedure

A

A sequence of test cases (in execution order) AND all the necessary actions pre and post execution

51
Q

Test suite

A

A collection of test cases used in testing

52
Q

Testware

A

Describes all materials used in testing (plans, cases, scripts, etc.)

53
Q

Traceability

A

Connecting tests with associated requirements or business goals

54
Q

A tester, together with a developer, architect, and test manager, participates in the inspection of an architectural design of a component. The design was done by the architect. During the inspection, the test manager finds an error in the design. After the inspection, the tester creates the new, corrected version of the design. Using the new design, the developer implements the component. Who performed the debugging?

A

Tester

55
Q

Which of the following is an example of debugging?

-A developer performs unit testing
-A developer finds and fixes a defect
-A tester retests a fix from the developer and finds a regression
-A tester finds a defect and reports it

A

A developer finds and fixes a defect

56
Q

Which of the following activities is related to quality control?

X-Redefining the testing process in the organization
X-Improving the testing process in the organization
-Performing the code review
X-Organizing a training for developers about good programming practices

A

Performing the code review

57
Q

What is the direct consequence of communicating defects by a tester to other team members in an unconstructive way?

-Conflict in the team
-Losing a sense of responsibility for quality
-Increasing the team effectiveness
-Decreasing the team effectiveness

A

Conflict in the team

58
Q

To overcome the pesticide paradox, we should do which of the following?

-Align the test strategy to the context.
-Start testing activities as early as possible.
-Use test techniques to derive a finite number of test cases for a potentially infinite number of combinations of input values.
-Review and update tests on a regular basis.

A

Review and update the tests on a regular basis

59
Q

What type of activity is normally used to find and fix a defect in code?

A

Debugging

60
Q

Which of the following is a correct statement?

X-A developer makes a mistake which causes a bug that may be seen as a defect when the software is executed
X-A developer has introduced a failure which results in a defect that may be seen as a mistake during dynamic testing
-A developer makes a mistake which causes a defect that may be seen as a failure during dynamic testing
X-A developer makes an error which results in a failure that may be seen as a fault when the software is executed

A

A developer makes a mistake which causes a defect that may be seen as a failure during dynamic testing.

61
Q

Which of the following can be the root cause of the fact that a developer implemented an ineffective algorithm?

-Developer’s lack of education in the area of algorithms and complexity
-Memory leaks that occurred after a long time of the software operation
-Acceptance testing done by testers in the client’s location, not by client
-Poor performance of the system

A

Developer’s lack of education in the area of algorithms and complexity

62
Q

A source to determine expeted results to compare with the actual results of the system under test is called:

A

Test oracle

63
Q

Which standard described the testing process as a multilayer model?

A

ISO/IEC/IEEE 29119

64
Q

_____ is used for testing when the code is not exercised.

A

Static Testing

65
Q

_____ is a systematic exploration of a component or system with the main objective to find and report defects; does not include correction of the defect.

A

Testing

66
Q

The why behind the defect coming about is known as the _____.

A

Root cause.

67
Q

A defect or fault leads to faulty components, which can cause an observed _____.

A

Failure

68
Q

An aspect of the test basis that is relevant in order to achieve specific test objectives in called a _____.

A

Test Condition

69
Q

_____ can lead to loss of money, loss of time, loss of business, loss of reputation, injury, or death.

A

Failure

70
Q

When an error is written down it becomes a _____.

A

Defect

71
Q

_____ is about making sure that processes are undertaken correctly.

A

Quality assurance

72
Q

_____ is where there is a real failure where the application or system is not performing correctly, but it is not identified as such because the test shows a correct result (is seen as correct.)

A

False negative

73
Q

_____ is a sequence of test cases in execution order and any associated actions that may be required to set up the initial pre-conditions and any wrap-up activities post execution.

A

Test procedure

74
Q

A set of preconditions, inputs, actions (where applicable) expected results and postconditions, developed based on test conditions is called _____.

A

Test case

75
Q

________ is a software testing technique used to discover security vulnerabilities by inputting massive amounts of random data (fuzz) to the component or system.

A

Fuzz testing

76
Q

________ is an apparent failure in test is actually the application or system performing correctly.

A

False positive

77
Q

________ exercises the program under test with some test data or also test execution.

A

Dynamic testing

78
Q

The body of knowledge used as the foundation for test analysis and design is called _____________.

A

Test basis

79
Q

________ is an incorrect thought, wrong assumption, or thing that is not forgotten or considered. It is where major system failures begin.

A

Error

80
Q

A ________ is one that finds a defect if there is one present because it creates the opportunity to improve the quality of the product.

A

Good test

81
Q

________ is the process that developers go through to identify the cause of bugs, or defects in code and take corrections.

A

Debugging

82
Q

A change is made to the software and prior tests are rerun to show that no additional problems have been introduced are known as ________.

A

Regression testing

83
Q

__________ is connecting tests with their associated requirements or business goals.

A

Traceability

84
Q

How we know when testing is finished is defined as ______.

A

Completion criteria

85
Q

_________ is used to describe all of the materials (test plans, test cases, test scripts, and any other items) used to perform a test.

A

Testware

86
Q

________ is a collection of test cases that are intended to be used to test a software program

A

Test suites

87
Q

A ___________ is where you feed data in and get the expected results as the answer.

A

Test oracle

88
Q

______ is when testing has finished and the activities collect data so that lessons can be learned.

A

Test completion

89
Q

_________ identifies what to test (i.e. what to test) and ____________ answers the question “how to test”.

A

Test analysis, Test design

90
Q

_______ is the link between test design and running the test (test execution). It asks “do we have everything in place to run the tests?”

A

Test implementation

91
Q

__________ is defined as running the same set of tests continually will not continue to find new defects.

A

Pesticide paradox

92
Q

A ________is a setup of software and hardware for the testing teams to execute test cases. In other words, it supports test execution with hardware, software and network configured to be able to start testing.

A

Test environment

93
Q

Approximately 80% of the problems are found in about 20% of the modules is known as __________.

A

Pareto Principle

94
Q

________ is concerned with seeing if what has been achieved is what was expected to be done at this point in time.

A

Test monitoring

95
Q

Taking any necessary action to meet the original or revised objectives as given in the test plan is known as _____________.

A

Test control

96
Q

_________ is a test approach in which all possible data combinations are used; includes implicit data combinations present in the state of the software/data at the start of testing.

A

Exhaustive testing

97
Q

With agile development the goal is to have frequent deliveries of software so each iteration or _______ will build on any previously made availability.

A

Sprint

98
Q

________ is determining what will be tested and how it will be achieved. It defines test completion criteria.

A

Test planning

99
Q

_________ is the most visible part of testing by running one or more tests.

A

Test execution

100
Q

A new retail product was released to production by your company. Shortly after the release it was apparent that there were numerous problems with the point of sale application. This resulted in a number of customer complaints and negative postings on social media encouraging people to take their business to your competitor. You have investigated the problems and have discovered that the production point of sale equipment is a later model than the model used in testing. The software functions correctly on the old version, but fails on the later model.

Given this scenario, what is the root cause and what is the effect?

A

The root cause is conducting the testing on the wrong version of the equipment and the effect is the customer complaints and postings

101
Q

You work as a tester in a software house and you concurrently work on two projects. One of them is an internal tool for on-line room reservation, done within an agile life cycle. The other one is a commercial software for managing hospital patients’ data, conducted in the waterfall model. One one month, new versions of both systems will be released. You don’t have time to perform all the planned tests for both systems. Your supervisor decides to focus on testing the commercial system. Choose the correct answer.

A

This is a good decision, because the commercial software is much more important for the company than the internal system.

102
Q

What is the direct consequence of communicating defects by a tester to other team members in an unconstructive way?

A

?Conflict in the team

103
Q

Testing is a constructive activity, but it may be perceived as a destructive one. What is the reason of this phenomenon?

A

Identifying failures during testing may be perceived as a criticism against the product or developers.

104
Q

Why are the validation activities examples of a positive role of testing?

A

They help to ensure that the system meets the client’s expectations.

105
Q

What is the test basis?

A

The body of knowledge used for test analysis and design

106
Q

When the tester verifies the test basis while designing tests early in the lifecycle, which common test objective is being achieved?

A

Preventing defects

107
Q

After test execution, it turned out that one test is implemented incorrectly. This test returned to the implementation phase. During the re-implementation, it turned out that it is not only incorrectly implemented, but also incorrectly designed. It turned back to the design phase, where it was corrected, and then implemented and executed once again.

What can we say about this situation from the testing process point of view?

A

This situation is possible, because the process phases are not sequential and we can go back from one phase to another.

108
Q

Analyzing defects in order to propose preventive actions so that this defect’s reoccurrence can be avoided is a process that is called:

A

Root cause analysis

109
Q

Which of the following is an example of an error?

A

A tester makes a mistake and introduces a defect into the test script.

110
Q

Which of the following is not an example of a test objective?

A

Correcting the defect found

111
Q

Choose a good example of why testing is necessary.

A

It allows to detect and prevent contradictions in the requirements.

112
Q

Which of the following is a measurable criterion used to validate the test basis?

A

Test condition

113
Q

A tester, together with a developer, architect, and test manager, participates in the inspection of an architectural design of a component. The design was done by the architect. During the inspection, the test manager finds an error in the design. After the inspection, the tester creates the new, corrected version of the design. Using the new design, the developer implements the component. Who performed the debugging?

A

Tester

114
Q

You work as a tester in a software house and you concurrently work on two projects. One of them is an internal tool for on-line room reservation, done within an agile life cycle. The other one is a commercial software for managing hospital patients’ data, conducted in the waterfall model. One one month, new versions of both systems will be released. You don’t have time to perform all the planned tests for both systems. Your supervisor decides to focus on testing the commercial system. Choose the correct answer.

A

This is a good decision, because the commercial software is much more important for the company than the internal system.

115
Q

Which of the following is the correct statement?

A

An error causes a defect which is observed as a failure

116
Q

Typically, the person responsible for fixing the defect in the artifact under test is:

A

Artifact’s author

117
Q

When following the fundamental test process, when should the test control activity take place?

A

During all the activities

118
Q

Testing is a constructive activity, but it may be perceived as a destructive one. What is the reason of this phenomenon?

A

Identifying failures during testing may be perceived as a criticism against the product or developers.