[[Procedura]] automatizzabile per verificare la veridicità di un predicato. Esistono tanti tipi diversi di test in base a ciò che si vuole verificare: - ***[[unit test]]*** - ***[[integration test]]*** - ***[[acceptance test]]*** - ***[[regression test]]*** - ***[[performance test]]*** Incrementare la qualità del software, in quanto permettono di accorgersi velocemente di eventuali comportamenti inaspettati presenti nel codice creato. Non garantiscono però che il software ne sia completamente assente! #Extra Spesso vengono usate [[pipeline]] che eseguono automaticamente i test su ciascun [[commit]] inviato al [[repository]] centralizzato. Esistono [[metodologia di sviluppo|metodologie di sviluppo]] che fanno grande utilizzo di test, usando metriche come il [[test coverage]] per determinare il livello di qualità del software, o addirittura [[test-driven development|prioritizzando i test sopra lo sviluppo vero e proprio]] come il [[test-driven development]].