Fuzz & Property Based Testing

Accepted

Introducción al origen de fuzz testing a través de los papers de Miller. Luego, la diferencia entre fuzz y property based testing y como aplicamos esto a nuestros programas de python de todos los días, usando hypothesis.


Type: Charla extendida, 45 minutos (explicar motivos)

Level: Medium

Speakers: Pablo Fernandez

Speakers Bio: Ingeniero en sistemas, programando profesionalmente hace 15 años. Hice un recorrido por distintas áreas del desarrollo, a saber: aplicaciones de escritorio, backend, frontend, devops, data science. Trabajé en diversos proyectos, con tecnologías disímiles, subiendo código a producción en diferentes lenguajes: Java, Scala, JavaScript, TypeScript, Ruby, Python, Go, Groovy, C#, VisualBasic, PHP (oh dios). Actualmente interesado y trabajando en data science y machine learning.

Time: 15:00 - 16:00 - 12/05/2019

Room: D

Labels: python testing property-based-testing fuzz-testing

Description

A medida que el avance de la tecnologías mueve la frontera de lo posible en el desarrollo de software, nuestras aplicaciones cada vez tienen más features y se vuelven mucho más complejas. Dicha complejidad trae consigo una inherente fragilidad. En esta charla haremos un repaso del trabajo científico de Barton Miller, su aporte al Fuzz Testing (tests con input aleatorio) y una variación moderna llamada Property Based Testing. Presentaremos evidencia que nos permite afirmar que un 30-40% del software tiene bugs que podrían ser detectados con estas técnicas. Luego, vamos a hacer una demo sobre cómo aplicar estas técnicas a programas existentes, aparentemente correctos y entender cómo pueden ocultar errores aunque tengan tests convencionales (unit test) y cobertura del 100%