Las aserciones pueden ser una forma de documentación: pueden describir el estado en que el código empieza su ejecución (precondición), y el estado que el código espera alcanzar cuando finalice (postcondición); asimismo pueden servir de especificación para los invariantes de clase.