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 memorize what is likely to be on the exam questions.
Read, then practice the exam for the chapter 1 – Fundamentals of Testing, link at the end of this post, practice the quiz as much as you feel comfortable enough to go to the next chapter.
If you feel that you are ok to try the actual exam, there’s a quiz for that as well next to the chapter one.
More you read, more you understand, 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, you may find it useful too to help you with the exam.
Hope you like. Feel free to drop me a comment, or inform anything that I’ve missed here. Good luck.
Examples of why testing is necessary
People make mistakes due to fallibility but also 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, but also 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 causes of bugs in code and correct them.
Testing is the exploration of the system in order 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, chances are 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.
Running the tests again 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 that 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.