¿Recursos para el desarrollo guiado por pruebas en aplicaciones web? [cerrado]

15

Me gustaría probar e implementar algunos TDD en nuestras aplicaciones web para reducir las regresiones y mejorar la calidad de las versiones, pero no estoy convencido de qué tan bien pueden funcionar las pruebas automatizadas con algo tan mullido como las aplicaciones web.

He leído y probado TDD y las pruebas unitarias, pero los ejemplos son funcionalidades 'sólidas' y bastante simples como convertidores de moneda, etc.

¿Existen recursos que puedan ayudar con las pruebas unitarias de administración de contenido y sistemas de publicación? ¿Qué hay de las pruebas unitarias de un carrito de compras / tienda (productos físicos y en línea)? AJAX?

La búsqueda en Google de "Web Test Driven Development" solo me ha dejado obsoletos artículos de hace varios años que cubren los mismos ejemplos de funciones similares a una calculadora o discusiones sobre por qué TDD es mejor que nada (sin ningún ejemplo).

    
pregunta HorusKol 22.03.2011 - 00:11
fuente

4 respuestas

2

Gran descargo de responsabilidad: no he creado ninguna aplicación web ni he probado ninguna aplicación web. Los siguientes son solo algunos fragmentos de información que he absorbido en mis recorridos aleatorios dentro de la esfera de información.

Construya su aplicación web de tal manera que pueda probar las reglas de negocios de forma aislada. Si se encuentra probando reglas comerciales a través de la interfaz de usuario, entonces podría ser el momento de pensar en un nuevo diseño.

Cuando se trata de probar la interfaz de usuario, reemplace sus reglas comerciales con implementaciones simuladas que responden de manera predecible.

Las dos reglas anteriores se toman de charla de Bob Martin en RailsConf 2010 . La charla no es sobre TDD y la sección donde menciona las pruebas es corta y en algún lugar en el medio.

Hay herramientas como JsUnit , JSSpec , Prueba de YUI para probar JavaScript y Selenium y Watir para la interfaz de usuario de prueba.

La Pragmatic Bookshelf tiene algunos libros que cubren las pruebas de aplicaciones web. La lista de libros etiquetados con Pruebas se encuentra en enlace . Los libros de prueba de la aplicación web Pragmatic Bookshelf se centran principalmente en Ruby y Rails, pero deberían ser de aplicación genérica.

    
respondido por el Anthony Cramp 22.03.2011 - 01:14
fuente
3

Desarrollo de JavaScript basado en pruebas es un libro muy bonito de Christian Johansen, el desarrollador detrás de Sinon.js y Buster.js , que cubre temas como (tomados del sitio web):

  
  • Comprensión de las pruebas unitarias y TDD
  •   
  • Elegir el marco de prueba de unidad correcto
  •   
  • Creación de API más limpias, JavaScript modular y robusto
  •   
  • Mejora continua del código mediante refactorización
  •   
  • Cinco sesiones prácticas de TDD: Ajax, manipulación de DOM, Node.js y más
  •   
  • Visita guiada por prueba a JavaScript para desarrolladores que no están familiarizados con el idioma
  •   

Actualmente usamos Sinon.js con Mocha, pero estamos listos para cambiarnos a Buster.js, ya que sus características son realmente claras.

    
respondido por el nuc 08.10.2012 - 20:49
fuente
1

En un proyecto en el que trabajé recientemente, el desarrollador principal había decidido utilizar Unity para simplificar la burla y el TDD en una gran aplicación web - Creo que el uso de Unity a menudo estará acompañado por TDD es una aplicación web.

Es probable que la investigación de pruebas unitarias de CMS conduzca a un callejón sin salida porque simplemente no hay nada razonable que burlarse. No veo qué se puede probar sin burlar el tráfico http de las páginas, y en ese punto la prueba tiene poco valor.

Reconozco que una regla empírica útil para las aplicaciones web es si puede usar un simulacro para reducir la complejidad, entonces puede probablemente ser probado por la unidad.

Por lo tanto, en una aplicación web puede simular su base de datos para realizar pruebas unitarias de diferentes partes de su capa o modelo de acceso a datos; puede simular la entrada del usuario a la unidad de prueba de la vista o la interfaz de usuario y así sucesivamente.

    
respondido por el amelvin 22.03.2011 - 01:50
fuente
0

He escrito un libro sobre TDD para desarrollo web con Python + Django. cubre TDD, tanto con pruebas de extremo a extremo / funcionales (selenio) como con pruebas de "unidad" de nivel inferior. También cubro las prácticas modernas de desarrollo como la integración de git en su flujo de trabajo, la implementación en un servidor y la automatización y prueba de eso, la integración continua, las simulaciones y el aislamiento de prueba, y mucho más:

enlace

(o enlace )

    
respondido por el hwjp 01.04.2013 - 15:50
fuente

Lea otras preguntas en las etiquetas