The long way through Software Craftsmanship

Internal training: QA & how to test

May 18, 2015 - 2 minute read - Comments - traininginternalinternal-trainingquality-assuranceqabrown-bag-session

At a client, we’ve done today an internal training on “QA & how to test”. In it, the most skilled person with the QA role in the dev team has explained to us some techniques and concepts for testing

My notes

Verification vs validation: building the product right vs building the right product.

Principles

Extracted from ISTQB:

  • testing shows presence of defects
  • exhaustive testing is impossible
  • early testing is better than later testing
  • defect clustering: areas with bigger defect ratio or more critical, etc should be tested more thoroughly
  • pesticide paradox
  • testing is context-dependent
  • absence of errors fallacy: the absence of defects does not imply perfect software. There are also problems with validation.

Techniques

People-based

  • bug bashes: e.g., time-constrained
  • subject-matter expert testing
  • eat your own dogfood
  • others

Activity-based

  • regression
  • scripted (manual)
  • smoke
  • exploratory
  • installation
  • load
  • long sequence
  • performance

Coverage-based

  • menu tour: exploration based on menus (especially on websites)
  • functional and system testing
  • integration
  • logic
  • state-based

Requirements-based

  • Equivalence partitioning: examples in the same set are considered equivalent
  • Boundary based: there are interesting examples around and on the boundaries
  • Decision tables: truth table
  • State transition tables: state diagram

Risk-based

  • make a prioritized list: probability and impact
  • perform testing exploring each risk
  • after a risk disappears, another opens. Adjust your test effort to stay focused on the current crop

Use case tests

  • use case: a common case that represents one of your customer’s cases
  • use busines language

Structure-based

  • test coverage is different than code coverage
  • test coverage is based on decision tables

Defining testing priorities

  • customer and contractual requirements
  • regulatory
  • experience-based
  • “Best representative”

Software gardening manifesto Category: Poodr