--- title: "testing" tags: - cosc202 --- # testing - most software will contain bugs - bug severity if not always equivalent to bug priority - testing is seeking out bugs - some test types - unit tests - integration tests ⇒ check units work together - end-to-end tests ⇒ check behaviour of whole program ## 1 Limitations - testing every code path is impossible - halting problem - cant fully analyse code using code - proved by alan turing in 1936 - good test design focuses on _key cases_ to pass and fail - not probe interaction between units - this should be done by integration testing - testing may afffect behaviour of code - testing framework may affect the order of esecution - testing framework may change execution speed