testing

8 posts

La ejecución simbólica encontró un integer overflow que mi cobertura de tests del 94% se perdió

Tus unit tests comprueban entradas específicas. La ejecución simbólica comprueba cada entrada posible. Así es como funciona, qué cuesta y por dónde empezar.

Tu test suite tiene un 94% de cobertura y cero fallos. Un motor de ejecución simbólica encuentra un crash en tu código en menos de tres segundos. El test no…

Las pruebas metamórficas encontraron 147 bugs en compilers y un defecto en un vehículo autónomo. Así funcionan.

Las pruebas metamórficas han descubierto bugs reales en GCC, LLVM, compilers de shaders Vulkan y simuladores de ADAS. Esta publicación explica la técnica con código funcional y muestra dónde encaja en tu suite de pruebas.

Las pruebas metamórficas han encontrado 147 bugs confirmados en GCC y LLVM, defectos en simuladores comerciales de ADAS usados por OEMs automotrices, y una…

La mayoría de las metamorphic relations son inútiles. Así es cómo elegir las buenas.

No todas las metamorphic relations atrapan bugs. Las relaciones débiles dan una falsa confianza mientras que las fuertes encuentran fallas reales. Así es cómo distinguir la diferencia y construir un conjunto de relaciones que realmente funcione.

Escribiste doce metamorphic relations para tu motor de precios. Cada prueba pasa. Te sientes bien con tu cobertura. Luego un cliente reporta que los descuentos…

Dejé de copiar código en la documentación manteniendo tests, código y prosa en un solo archivo Markdown

La programación literaria mantiene la documentación, los tests y la implementación sincronizados al convertir un archivo Markdown en la única fuente de verdad. Así es como implementarlo en treinta líneas de Python.

Tus docs, tests y código son tres archivos contando la misma historia mal. Actualizas la firma de la función en el source. Olvidas el ejemplo del README. Una…