Download - PI3 - segundo entregable
SISTEMA DE AUTOGESTIONDE TORNEOS EN LÍNEA PARA
• Métricas de calidad de software.
• Pruebas de software.• Herramientas utilizadas• Proceso de ejecución de
pruebas• Resultados esperados• Conclusiones.
Agenda
Métricas de calidad de softwareCategoría Nombre de la métrica Descripción de la métrica Tolerancia
Interna Número de malas prácticas de programación Número de malas prácticas de programación aplicadas en el desarrollo de producto
0% de errores de programación, evaluado diariamente
Externa Cobertura de código fuente por pruebas. Número de líneas programación cubiertas por la ejecución de las pruebas automatizadas que definen los userstories.
> 90%, evaluado diariamente
De uso Ratio de error Porcentaje de transacciones que terminan un error http 500.
< 5% , evaluado semanalmente
Apdex score Es un valor de la relación de la cantidad de solicitudes satisfechas y tolerables a los totales de solicitudes formuladas por el usuario a la web de la solución.
Para el servidor de aplicaciones, >= 90% con T=0.5 segundos
Para el servidor web,>= 90% con T=7 segundos
Ambos evaluados semanalmente
Pruebas de software, herramientas utilizadas
Herramientas utilizadas:
Capybara(https://github.com/jnicklas/capybara): Librería para automatizar pruebas a nivel de usuario, que constan en simular una interacción real sobre la aplicación web.
Rspec(http://rspec.info/): Librería para automatizar pruebas sobre las capas de controladora y el modelo.
Proceso de ejecución de pruebas
Descargar última versión del código
fuente
Obtener métrica de número de malas
prácticas de programación
Borrar base de datos
Crear la base de datos
Cargar datos iniciales
Ejecutar pruebas automatizadas
Obtener resultado de pruebas
Obtener métrica de cobertura de
código
Resultados esperados, pruebas
Resultados esperados, pruebas
Resultados esperados, pruebas
Resultados esperados, métricas de uso
CONCLUSIONESLa aplicación de metodologías ágiles para el desarrollo, permitió acelerar la construcción de este entregable y la calidad de los módulos. Por ejemplo, La aplicación de TDD e Integración continua ha permitido que el control de la calidad de la aplicación sea evaluada incrementalmente y no como un proceso posterior a ello. Por lo cual, se puede certificar la calidad de cada módulo al mismo tiempo que se termina de construir.
El uso de herramientas ágiles para automatizar la ejecución de pruebas ahorra significativamente las horas invertidas en esta actividad. (aproximadamente 1 hora por cada interacción se ha reducido a 1.3 minutos). Este gran ahorro de tiempo se incrementa de manera exponencial por la aplicación de TDD, por el cual, de forma constante, se ejecuta todo el conjunto de pruebas mientras se desarrolla. El proceso de ejecución de las pruebas que se definieron, han permitido obtener de manera eficiente y satisfactorias las pruebas realizadas, así como también un efecto positivo en las métricas interna y externa. Además, se ha aprovechado en incluir los procesos de medición durante la ejecución de las pruebas, el tiempo de 1.3 minutos por cada ejecución de la totalidad de las pruebas automatizadas también incluye los resultados de las métricas.
Monitorear las métricas de uso en un entorno pre-productivo nos ha permitido asegurar el grado de satisfacción que tendrá el usuario en el entorno final. Asimismo, herramientas como new relic nos ha ayudado revisar continuamente las métricas para realizar los ajustes necesario y poder estar dentro del rango tolerable.