4.4 Experience-based Test Techniques Flashcards
What are the three most common Experience-based Test Techniques?
- Error Guessing, based on the tester’s knowledge and experience
- Exploratory Testing, based around learning about the test object
- Checklist-based Testing, based on lists built up over time
What are the three types of knowledge that play a part in Error Guessing as a test technique?
- how the application has worked in the past
- the types of errors the developers tend to make, and the types of defects that usually result from these errors
- the types of failures that have occurred in other similar applications
What sources are errors, defects, and failures generally related to?
- input (correct input rejected, parameters wrong or missing)
- output (wrong format, wrong result)
- logic (missing cases, wrong operator)
- computation (incorrect operand, wrong computation)
- interfaces (parameter mismatch, incompatible types)
- data (incorrect initial value, wrong data type)
What are Fault Attacks?
Fault attacks are a methodical approach to the implementation of Error Guessing. This technique requires the tester to assemble a list of possible errors, defects, and failures, and to design tests that will identify defects associated with the errors, expose the defects, or cause the failures.
What is Exploratory Testing?
Tests are designed, executed, and evaluated while the tester learns about the test object. The testing is used to learn more about the test object, to explore it more deeply with focused tests, and to create tests for untested areas.
What is session based testing?
An exploratory testing technique where the testing is conducted within a defined time-box. The tester uses a test charter containing objectives to guide the testing. The session is usually followed by a debriefing involving the tester and stakeholders for the test.
When is exploratory testing most useful?
When there is significant time pressure on the testing, or when there are few or inadequate specifications on the testing.
It is also useful to complement more formal test techniques. The more experienced and knowledgeable the tester is, the more effective exploratory testing will be.
What is Checklist-based testing?
A tester designs, implements, and executes tests to cover test conditions from a checklist. The list may be built based on experience, knowledge of user expectations, or an understanding of how and why software fails. Checklists should not contain items that can be checked automatically, items that serve as entry or exit criteria, or vague items.
How should checklist items be phrased for maximum effectiveness?
They are often phrased in the form of a question. Each item should be able to be checked separately and directly, and should refer to a requirement, GUI property, quality characteristic, or other specific test condition.
Is checklist testing for use in functional or non-functional testing?
It can be used effectively for both.
Do checklist entries remain effective over time?
Not always. Some entries may gradually become less effective as developers learn to avoid making the same errors. New entries may be needed to reflect new high severity defects. Lists should be updated regularly based on defect analysis, and care should be taken to avoid letting the list become too long.