Como trabajo como un “QA Engineer” en un proyecto en contraposición a un miembro de una “Driven Development Team Test”?

StackOverflow https://stackoverflow.com/questions/3577009

Pregunta

sinceras disculpas si estoy haciendo esta pregunta en el lugar equivocado. (Posiblemente uno de los mini-desbordamientos de pila específico para la orientación profesional y QA) He pasado una cantidad significativa de tiempo recientemente el aprendizaje y la unidad de pruebas de marcos para nuestros proyectos de ejecución.

Antes de la introducción de un marco de pruebas de unidad, nuestro método consistía en código, prueba manualmente, comprometerse, espero que las cosas no se rompen hacia abajo o río arriba. Un sistema muy reactivo.

Ahora, todos entendemos que las cosas tienen que ser probados y que las pruebas automatizadas es eficiente y bueno. Sin embargo, el papel que actualmente parece ser "que hace la prueba" y "pruebas automatizadas escribir"

Hacer la prueba manual es posible, pero se siente abrumadora (ya que hay errores todo el tiempo) y muy parecido a una subutilización de mis habilidades.

Estoy teniendo dificultades para llevar a cabo la segunda parte de la solicitud. Escribir pruebas automatizadas es difícil si el código no está diseñado para ser comprobable.

Tengo la responsabilidad de control de calidad - pero - sólo puedo encontrar recursos en Test Driven Development.

¿Qué métodos puedo utilizar para ser más eficaces en mi función de control de calidad, donde los otros desarrolladores aún no están escribiendo con preocupación a la creación de código comprobable?

¿Fue útil?

Solución

Me gustaría pensar que conseguir los desarrolladores a la velocidad con la prueba de la unidad sería su principal preocupación! De esta manera, todo el mundo es un ganador.

Hasta ese punto, ya que en efecto está trabajando con el código heredado, el libro de Michael pluma trabajar eficazmente con el código heredado aparentemente contiene una gran cantidad de consejos útiles en las pruebas de dicho código.

Usted probablemente ya sabe esto, pero también echa un vistazo Comportamiento Driven Development (BDD), que incluye una gran cantidad sobre la creación de pruebas de integración automatizadas, que creo que sería de interés para usted.

Otros consejos

El problema con los nombres desarrollo impulsado por la prueba y Unidad-testing , es que implican que están a punto de pruebas de software. Son no . TDD y la unidad de pruebas están a punto el diseño y que son esencialmente de la competencia de los desarrolladores.

El papel del QA Analyst sigue siendo de suma importancia en cualquier equipo de la práctica de TDD y que será un mucho, mucho tiempo antes de que usted se encuentra fuera del trabajo como un control de calidad de conciencia!

Tome un vistazo a Aceptación basado en pruebas de desarrollo y considerar involucrarse más en la etapa de requerimientos por escrito las pruebas de aceptación automatizados, tal vez usando una herramienta como FitNesse .

Manual, pruebas exploratorias todavía tiene su lugar, por supuesto. Pero debe tener en cuenta la repetición de las pruebas de regresión como una violación de sus derechos humanos básicos!

Creo que los desarrolladores deben pruebas por lo menos la unidad de escritura (posiblemente usando TDD). Este es el estándar mínimo para garantizar que el código que está en comprobar potencialmente trabajando.

Me entender el papel de control de calidad como alguien que proporciona pruebas de nivel superior, para asegurarse de que el software cumple con los requisitos de los clientes, lo que no sería realmente probar clases individuales, sino módulos o toda la aplicación. Incluso si los desarrolladores no proporcionan pruebas de unidad, que aún debe ser capaz de automatizar pruebas de extremo a extremo (por lo general esto incluye la automatización de la configuración de entorno de prueba, etc.) - su trabajo será más frustrante sin embargo:)

En mi experiencia, la gente no darse la vuelta durante la noche sobre la escritura tests-- convencerlos es un proceso. Los programadores con el tiempo de mala gana lo intentan, pero sigue siendo semanas o meses antes de que sean defensores y practicantes regulares. Eso no significa que haya que renunciar, justo reconocer que se trata de una batalla cuesta arriba, y las necesidades de apoyo desde arriba, y algunos buenos defensores de dentro del equipo.

Puede sumergirse en escribir las pruebas a ti mismo:

Teniendo en cuenta que aproximadamente la mitad de los insectos son "regresiones" de los errores anteriores, en su situación me centraría en la escritura de pruebas de regresión para los nuevos críticos y los insectos. Esto le ayudará de manera significativa en su Q.A. normales trabajo, sino que también será una excelente red de seguridad para los errores futuros.

Incluso si no puede convencer a los desarrolladores a pruebas de escritura inmediata, tendrá algunas pruebas valiosas que pronto verán el valor de. Este trabajo puede ayudar en la venta de la idea de desarrolladores que escriben pruebas unitarias.

Yo estaba trabajando en un papel similar hace varios años, por lo que puedo entender sus problemas. Para la obtención de los desarrolladores a la velocidad con la unidad de pruebas, sugiero tutoría y sesiones de programación par. Escribir la primera prueba de la unidad para una clase de mal diseñado puede ser un verdadero dolor. Es más fácil y más divertido si hay dos de ustedes -. Por no mencionar la reducción de las posibilidades de cometer errores estúpidos en las refactorizaciones iniciales

El libro de las plumas, como ya se ha mencionado por @Grant, es un recurso muy valioso para esto. Sea paciente y perseverar a través de los meses iniciales, antes de que los resultados (tanto en la cobertura de la prueba y en la actitud del equipo) poco a poco comienzan a mostrar.

Debe tener un fuerte apoyo de gestión, así - sin esto, no hay ninguna razón para tratar. La administración debe entender que la construcción de las pruebas unitarias es un inversiones , que utiliza una parte significativa de su tiempo y energía ahora , y se pagará solo allá en los años futuros. Si insisten en mantener la misma presión de tiempo como siempre, inevitablemente fracasará. Los desarrolladores no pueden aprender y practicar nuevas habilidades y formas de pensar si están muy estresados ??y / o desmotivados.

(La otra cara de la moneda es, por supuesto que hay que pensar en si es o no la inversión traerá beneficios. Pruebas de la unidad de construcción de código heredado es sólo vale la pena si las prevé gestión que el producto será mantenido y utilizado en años muchos por venir.)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top