stringtranslate.com

Pepino (software)

Cucumber es una herramienta de software que admite el desarrollo impulsado por el comportamiento (BDD). [7] [8] [9] [10] [11] [12] Un elemento central del enfoque BDD de Cucumber es su analizador de lenguaje ordinario llamado Gherkin . Permite especificar los comportamientos esperados del software en un lenguaje lógico que los clientes puedan entender. Como tal, Cucumber permite la ejecución de documentación de características escrita en texto orientado al negocio. [13] [7] [8] A menudo se utiliza para probar otro software. [14] Ejecuta pruebas de aceptación automatizadas escritas en un estilo de desarrollo impulsado por el comportamiento (BDD). [15]

Cucumber se escribió originalmente en el lenguaje de programación Ruby . [7] [16] [8] y originalmente se usó exclusivamente para pruebas Ruby como complemento al marco RSpec BDD. Cucumber ahora admite una variedad de lenguajes de programación diferentes a través de varias implementaciones, incluidos Java [17] [8] y JavaScript . [18] [19] Hay un puerto de Cucumber a .NET llamado SpecFlow, [20] [21] [22] ahora reemplazado por Reqnroll. [23]

Lenguaje pepinillo

Gherkin es el lenguaje que utiliza Cucumber para definir casos de prueba. Está diseñado para ser legible por humanos y no técnico, y describe colectivamente casos de uso relacionados con un sistema de software. [7] [8] [24] [25] El propósito detrás de la sintaxis de Gherkin es promover prácticas de desarrollo impulsadas por el comportamiento en todo un equipo de desarrollo, incluidos los analistas y gerentes comerciales. Busca hacer cumplir requisitos firmes e inequívocos a partir de las fases iniciales de definición de requisitos por parte de la gerencia comercial y en otras etapas del ciclo de vida del desarrollo.

Además de proporcionar un script para pruebas automatizadas, la sintaxis de lenguaje natural de Gherkin está diseñada para proporcionar una documentación simple del código bajo prueba. [25] Gherkin actualmente admite palabras clave en docenas de idiomas. [25] [26] [7] [8]

Sintaxis

La sintaxis se centra en un diseño orientado a líneas , similar al de Python . La estructura de un archivo se define utilizando espacios en blanco y otros caracteres de control. [25] Las líneas que comienzan con #se consideran comentarios y se pueden colocar en cualquier lugar de un archivo. [25] Las instrucciones son cualquier línea no vacía y sin comentarios. Consisten en una palabra clave Gherkin reconocida seguida de una cadena. [27]

Todos los archivos Gherkin tienen la .featureextensión de archivo . Contienen una única definición de función para el sistema en prueba y son un script de prueba ejecutable. [27]

He aquí un ejemplo de la sintaxis: [28]

Característica: Adivina la palabra # El primer ejemplo tiene dos pasos Escenario: El Creador inicia un juego  Cuando el Creador inicia un juego Entonces el Creador espera a que se una un Breaker   # El segundo ejemplo tiene tres pasos Escenario: Breaker se une a un juego  Dado que el Creador ha iniciado un juego con la palabra " silky " Cuando el Breaker se une al juego del Creador Entonces el Breaker debe adivinar una palabra con 5 caracteres   

Línea de comandos

Cucumber viene con una interfaz de línea de comandos incorporada que cubre una lista completa de instrucciones. Como la mayoría de las herramientas de línea de comandos, Cucumber ofrece la --helpopción de brindar un resumen de los argumentos que acepta el comando. [29]

$ pepino  --help  -r, --require BIBLIOTECA|DIR Requiere archivos antes de ejecutar las funciones.  --i18n LANG Lista palabras clave para en un idioma en particular.  Ejecutar con "--i18n help" para ver todos los idiomas.  -f, --format FORMATO Cómo formatear funciones (Predeterminado: pretty).  -o, --out [ARCHIVO|DIR] Escribe la salida en un archivo/directorio en lugar de  ...

La línea de comandos de Cucumber se puede utilizar para ejecutar rápidamente pruebas definidas. También permite ejecutar un subconjunto de escenarios mediante el filtrado de etiquetas.

$ pepino  --tags  @nombre-de-etiqueta

El comando anterior ayuda a ejecutar solo aquellos escenarios que tienen el @tag-name. [29] Los argumentos se pueden proporcionar como una operación lógica ORo ANDde etiquetas. Además de las etiquetas, los escenarios se pueden filtrar por nombres de escenario. [29]

$ pepino  --nombre cerrar sesión 

El comando anterior solo se ejecutará en aquellos escenarios que contengan la palabra 'cerrar sesión'.

También resulta útil poder saber qué salió mal cuando falla una prueba. Cucumber facilita la detección de errores en el código con la --backtraceopción. [29]

Referencias

  1. ^ "Aslak Hellesøy". Aslakhellesoy.com . Consultado el 24 de enero de 2012 .
  2. ^ "Joseph Wilk | sobre IA, la Web, usabilidad, pruebas y procesos de software". Blog.josephwilk.net . Consultado el 24 de enero de 2012 .
  3. ^ "Desarrollo impulsado por el té". Blog.mattwynne.net . Consultado el 24 de enero de 2012 .
  4. ^ "Perfil de ghnatiuk". GitHub . Consultado el 24 de enero de 2012 .
  5. ^ "Perfil de msassak". GitHub . Consultado el 24 de enero de 2012 .
  6. ^ "Versión 9.1.2". 7 de mayo de 2023. Consultado el 30 de mayo de 2023 .
  7. ^ abcde "La estantería pragmática | El libro del pepino". Pragprog.com. Archivado desde el original el 21 de enero de 2012. Consultado el 24 de enero de 2012 .
  8. ^ abcdef Rose, Seb; Wynne, Matt; Hellesøy, Aslak (15 de febrero de 2015). The Pragmatic Bookshelf | The Cucumber For Java Book. Pragprog.com . Consultado el 28 de abril de 2019 .
  9. ^ "¿Qué es el pepino?". pepino . Consultado el 8 de junio de 2019 .
  10. ^ Aslak Hellesøy. "La herramienta de colaboración más incomprendida del mundo". pepino .
  11. ^ Nagy, Gáspár; Rosa, Seb (7 de marzo de 2017). Los libros de BDD: descubrimiento. Leanpub. ISBN 978-1983591259.{{cite book}}: Mantenimiento CS1: fecha y año ( enlace )
  12. ^ Rosa, Seb; Nagy, Gáspár (27 de abril de 2021). Los libros BDD: formulación. Leanpub. ISBN 979-8723395015.{{cite book}}: Mantenimiento CS1: fecha y año ( enlace )
  13. ^ Fox, Armando; Patterson, David (2016). Ingeniería de software como servicio . Strawberry Canyon. págs. 218–255. ISBN 978-0-9848812-4-6.
  14. ^ "Pruebas automatizadas con Selenium y Cucumber". www.ibm.com . 2013-08-06 . Consultado el 2017-02-09 .
  15. ^ Soeken, Mathías; Wille, Robert; Drechsler, Rolf (29 de mayo de 2012). Furia, Carlo A.; Nanz, Sebastián (eds.). Objetos, Modelos, Componentes, Patrones . Apuntes de conferencias sobre informática. Springer Berlín Heidelberg. págs. 269–287. doi :10.1007/978-3-642-30561-0_19. ISBN 9783642305603.
  16. ^ "La biblioteca pragmática | El libro de RSpec". Pragprog.com. 2010-12-02. Archivado desde el original el 2012-01-21 . Consultado el 2012-01-24 .
  17. ^ "Pepino-jvm". pepino . Consultado el 8 de marzo de 2018 .
  18. ^ "Cucumber-js". pepino . Consultado el 8 de marzo de 2018 .
  19. ^ Naidele Manjunath; Olivier de Meulder (1 de febrero de 2019). "¿No hay código? No hay problema: escribir pruebas en un lenguaje sencillo". Times Open . Consultado el 29 de abril de 2019 .
  20. ^ "Vincular requisitos empresariales al código .NET". SpecFlow . Consultado el 29 de abril de 2019 .
  21. ^ "SpecFlow". GitHub . Consultado el 29 de abril de 2019 .
  22. ^ Richard Lawrence; Paul Rayner (2018). Desarrollo impulsado por la conducta con Cucumber . Addison Wesley.
  23. ^ Nagy, Gáspár. "De SpecFlow a Reqnroll: por qué y cómo". reqnroll.net . Solicitar inscripción . Consultado el 18 de abril de 2024 .
  24. ^ "pepino/pepinillo". GitHub . Consultado el 9 de febrero de 2017 .
  25. ^ abcde "Sintaxis de pepinillo". pepino . Consultado el 9 de julio de 2019 .
  26. ^ "Idiomas admitidos por Gherkin". Gherkin. pepino/cucumber: monorepositorio de Cucumber: bloques de construcción para Cucumber en varios idiomas . Consultado el 21 de marzo de 2021 a través de GitHub .
  27. ^ ab "Referencia". pepino . Archivado desde el original el 25 de octubre de 2015 . Consultado el 17 de enero de 2016 .
  28. ^ "Referencia al pepinillo". pepino . Archivado desde el original el 13 de enero de 2024 . Consultado el 11 de febrero de 2024 .
  29. ^ abcd Wynne, Matt; Hellesoy, Aslak. "El libro del pepino". SafariBooksOnline . Consultado el 22 de enero de 2016 .

Enlaces externos