Template Activos Neoris

Anuncio
Gestión Integral del Taller
Plan de Testing
1
Indices
1
INDICES
2
2
VERSIONADO
4
3
INTRODUCCIÓN
5
3.1
PROPÓSITO DEL DOCUMENTO
5
3.2
DESTINATARIOS
5
3.3
REFERENCIAS
5
4
AMBIENTES
5
5
HERRAMIENTAS DE PRUEBAS
5
6
ADMINISTRACIÓN DEL TESTING
6
6.1
SEGUIMIENTO Y CONTROL DEL TESTING
6
6.2
REVISIONES DE CASOS DE PRUEBA (PR)
6
6.3
CRITERIOS DE ENTRADA
6
6.4
CRITERIOS DE ACEPTACIÓN (O DE SALIDA)
6
6.5
SUSPENSIÓN Y CAMBIOS EN LOS REQUERIMIENTOS
8
6.6
PROCEDIMIENTO PARA EL REPORTE DE DEFECTOS
8
6.7
PLAN DE TRABAJO DE TESTING
8
6.8
ENTREGABLES
9
6.8.1
CASOS DE PRUEBA
9
6.8.2
ESTADO DE LAS PRUEBAS / REPORTES DE PROGRESO
9
6.8.3
REPORTE FINAL DE LAS PRUEBAS
9
7
7.1
8
ANEXO CONTROL DE CAMBIOS NRO. XX
DESCRIPCIÓN DEL CAMBIO E IMPACTO DEL MISMO
ANEXO METODOLOGÍA DE TESTING
9
9
10
8.1
CONCEPTOS DE TESTING
10
8.2
DESCRIPCIÓN DE LOS TIPOS DE TESTING
11
8.2.1
TESTING DE UNIDAD
11
8.2.2
TESTING FUNCIONAL TRONCAL
12
8.2.3
TESTING DE INTEGRACIÓN
12
8.2.4
TESTING FUNCIONAL
12
8.2.5
TESTING NO FUNCIONAL
12
8.2.6
TESTING DE REGRESIÓN
12
8.2.7
TESTING DE ACEPTACIÓN
12
8.2.8
AUTOMATIZACIÓN DETESTING
13
8.2.9
TESTING DE PERFORMANCE
13
8.3
ALCANCE DEL TESTING
13
8.3.1
GENERACIÓN DE LA DOCUMENTACIÓN
13
8.3.2
NAVEGACIÓN DEL SITIO
13
8.3.3
VERIFICACIÓN DE LOS REQUERIMIENTOS DEL CLIENTE
13
8.3.4
VERIFICACIÓN FUNCIONAL
14
8.3.5
VALIDACIÓN DE DATOS Y MANEJO DE ERRORES
14
8.3.6
COMPATIBILIDAD DE PLATAFORMAS Y NAVEGADORES
14
8.3.7
FORMATO Y PRESENTACIÓN
14
Plan de testing
2 de 15
9
ANEXO SUPUESTOS Y RIESGOS DEL TESTING
14
9.1
SUPUESTOS
14
9.2
RIESGOS
14
Plan de testing
3 de 15
2
Versionado
Versión
Fecha
Plan de testing
Motivo
Autor
4 de 15
3
3.1
Introducción
Propósito del documento
El presente documento contiene el Plan de testing (de aquí en más el Plan) para el proyecto GIT (de aquí
en más, el Proyecto).
El presente Plan describe las actividades que se llevarán a cabo para la realización de las pruebas
que verificarán y validarán la correctitud y completitud del producto de software a desarrollar
durante el Proyecto, además incluye la metodología, preparación de las tareas del Testing,
ambientes de Testing, plan de trabajo, las herramientas del Testing, y la cobertura de tipos de
testing necesaria para verificar los requerimientos funcionales y estéticos del producto a desarrollar
en el proyecto.
La información registrada en este documento servirá de base para la toma de decisiones y el control
interno y externo respecto al proceso de testing del producto de software.
3.2
Destinatarios
Nombre
Milena Massin
Javier Gonzalez
Eugenio Lattanzio
Juan Pablo Hidalgo
3.3
Referencias
Documento
Narrativa
Plan de CM
Planilla de solicitud de Ambientes
4
Rol
Project Manager (PM)
Solution Tester Officer (STEO)
Developer (DEV)
Solution Analyst (SAN)
Quality Assurance (QA)
Fuente
Ambientes
Se define el montaje de los siguientes ambientes:
 Ambiente de testing
 Ambiente de producción (opcional)
Estos ambientes deben responder a los requerimientos de hardware y software de base
especificados en la propuesta.
5
Herramientas de Pruebas
[Adaptar la sección según la herramienta utilizada en el proyecto]
La herramienta que se utilizará como soporte al Testing es QAPM (Quality Assurance Process
Manager), accesible desde http://qapm.ar.neoris.net
Plan de testing
5 de 15
6
Administración del Testing
En las siguientes secciones se describen los procesos para la Administración del Proyecto, la
mecánica y la documentación de las herramientas usadas por el equipo de Testing en la planeación
y ejecución de los tipos de testing para el proyecto <Nombre del proyecto>.
6.1
Seguimiento y Control del Testing
Documentos
Informes de Avances de Testing
Planilla de Pasaje de Ambiente
6.2
Periodicidad
Quincenal
Cada vez que sea necesario
Revisiones de Casos de Prueba (PR)
En lo posible, las personas que realizan los PR deberán tener conocimiento del negocio por haber
participado del proyecto en este momento o en etapas anteriores, o que tengan conocimientos en
negocios o proyectos de complejidades similares.
-
Criterio de selección de la muestra. Se pueden tomar uno o un conjunto de estos criterios:
o Por complejidad del CU (es el más común).
o Porque un CU tuvo varias actualizaciones.
o Por solicitud del Solution Tester (STE) que escribió los casos de prueba complejos/muy
complejos de un CU y necesita corroborar la calidad.
- Controles que se realizan.
Los controles son los que se enumeran en el checklist PR de casos de prueba, más el
cumplimiento de las prácticas propuestas en la nivelación de escritura de casos de prueba
especificadas en el documento INS_STD_SPE_CasosDePruebaBasicos.xls.
- Contabilización de los resultados y su registro.
Las revisiones quedan registradas en la planilla de checklist PR de casos de prueba.
La evidencia se sube al foro de cada proyecto.
6.3
Criterios de Entrada
A continuación se listan los requerimientos que se deben satisfacer para la aceptación del
contenido del proyecto por el equipo de Testing y el comienzo formal de las pruebas de Testing:
Toda la documentación relacionada con los requerimientos y diseños está sujeta a revisiones
constantes para su administración, con la finalidad de tener un control de las versiones hasta llegar
al documento final el cual estará bajo el control de la administración de la configuración.
Todo el hardware, software y herramientas necesarias para el ambiente de pruebas, deben estar
disponibles para su uso.
6.4
Criterios de Aceptación (o de salida)
A continuación se listan los criterios que deben ser satisfechos para la liberación del producto a
producción:
- Todos los casos de prueba estarán ejecutados (los casos de prueba tienen al menos un evento
asociado en un estado final) Los Casos de Prueba que fallaron tendrán un evento asociado donde
se reporta la incidencia/error.
Los estados finales de un evento son:
Plan de testing
6 de 15
o
OK: estado que se asocia a un Evento cuando se ejecuta un Caso de Prueba y no se
produce ningún error.
o Pérdida de Vigencia: cuando un error que había sido reportado, ya no está vigente, es
decir, ya no tiene sentido corregirlo por cambio en la funcionalidad.
o No Aplica Definitivo: este estado es asignado cuando se comprueba que el estado No
Aplica Desarrollo ha sido asignado correctamente a un Evento.
o Cerrado: cuando se comprueba que el error ha sido corregido el error que había sido
reportado.
o Sin valor de referencia para comparar: este estado es asignado a un evento cuando
no se puede realizar la ejecución de un Caso de Prueba debido a que la funcionalidad
que especifica el caso aún no está desarrollada.
Los estados intermedios de un evento que deben llegar a un estado final son:
o Pendiente: es el estado que se asocia a un Evento cuando como resultado de la
ejecución del Caso de Prueba, se produce un error.
o Suspendido: es asignado a un Evento cuando el error es reconocido como tal, pero
por el momento no se procederá a la corrección del mismo porque existen otras tareas
de mayor prioridad que deben realizarse.
o No Corresponde al recurso: este estado es asignado por el DEV cuando la incidencia
asignada no le corresponde corregirla, permitiéndole al PM asignarla al
programador correspondiente.
o No Aplica Desarrollo: cuando el DEV o el PM interpretan que el error reportado no es
tal. Las posibles causas son: inconsistencia en la documentación, factibilidad técnica,
etc.
o Falta Definición Cliente: es cuando para un error reportado no se sabe que acción
seguir, por ejemplo si debe corregirse ó si no aplica, debido a que no hay una definición
clara por parte del Cliente de cuál es el funcionamiento esperado.
o Cerrado: cuando el STE comprueba que el error ha sido corregido, es decir, vuelve a
ejecutar el Caso de Prueba y ya no se produce el error que había sido reportado.
o Corregido: cuando el DEV ha corregido el error, es decir, vuelve a ejecutar el Caso de
Prueba y ya no se produce el error reportado.
o No se pudo reproducir: cuando el DEV ejecuta el Caso de Prueba para reproducir el
error reportado y proceder a su corrección, pero el mismo no se produce.
o Asignado: cuando el PM asigna un DEV al Evento para que éste corrija el error
reportado.
- Todos los problemas que continúan abiertos están siendo revisados por los responsables para
definir el impacto potencial y ser formalmente diferidos con un estimado apropiado. [Puede
suceder que el cliente adelante la liberación de un módulo/funcionalidad, y que todavía no se
hayan cerrado todos los eventos reportados. En este caso se libera dicho módulo al cliente para
que realice la prueba de aceptación aclarando que aún tiene eventos (incidencias, errores)
abiertos. Se hace una nueva planificación considerando el impacto y los riesgos para cerrar los
puntos pendientes. Esta situación puede tener varias causantes, no únicamente el ejemplo que
demos aquí.]
- Todas las fases de Testing completadas. [Planificación de testing ; Ejecución del Testing;
Aceptación del Testing; Revisiones por Pares]
- La solución será entregada y posteriormente probada por el cliente. Los errores resultantes del
Testing de Aceptación se clasifican en distintos niveles de criticidad (Muy Severo, Severo, Muy
Conveniente Resolver, Conveniente Resolver).
Como condición de aceptación, se considera que la solución, un subsistema o un módulo son
aceptables cuando, como resultado de la ejecución del “Test de Aceptación” se encuentre una
distribución en la criticidad de los errores que sigan los siguientes porcentajes respecto a la
totalidad de los casos de prueba:
Plan de testing
Criticidad del Error
% sobre Totalidad de Casos de Prueba
Alta
Media
Baja
0%
1%
5%
7 de 15
Cuando el cliente apruebe la entrega de la solución y su funcionamiento, mediante las cartas de
aceptación, será responsable del uso de la solución.
6.5
Suspensión y cambios en los Requerimientos
Los procesos de prueba se suspenderán y el desarrollador será contactado dadas las siguientes
circunstancias:
-
6.6
Revisión de fallas básicas
Múltiples anomalías de alto nivel de prioridad (Crítico)
Múltiples anomalías de nivel medio que no corresponden a las especificaciones
Procedimiento para el Reporte de Defectos
Se evalúan los casos de prueba con el estado de Ejecutado OK / Ejecutado Error comparando los
resultados obtenidos en la ejecución de los casos de prueba contra los resultados esperados. Si los
resultados obtenidos coinciden exactamente con los resultados esperados descriptos en el caso de prueba,
el caso de prueba tendrá un estado de Ejecutado OK. Si los resultados actuales no coinciden con los
resultados esperados listados en el caso de prueba, el caso de prueba es fallido y tendrá un estado
Ejecutado Error. Cada vez que un caso de prueba queda en estado Ejecutado Error se genera un evento
que debe ser calificado según su criticidad de la siguiente manera:
Criticidad
Alta
Media
Baja
Ninguno
Descripción
Son eventos producto del mal funcionamiento del sistema
impidiendo continuar con su uso.
Son eventos graves que pueden no afectar el funcionamiento del
sistema pero necesitan ser corregidos.
Es un aporte al sistema que mejora la funcionalidad de los
procesos
Indica que el evento no presenta ningún tipo de criticidad
Se define entonces como evento a aquellos pedidos de cambios correctivos que surgen a partir de que un
caso de prueba queda en estado Ejecutado Error.
6.7
Plan de Trabajo de Testing
A continuación se detallan los tipos de testing a realizar en el proyecto GIT y en qué ambientes se llevarán
a cabo.
Tipos de testing
Testing de unidad
Testing de integración
Testing funcional
Testing no funcional
Testing de regresión
Testing de aceptación
Plan de testing
Desarrollo
Ambientes
Testing













Producción






8 de 15
6.8
Entregables
Nombre
Entregables
Descripción




Ubicación








6.8.1 Casos de Prueba
Los casos de prueba son un conjunto de acciones, datos de prueba, y los resultados de la prueba
esperados desarrollados para un objetivo específico de la prueba
El detalle de los Casos de Prueba para el Testing de Unidad se encontrar en una planilla Excel.
6.8.2 Estado de las Pruebas / Reportes de Progreso
Dentro del plan de trabajo de testing se deben establecer regularmente puntos de control para verificar el
progreso. Para cada punto de control un reporte de estado podrá ser consultado en el informe
correspondiente, que incluirá la siguiente la información:
-
Cantidad de casos de prueba definidos
Eventos reportados
Eventos en curso clasificados por criticidad
Eventos clasificados por estado
6.8.3 Reporte Final de las Pruebas
Al completar todas las fases del Testing, se podrán consultar Informes gráficos sobre el estado del mismo,
en el informe correspondiente, que incluirá:
-
7
7.1
Cantidad de casos de prueba definidos
Eventos reportados
Eventos en curso clasificados por criticidad
Eventos clasificados por estado
Informe de Pruebas No Funcionales
Anexo Control de Cambios Nro. XX
Descripción del Cambio e Impacto del mismo
A continuación se especifica el link al gantt del proyecto GIT para llevar el control de las actividades de
testing que deben realizarse: Test de Unidad *2, Testing Funcional Troncal*2, Escritura de Casos de Prueba,
Revisiones de Casos de Prueba*4, Ejecución de Casos de Prueba (Funcionales y de Integración, No
Funcionales *1, Regresión *3, Aceptación) y Ejecución de Pruebas del Cliente *5.
Nota:
*1: Si el Testing No Funcional se va a realizar por más de una estrategia (stress, instalabilidad, etc.) es posible abrir esta actividad
según sea necesario.
Plan de testing
9 de 15
*2: a) Si las piezas de código a testear son realizadas por más de un DEV, es posible encontrar esta actividad por cada DEVs
participante.
b) Para el Testing de Unidad es posible identificar las piezas de código a testear.
*3: Si bien el Testing de Regresión es difícil planificarlo, ya que se debe realizar ante cambios en el sistema, es conveniente
estimar el tiempo del mismo en base a la cantidad de casos de prueba identificados para el mismo y una cantidad estimada de
cambios al sistema.
*4: La identificación de los módulos a revisar debe ser realizada por el STE Coordinator del proyecto en base a la estimación de
tiempos consensuada con el PM en el momento de realizar la propuesta.
*5: La ejecución de las pruebas debe planificarse para cada ciclo de pruebas que el cliente realice.
8
8.1
Anexo Metodología de Testing
Conceptos de Testing
Para clasificar los conceptos de testing se definen:
o
Niveles de testing: los cuales indican el nivel de granularidad del mismo
o
Tipos de testing: Describen un procedimiento con un objetivo concreto, puede realizarse
aplicando una o más estrategias en función de las características a testear.
o
Estrategias: Describen un procedimiento para testear una característica especifica del
objeto del testing.
Son obligatorios los siguientes test: Testing Funcional Troncal, Testing de Integración, Testing de
Sistema y Testing de Aceptación.
El Testing de Unidad se realizará sólo en aquellos casos en los que se exprese la necesidad de
incluirlo.
Niveles de Testing
Testing de Unidad
Testing Funcional Troncal
Testing de Integración
Tipos de Testing
Descripción
Testing de Unidad
Es realizado por el desarrollador. Verifica que el
código de cada componente trabaja de acuerdo a
sus especificaciones y valida la lógica del programa.
Se utiliza la estrategia de caja blanca *1.
Testing Funcional
Troncal
Es ejecutado por el desarrollador. Los casos de
prueba se deben diseñar de forma tal que se recorra
el camino básico de ejecución del módulo y deben
ser identificados en la herramienta de confección de
casos de pruebas. Este testing debe asegurar una
calidad mínima del desarrollo que se entrega a
testing *1.
Testing de
Integración de
primer nivel
Es realizado por el desarrollador. Verifica que las
interfaces entre las componentes y la aplicación
funcionan correctamente y verifica que las interfaces
entre las entidades externas y las aplicaciones
funcionan correctamente. Se puede aplicar una
estrategia no incrementa o incremental (ascendente
o descendente) *1.
Testing de
Integración de
segundo nivel
Es realizado por el tester. Verifica la relación de
integración de funcionalidad que se da entre los
diferentes casos de usos del sistema *1.
Testing Funcional
Es realizado por el tester. Consiste en probar la
funcionalidad de un sistema, a partir de cumplir con
los requerimientos, sin tener en cuenta la forma en
cómo
éste
resuelve
internamente
las
especificaciones. Se utiliza la estrategia de caja
negra *1.
Testing No
Funcional
Es realizado por el tester. Consiste en verificar el
cumplimiento de los requerimientos no funcionales.
Se pueden aplicar los siguiente tipos de estrategias:
Performance (stress, capacidad, estabilidad,
volumen y carga ), configuration, compatibility,
security (caso de prueba sobre los distintos
Testing de Sistema
Plan de testing
10 de 15
permisos de usuarios) installability, usabilidad*1.
Testing de Aceptación
Testing de
Regresión
Es realizado por el tester. Valida, ante un cambio en
el sistema, que las partes del mismo, que no hayan
cambiado continúen funcionando correctamente,
luego de implementada la modificación. Se ejecutan
casos de prueba seleccionados de entre los que se
definieron para Testing Funcional y Testing No
Funcional *1.
Testing de
Aceptación
Es realizado por el cliente y, opcionalmente, puede
ser acompañado del tester. Valida el cumplimiento
de los requerimientos a partir del punto de vista del
usuario. Se ejecutan casos de prueba seleccionados
de entre los que se definieron para Testing de
Sistema *1.
Automatización de Testing
Automatización de
Testing
Testing de Performance
Testing
Performance
de
Es Opcional. Consiste en automatizar tareas
repetitivas como generación de datos, múltiples
regresiones y Workflows.
La automatización de testing permite que estas
mismas tareas realizadas, generalmente por el
tester o el desarrollador, sean realizadas por una
aplicación *1.
La finalidad de realizar pruebas de performance es
predecir anticipadamente problemas de rendimiento
y degradación de recursos del sistema antes de su
paso a producción, y facilitar su corrección *1.
*1: La descripción detallada de los tipos de testing y sus distintas estrategias se describen en el proceso de Testing
La existencia de un proceso de Testing implica que la funcionalidad del sitio y su contenido serán
desarrollados y entregados para pruebas como una serie de entregables de acuerdo con el plan de
trabajo general.
Este acercamiento facilita la integración del Testing dentro del ciclo de vida del proyecto y maximiza
la concurrencia del desarrollo con los esfuerzos de la prueba, mientras minimiza la necesidad de
repetir pruebas. En las fases tempranas del Testing, el énfasis estará en la verificación funcional de
páginas individuales y sus componentes funcionales. Este énfasis cambiará hacia la navegación,
flujo del proceso, y la verificación de la interfase durante el Testing de integración y finalmente la
verificación de la funcionalidad, ejecución y confiabilidad de las pruebas en un caso de prueba endto-end, una vez que se complete la integración del sitio.
El propósito de realizar el testing es:
-
-
8.2
Verificar la conformidad con los requerimientos, ejecutando todos los elementos de la prueba
end-to-end sobre el sistema completo en un ambiente de pruebas (espejo del ambiente de
producción).
Evaluar la eficiencia del sistema para uso operacional por encima de las expectativas de
aceptación del cliente.
Además de comprobar las múltiples funcionalidades del programa, se evaluarán las interfaces
externas y su seguridad.
Descripción de los tipos de Testing
8.2.1 Testing de Unidad
Este tipo de test se enfoca en un segmento relativamente pequeño de código verificando su
correcto funcionamiento y robustez desde el punto de vista interno. Se trata de verificar que la
pieza de software administre correctamente situaciones inverosímiles de ingreso de datos y
operación, a fin de que no finalice imprevistamente.
Plan de testing
11 de 15
Para esto los casos de prueba deben diseñarse de forma tal que se recorran todos los caminos de
ejecución posibles dentro del código bajo prueba; por lo tanto deben construirlos con acceso al
código fuente de la unidad a testear.
8.2.2 Testing Funcional Troncal
Testing funcional que recorre el camino básico. Es un conjunto de casos de prueba que permiten
asegurar una calidad mínima.
El STEO o STEC define los Casos de Prueba a ejecutar que forman parte del test funcional troncal.
El desarrollador es el responsable de ejecutarlo.
8.2.3
Testing de Integración
1. Test de Interacción de Primer Nivel: es realizado por el desarrollador. El objetivo de las pruebas
de integración es verificar si los componentes o subsistemas interactúan correctamente a través de
sus interfaces, tanto internas como externas, cubren la funcionalidad establecida, y se ajustan a los
requisitos especificados en las verificaciones correspondientes.
2. Test de Interacción de Segundo Nivel: es realizado por el Tester. El objetivo de estas pruebas es
verificar la relación de integración de funcionalidad que se da entre diferentes casos de uso del
sistema.
8.2.4
Testing Funcional
Consiste en probar la funcionalidad de un programa sin tener en cuenta la forma en cómo éste
resuelve internamente las especificaciones que debe cumplir. El objetivo de esta prueba es
verificar que la pieza de software desarrollada produce los resultados esperados de acuerdo a los
requerimientos.
Los casos de prueba se construyen a partir de los requerimientos del programa, aplicando las
metodologías de caja negra: en esta técnica es posible aplicar distintos métodos por separados o
en combinación.
A) Particiones de equivalencia, B) Análisis de valores límites, C) Gráficos causa-efecto,
D) Conjetura de Errores.
También es posible tener en cuenta valores esperados, valores inválidos (otro tipo de datos) y
valores inesperados.
8.2.5
Testing No Funcional
Estos tests permiten verificar diferentes aspectos no relacionados con la funcionalidad del sistema,
tales como performance, instalación, seguridad (casos de prueba sobre los distintos permisos de
los usuarios) interfaces de usuarios (look and feel) y usabilidad.
Metodológicamente estos tests se ejecutan igual a un test de sistema, en el ambiente de testing,
para probar ciertos aspectos no funcionales del sistema.
8.2.6
Testing de Regresión
Se probará que aquellos programas no afectados por cambios siguen cumpliendo su función
correctamente. También deberán ser probadas las rutinas críticas de programas que hayan sido
modificados, y que no estén alcanzadas por los cambios.
Metodológicamente, este Test tiene la misma estructura que el Test de Funcionalidad, pero los
casos de prueba del mismo son una selección de aquellos que ejercitan las funciones críticas y los
casos de prueba de tests funcionales que detectan errores que ya han dado problemas de
regresión previamente. Puede contener casos de prueba definidos para Testing No Funcional.
8.2.7
Testing de Aceptación
Previa a la puesta en producción, se someterá al producto a un conjunto de casos de prueba que
permitirán certificar la calidad del mismo desde la óptica de los usuarios. Los casos de prueba a
Plan de testing
12 de 15
ejecutar son seleccionados de los definidos para Testing Funcional y es posible incluir casos de
prueba definidos para Testing No Funcional, según sea conveniente.
La ejecución de este test se realizará en conjunto con el cliente.
8.2.8
Automatización deTesting
La automatización de pruebas, o de acciones que realizan los usuarios repetidamente sobre las
aplicaciones, puede realizarse con distintas herramientas de automatización existentes en el
mercado creando paquetes de pruebas mediante scripts para:
-
8.2.9
hacer tareas repetitivas de generación de datos para las pruebas o el cliente.
cargar datos y facilitar la implementación de la aplicación en producción.
detectar rápidamente errores importantes que puedan detener una corrida de pruebas.
correr pruebas diariamente para asegurar que se puede comenzar las pruebas manuales sin
errores bloqueantes.
realizar múltiples regresiones.
hacer pruebas de compatibilidad.
cubrir tests de aceptación del cliente mostrando la funcionalidad de la aplicación y su
estabilidad.
Testing de Performance
El Objetivo del Testing de Performance es predecir anticipadamente problemas de rendimiento y
degradación de recursos del sistema antes de su paso a producción, y facilitar su corrección.
El testing de Performance:
- determina las características de velocidad, escalabilidad y estabilidad de una aplicación.
- se enfoca en determinar si el usuario del sistema va a estar satisfecho con las características
de performance de la aplicación.
- identifica coincidencias entre las expectativas de performance y la realidad
- soporta tunning, capacidad de planeamiento y optimización del trabajo.
Los principales son:
- Stress Testing. Mide como reacciona el sistema luego de que este sobrepasa sus límites o
sufre una caída por sobrecarga. Nos indica como va a reaccionar el sistema cuando este pasa
su límite de funcionamiento.
- Load Testing. Ayuda a definir la máxima carga de trabajo que un sistema puede manejar sin
tener una significante degradación de la performance del mismo. La diferencia con stress
testing es que este último evalúa la medida en que el sistema continúa trabajando cuando se
somete a cargas de trabajo extremas o cuando algunos de su hardware o software se han visto
comprometida.
8.3
Alcance del Testing
A continuación se lista y describe la naturaleza del Testing a realizar y las áreas de concentración.
8.3.1 Generación de la documentación
La generación de los documentos será revisada con exactitud y conforme a los requerimientos
declarados para el proyecto GIT.
8.3.2 Navegación del Sitio
Test de usabilidad: El Testing se ejecutará para verificar la navegación y los destinos correctos de
cada link implementados en cada página. Todos los links rotos o páginas huérfanas se identificarán
y se resolverán.
8.3.3 Verificación de los Requerimientos del Cliente
El Testing se ejecutará para verificar la correcta implementación de todos los requerimientos
funcionales y no funcionales acordados para el proyecto GIT.
Plan de testing
13 de 15
8.3.4 Verificación Funcional
El Testing se ejecutará para asegurar la correcta funcionalidad de los componentes especializados
tales como búsquedas, calculadoras y formas especiales.
8.3.5 Validación de Datos y Manejo de Errores
El Testing se ejecutará para verificar la correcta funcionalidad de los datos de entrada y asegura la
correcta recuperación de datos inválidos, perdidos, u otras condiciones del error.
8.3.6 Compatibilidad de Plataformas y Navegadores
La correcta funcionalidad del software implementado será totalmente verificada en los ambientes
identificados, además de los sistemas operativos y navegadores indicados, que hayan sido
definidos como posibles escenarios donde se ejecute el sistema.
8.3.7 Formato y Presentación
El Testing contemplará la verificación de uniformidad y presentación del formato de acuerdo al
desarrollo creativo del cliente, siguiendo los estándares visuales (loor and feel) establecidos para el
desarrollo del sitio.
9
Anexo Supuestos y riesgos del Testing
9.1
Supuestos
Ésta es una lista de supuestos básicos sobre cómo será administrado el proyecto en lo que afecta al
Testing. Si estos supuestos no se han tomado en cuentas, se volverán riesgos.
- Todos los requerimientos funcionales son definidos sobre la base de las necesidades del usuario.
- El ambiente de Testing es configurado como un espejo del ambiente de producción y acorde con
lo indicado en la propuesta como requerimientos de hardware y software de base en servidores.
- Los DEVs (Developers o equipo de desarrollo) ejecutan pruebas unitarias, indicadas por Testing,
antes de indicar que los módulos están listos para ser testeados..
- El número de casos de prueba y los tipos de tesing a realizar tendrá un impacto directo sobre el
total de tiempo que se toma para la ejecución del plan de pruebas.
- Durante el proceso de Testing, todas las interfaces requeridas están disponibles y accesibles en
el ambiente de Testing.
- Las pruebas se correrán en la versión actual del sistema GIT en el ambiente de Testing.
- El Testing se realizará en un ambiente controlado.
- El grupo de Testing no probará la documentación del usuario.
- Testing asignará la prioridad y la severidad de los defectos sobre la base de un lineamiento
definido con anterioridad.
- El Project Manager (PM) en conjunto con el Solution Tester (STEC) Coordinator desarrollarán el
Plan de Trabajo necesario para ejecutar las pruebas de Testing y su administración.
- El PM será el responsable de la pronta resolución de todos los defectos encontrados.
- La resolución de los defectos no impide que Testing siga haciendo pruebas.
- Suficiente tiempo ha sido considerado dentro del cronograma para todas las fases de Testing a
realizar.
9.2
Riesgos
Ésta es una lista de factores de riesgo que causarían que el proyecto se atrasara o no alcanzará las metas
de calidad.
- Falta de tiempo para ejecutar casos de prueba de los diferentes tipos de testing.
- No se cumplió con los criterios de entrada para comenzar el Testing.
- El documento de los Requerimientos Funcionales o Casos de uso no se actualiza a medida que
se solicitan correcciones de defectos. Por lo tanto los escenarios pueden ser inválidos.
- Desarrollo no incremental de los productos de software. El grupo de Testing recibe el sistema en
grandes bloques y no relacionados entre sí.
Plan de testing
14 de 15
Plan de testing
15 de 15
Documentos relacionados
Descargar