Pruebas unitarias
Pruebas en la más pequeña granularidad. Idealmente, para cada función individual en un proyecto de software debería haber una rutina de prueba correspondiente, que se asegure de que la función realmente ofrece lo que debería estar haciendo mediante el establecimiento de algún contexto y, a continuación, llamar a la función en ambas formas significativas pero también erróneas para ver si la función devuelve lo que se espera para cada uno de esos intentos. En realidad, es tan importante probar también las llamadas "estúpidas" a la función sólo para asegurarse de que la función es capaz de manejarlas también y no se bloquea todo el proyecto.