Integración continua: ¿cómo se relacionan las compilaciones con los requisitos / tareas / errores?

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

Pregunta

¿Cómo responde las siguientes preguntas de los gerentes, evaluadores y otras personas de su equipo?

¿En qué compilación se corrige el error # 829? ¿Qué tareas se han completado en nuestra versión de prueba actual?

En pocas palabras, ¿cómo puede lograr la trazabilidad de sus requisitos, tareas y errores desde el momento en que se informa de la creación de informes hasta la implementación? ¿Qué procesos, herramientas y técnicas está utilizando para lograr esto?

¿Fue útil?

Solución

Utilizamos TRAC con SVN en nuestra Compañía y realizar compilaciones continuas diarias a DEV / STAGING & amp; Entornos ESTABLES con implementaciones programadas regulares (una vez al mes ... ish) en un entorno de PRODUCCIÓN.

Cuando se informa de un error, se ingresa en TRAC y se le asigna un número de Entradas (por ejemplo, # 1001)

Cuando se soluciona el error, el código se verifica nuevamente en SVN con el número de boleto (# 1001) en las notas de registro de SVN.

El desarrollador toma nota del número de SVN Changeset (por ejemplo, [5000]) y abre la interfaz de usuario web de TRAC. Al cerrar el ticket, colocan el número de conjunto de cambios en las notas del ticket.

De esta manera, el registro SVN hace referencia al ticket ... y el ticket hace referencia al registro SVN.

Nuestras compilaciones diarias se realizan contra un conjunto de cambios de SVN (por ejemplo, la compilación de hoy es todo hasta el conjunto de cambios [5050]) y se incluye una nota de esto en nuestro aviso de implementación.

Deployed On   |  Environment            | Changeset
--------------+-------------------------+--------------------------
10-01-2008    |  DEV                    | 5100
10-01-2008    |  STAGING                | 5080
10-01-2008    |  STABLE                 | 5050
01-01-2008    |  PRODUCTION             | 5000

De esa manera, los evaluadores, al revisar las correcciones para las pruebas, se enteran por el conjunto de cambios en los comentarios del ticket si la compilación que están viendo incluye la corrección.

Otros consejos

Usamos TFS junto con TeamBity for CI de JetBrains.

Al asociar los registros de entrada con las tareas, nuestra política de registro de entrada personalizada antepone las tareas y los errores asociados con sus ID y títulos a los comentarios de registro.

Estos comentarios se utilizan para generar las notas de la versión, que se generan automáticamente para cada compilación.

Estamos etiquetando el control de origen con el número de defecto que se ha corregido o el número de mejora que se ha implementado.

Al recuperar el registro de registro entre dos compilaciones, puede determinar qué se ha implementado o arreglado.

Utilizamos un servicio SVN administrado llamado Beanstalk ( http://www.beanstalkapp.com/ ) que le permite conectarse fácilmente con una serie de sistemas de gestión de fallas / características. En nuestro caso, usamos FogBugz de Fog Creek para ese fin de cosas. SVN / Beanstalk le permite tomar notas cuando ingresa una compilación que, a su vez, afectará el estado de uno o más FogBugz casos.

En el lado del cliente, utilizamos Tortoise SVN y Visual SVN para gestionar la interacción del cliente local y el servidor Beanstalk SVN (Tortoise proporciona el servicio real, Visual SVN proporciona la integración entre Tortoise SVN y MS Visual Studio).

Recomiendo encarecidamente ambos servicios y el cliente Tortoise / Visual SVN.

Estamos utilizando Fogbugz, que tiene integración de subversión integrada. Básicamente, hay un complemento para Fogbugz que verifica los registros de SVN en segundo plano. Por lo tanto, si proporciona una identificación de caso Fogbugz en su registro, se vincula automáticamente con este registro.

Por lo que sé, no necesita ninguna aplicación especial (como Beanstalk, por ejemplo).

El revés es poco complicado. En nuestra empresa hay una convención que para cada compilación (futura o pasada) existe un " lanzamiento " en fogbugz. Si corrige un error o implementa una característica, asigna el caso a la versión correcta.

Entonces es bastante fácil obtener una lista de todas las características implementadas de la compilación X.

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