Fundamentals of Testing – Chapter 1 – ISTQB Foundation
Every little information helps with the exam for the ISTQB certification foundation level. Here is the first part of a series of summaries to aid you to memorize what is likely to be on the exam questions.
Read, then practice the exam for chapter 1 – Fundamentals of Testing, link at the end of this post, practice the quiz as much as you feel comfortable to go to the next chapter.
If you feel that you are ok to try the actual exam, there’s a quiz for that next to chapter one.
The more you read, the more you understand, the more you understand more you are ready to sit at the exam.
I have uploaded a mind map with a graphical visualization of the ISTQB Foundation Level topics, a kind of Cheat Cheat, and you may find it useful too to help you with the exam.
I hope you like it. Feel free to drop me a comment, or inform anything I’ve missed here. Good luck.
Examples of why testing is necessary
People make mistakes due to fallibility and other pressures (e.g. deadlines).
A mistake in code, specifications document, etc…
A problem caused by an error.
A failure of the system or component caused by a defect.
Failures don’t only happen due to defects, environmental conditions, hardware problems, etc…
Objectives of testing
- Avoid and rectify errors.
- Ensure that key functional and non-functional requirements are examined.
- Testing is not about removing defects but about notifying developers about them.
- Testing is also about reducing risk in releasing.
Difference between testing and debugging
- Debugging is a process used to identify the causes of bugs in code and correct them.
- Testing is the exploration of the system to find defects.
Fundamental principles of testing
- Testing shows the presence of bugs.
- Exhaustive testing (testing all possible data combinations) is impossible.
- Early testing saves money.
- Defect clustering happens. If there is a bug in one part of the software, there are other related bugs nearby.
- “The pesticide paradox”: continuing to run the same tests won’t find new bugs.
- Testing is context-dependent. Do you need more testing on security, user experience, etc.?
- Software with no known errors is not necessarily ready to be shipped. Does it match user expectations?
Five fundamental test activities and tasks from planning to test closure
- Planning and control.
- Analysis and design.
- Implementation and execution.
- Evaluating exit criteria and reporting.
- Test closure.
Rerunning the tests after they fail and the bugs have been, in theory, fixed.
Time, Money, and Quality. You can’t have them all; only pick two.
Criteria you set at the beginning of a project determines when it is safe to stop testing.
Testing where code is not exercised: document specification analysis, reviews, etc…
Kind of testing that exercises the program with some test data.