Testing is a process used to identify correctness, completeness, and quality in software. It aims to find defects, gain confidence in quality, provide information for decision making, and prevent defects. Testing involves planning, analysis and design of test conditions, implementation and execution of test cases, evaluation of results against objectives, and collecting lessons learned. A failure occurs when the software does not function as expected.
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Â
Fundamentals of Testing (2013)
1.
2.
3.
4. ⢠Testing
â It is a process used to identify the correctness,
completeness, and quality of developed computer software.
⢠Objectives of Testing
â Finding defects
â Gaining confidence about the level of quality
â Providing information for decision-making
â Preventing defects
⢠Debugging
â Development activity that finds, analyzes and removes the
cause of a failure
5. ⢠Error
â An error is a human action producing an incorrect result
⢠Fault
â A fault is a manifestation of human error in software
⢠Failure
â A failure is a deviation of the software from its expected
delivery or service
âTesting is a privileg you enjoy before releasing to the clientâ
âBugs are a nightmare you endure after releasing to the clientâ
6.
7. Planning and Control
Analysis
 and Design
Implementation
Â
and Execution
Evaluating Exit
 Criteria
and Reporting
Closure Activities
End
Start
8. ⢠Planning and Control
â Test planning is the activity of verifying the mission of
testing
â Test control is the ongoing activity of comparing actual
progress against the plan
⢠Analysis and Design
â The activity where general testing objectives are
transformed into tangible test conditions and test designs
⢠Implementation and Execution
â The activity where test conditions are transformed into test
cases and testware, and the environment is set up
9. ⢠Evaluating Exit Criteria and Reporting
â The activity where test executions is assessed against the
defined objectives
⢠Closure Activities
â Collecting data from completed test activities to consolidate
experience, testware, facts and numbers
10.
11. ⢠Levels of dependence
â By the person who wrote the software
â By another person e.g. from the develiopment team
â By a person from a different organizational group or test
specialist
â By a person from a different organization or company
12. ⢠Communication
â Start with collaboration rather than battles â remind
everyone of the common goal of better quality system
â Communicate findings on the product in a neutral, fact-
focused way
â Try to understand how the other person feels and why they
react as they do
â Confirm that the other person has understood what you
have said and vice versa
13.
14. 1. Testing shows presence of defects
2. Exhaustive testing is impossible
3. Early testing
4. Defect clustering
5. Pesticide paradox
6. Testing is context dependent
7. Absence-of-errors fallacy
Ăď General guidelines common for all testing
15.
16. ⢠Public
â Testers shall act consistently with the public interest
⢠Client and Employer
â Testers shall act in the best interests of their client and
employer
⢠Product
â Testers shall ensure the deliverables meet the highest
professional standards possible
⢠Judgement
â Tester shall maintain integrity and independence in their
professional judgement
17. ⢠Management
â Test managers and leaders shall subscribe to and promote
an ethical approach to the management of software testing
⢠Profession
â Testers shall advance the integrity and reputation of the
profession
⢠Colleagues
â Testers shall be fair to and supportive of their colleagues,
and promote cooperation with developers
⢠Self
â Testers shall participate in lifelong learning regarding the
practice of their profession
18.
19. Which of the following statements BEST describes one of
the seven key principles of software testing?
Automated tests are better than manual tests for avoiding the
Exhaustive Testing.
Exhaustive testing is, with sufficient effort and tool support,
feasible for all software.
It is normally impossible to test all input / output
combinations for a software system.
The purpose of testing is to demonstrate the absence of
defects.
20. Which of the following statements is the MOST valid
goal for a test team?
Determine whether enough component testing was
executed.
Cause as many failures as possible so that faults can be
identified and corrected.
Prove that all faults are identified
Prove that any remaining faults will not cause any failures
21. Which of these tasks would you expect to perform
during Test Analysis and Design?
Setting or defining test objectives.
Reviewing the test basis.
Creating test suites from test procedures.
Analyzing lessons learned to process improvement.
22. Below is a list of problems that can be observed during
testing or operation. Which is MOST likely a failure?
The product crashed when the user selected an option in a
dialog box.
One source code file included in the build was the wrong
version.
The computation algorithm used the wrong input variables.
The developer misinterpreted the requirement for the
algorithm.
23. Which of the following, if observed in reviews and tests,
would lead to problems (or conflict) within teams?
Testers and reviewers are not curious enough to find defects.
Testers and reviewers are not qualified enough to find failures
and faults.
Testers and reviewers communicate defects as criticism
against persons and not against the software product.
Testers and reviewers expect that defects in the software
product have already been found and fixed by the developers.
24. Which of the following statements are TRUE?
a) Software testing may be required to meet legal or contractual
requirements.
b) Software testing is mainly needed to improve the quality of
the developerâs work.
c) Rigorous testing and fixing of defects found can help reduce
the risk of problems occurring in an operational environment.
d) Rigorous testing is sometimes used to prove that all failures
have been found.
b) and c) are true; a) and d) are false.
a) and d) are true; b) and c) are false.
a) and c) are true; b) and d) are false.
c) and d) are true; a) and b) are false.
25. Which of the following statements BEST describes the
difference between testing and debugging?
Testing pinpoints (identifies the source of) the defects.
Debugging analyzes the faults and proposes prevention
activities.
Dynamic testing shows failures caused by defects. Debugging
finds, analyzes, and removes the causes of failures in the
software.
Testing removes faults. Debugging identifies the causes of
failures.
Dynamic testing prevents causes of failures. Debugging
removes the failures.