backlink to all of my Software Engineering notes :)

why does software go wrong?

  1. crashes and infinite loops
  2. wrong output
  3. wrong API
  4. bad system-level behaviour
  5. nonfunctional properties
  6. regressions

validation: evaluating software prior to release to ensure compliance with intended usage

verification: determining whether products of a given phase of the development process fulfil requirements established in a previous phase

software fault: static defect in the software

software error: incorrect internal state that is the manifestation of some fault

software failure: external, incorrect behaviour (as in really bad fail)

testing: evaluating software by observing its execution

debugging: finding (and fixing) a fault given a failure

exploratory testing