Week 1 : Fundamentals of Testing Flashcards

(118 cards)

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
Dynamic testing
Exercising a program with test data
26
Error
A defect or flaw which can be observed
27
Exhaustive testing
A test approach in which all possible data combinations are used
28
Failure
When a component or system does not perform a required function
29
Fuzz testing
A software testing technique. Inputting mass amounts of random data (fuzz) to locate software vulnerabilities.
30
Good test
A test that locates a defect
31
Pareto Principle
80% of problems stem from 20% of modules
32
Quality assurance
Making sure processes are undertaken correctly
33
Regression testing
Rerunning tests after software changes to ensure no errors have occured
34
Root cause
Why the defect happened
35
Sprint
With agile development, the goal is to have frequent deliveries of software that will build on previously made availability
36
Static testing
Testing a product without the code being executed. Used for testing scenarios where the code is not executed.
37
Test analysis
Identifies what to test
38
Test basis
The knowledge used as a foundation for testing
39
Test case
A set of inputs/actions/etc. developed based on test conditions
40
Test conditions
An aspect of the test that is relevant in order to achieve specific test results
41
Test completion
How we know testing is complete
42
Test control
Taking action to meet the objectives of the test plan
43
Test design
Explains " how to test"
44
Test environment
The setup of software and hardware used in testing
45
Test execution
The visible part of testing. Running 1+ tests.
46
Test implementation
The link between test design and execution. Asks "do we have everything we need to run this test?"
47
Test monitoring
Observing whether the expected outcome is achieved
48
Test oracle
Where you feed data in and get expected results
49
Test planning
Determining what will be tested and how
50
Test procedure
A sequence of test cases (in execution order) AND all the necessary actions pre and post execution
51
Test suite
A collection of test cases used in testing
52
Testware
Describes all materials used in testing (plans, cases, scripts, etc.)
53
Traceability
Connecting tests with associated requirements or business goals
54
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?
Tester
55
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 developer finds and fixes a defect
56
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
Performing the code review
57
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
Conflict in the team
58
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.
Review and update the tests on a regular basis
59
What type of activity is normally used to find and fix a defect in code?
Debugging
60
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 developer makes a mistake which causes a defect that may be seen as a failure during dynamic testing.
61
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
Developer's lack of education in the area of algorithms and complexity
62
A source to determine expeted results to compare with the actual results of the system under test is called:
Test oracle
63
Which standard described the testing process as a multilayer model?
ISO/IEC/IEEE 29119
64
_____ is used for testing when the code is not exercised.
Static Testing
65
_____ 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.
Testing
66
The why behind the defect coming about is known as the _____.
Root cause.
67
A defect or fault leads to faulty components, which can cause an observed _____.
Failure
68
An aspect of the test basis that is relevant in order to achieve specific test objectives in called a _____.
Test Condition
69
_____ can lead to loss of money, loss of time, loss of business, loss of reputation, injury, or death.
Failure
70
When an error is written down it becomes a _____.
Defect
71
_____ is about making sure that processes are undertaken correctly.
Quality assurance
72
_____ 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.)
False negative
73
_____ 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.
Test procedure
74
A set of preconditions, inputs, actions (where applicable) expected results and postconditions, developed based on test conditions is called _____.
Test case
75
________ is a software testing technique used to discover security vulnerabilities by inputting massive amounts of random data (fuzz) to the component or system.
Fuzz testing
76
________ is an apparent failure in test is actually the application or system performing correctly.
False positive
77
________ exercises the program under test with some test data or also test execution.
Dynamic testing
78
The body of knowledge used as the foundation for test analysis and design is called _____________.
Test basis
79
________ is an incorrect thought, wrong assumption, or thing that is not forgotten or considered. It is where major system failures begin.
Error
80
A ________ is one that finds a defect if there is one present because it creates the opportunity to improve the quality of the product.
Good test
81
________ is the process that developers go through to identify the cause of bugs, or defects in code and take corrections.
Debugging
82
A change is made to the software and prior tests are rerun to show that no additional problems have been introduced are known as ________.
Regression testing
83
__________ is connecting tests with their associated requirements or business goals.
Traceability
84
How we know when testing is finished is defined as ______.
Completion criteria
85
_________ is used to describe all of the materials (test plans, test cases, test scripts, and any other items) used to perform a test.
Testware
86
________ is a collection of test cases that are intended to be used to test a software program
Test suites
87
A ___________ is where you feed data in and get the expected results as the answer.
Test oracle
88
______ is when testing has finished and the activities collect data so that lessons can be learned.
Test completion
89
_________ identifies what to test (i.e. what to test) and ____________ answers the question "how to test".
Test analysis, Test design
90
_______ is the link between test design and running the test (test execution). It asks "do we have everything in place to run the tests?"
Test implementation
91
__________ is defined as running the same set of tests continually will not continue to find new defects.
Pesticide paradox
92
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.
Test environment
93
Approximately 80% of the problems are found in about 20% of the modules is known as __________.
Pareto Principle
94
________ is concerned with seeing if what has been achieved is what was expected to be done at this point in time.
Test monitoring
95
Taking any necessary action to meet the original or revised objectives as given in the test plan is known as _____________.
Test control
96
_________ 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.
Exhaustive testing
97
With agile development the goal is to have frequent deliveries of software so each iteration or _______ will build on any previously made availability.
Sprint
98
________ is determining what will be tested and how it will be achieved. It defines test completion criteria.
Test planning
99
_________ is the most visible part of testing by running one or more tests.
Test execution
100
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?
The root cause is conducting the testing on the wrong version of the equipment and the effect is the customer complaints and postings
101
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.
This is a good decision, because the commercial software is much more important for the company than the internal system.
102
What is the direct consequence of communicating defects by a tester to other team members in an unconstructive way?
?Conflict in the team
103
Testing is a constructive activity, but it may be perceived as a destructive one. What is the reason of this phenomenon?
Identifying failures during testing may be perceived as a criticism against the product or developers.
104
Why are the validation activities examples of a positive role of testing?
They help to ensure that the system meets the client’s expectations.
105
What is the test basis?
The body of knowledge used for test analysis and design
106
When the tester verifies the test basis while designing tests early in the lifecycle, which common test objective is being achieved?
Preventing defects
107
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?
This situation is possible, because the process phases are not sequential and we can go back from one phase to another.
108
Analyzing defects in order to propose preventive actions so that this defect’s reoccurrence can be avoided is a process that is called:
Root cause analysis
109
Which of the following is an example of an error?
A tester makes a mistake and introduces a defect into the test script.
110
Which of the following is not an example of a test objective?
Correcting the defect found
111
Choose a good example of why testing is necessary.
It allows to detect and prevent contradictions in the requirements.
112
Which of the following is a measurable criterion used to validate the test basis?
Test condition
113
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?
Tester
114
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.
This is a good decision, because the commercial software is much more important for the company than the internal system.
115
Which of the following is the correct statement?
An error causes a defect which is observed as a failure
116
Typically, the person responsible for fixing the defect in the artifact under test is:
Artifact's author
117
When following the fundamental test process, when should the test control activity take place?
During all the activities
118
Testing is a constructive activity, but it may be perceived as a destructive one. What is the reason of this phenomenon?
Identifying failures during testing may be perceived as a criticism against the product or developers.