Cucumber es una librería de pruebas de aceptación que funciona con Ruby, Java y otros lenguajes. Permite escribir historias de usuario y criterios de aceptación en lenguaje natural que luego se traducen a pruebas automatizadas. Las características se definen en archivos de texto y los pasos se implementan en código. Ofrece una forma compartible de documentar requisitos y automatizar pruebas.