Foundational software testing practices