AAtsushi's Blog
Certifications

Learning JSTQB Through Video

→ 日本語版を読む

The JSTQB syllabus is a bit hard to understand in places, so I went looking for videos and found the YouTube playlist below.

www.youtube.com

Testing Techniques

Listing the testing techniques I was curious about:

  • Static testing
    • Ad hoc: Show work products to a reviewer and get feedback.
    • Checklist-based: Check concerns following a pre-prepared checklist.
    • Scenarios and dry runs: Prepare scenarios in advance and do a practice run (dry run) while imagining how things will play out.
    • Perspective-based: Most effective. Review from the perspectives of various stakeholders.
  • Dynamic testing
    • Black-box testing
      • Equivalence partitioning test
      • Boundary value analysis
      • Decision table testing
      • State transition testing
      • Use case testing: Test based on pre-prepared use cases.
    • White-box testing
      • Statement testing and coverage: Evaluates how much of the code was executed.
      • Decision testing and coverage: Evaluates how many true/false branches were traversed.
    • Experience-based testing
      • Error guessing
      • Exploratory testing
      • Checklist-based testing

Static and dynamic testing are complementary — neither is superior. Static testing can detect defects that are hard to find through dynamic testing, with fewer effort hours.

A use case in use case testing looks like the following (source: here):

Although outside the scope of JSTQB, there is also the concept of C0/C1 coverage.

C0 coverage rate = executed lines ÷ total lines

C1 coverage rate = executed branches ÷ total branches

www.youtube.com

Test Exit Criteria

  • Planned tests are complete.
  • Coverage target is met.
  • Number of unresolved defects is within agreed limits.
  • Remaining defect count is sufficiently low.
  • Quality characteristic evaluation levels are sufficient.

(Personal thought) In addition to counts, "absence of critical defects" also seems like an important exit criterion.

Types of Test Support Tools

  • Static analysis tools
    • Analyze source code and point out places where coding patterns are violated.
  • Test data preparation tools
  • Test automation tools
    • Store test input values and expected test results in advance, then execute tests automatically (or semi-automatically).
  • Coverage tools
    • Calculate how much of the code has been tested.
  • Performance testing tools
  • Dynamic analysis tools
    • Detect defects while software is running.

Risks of Test Tools

  • Underestimating the cost of tool introduction and maintenance.
  • Tools become unavailable due to EOL or other reasons.
  • New technologies are not supported.