UNIVERSIDAD NACIONAL DE TRUJILLO
ESCUELA ACADÉMICO PROFESIONAL DE INGENERÍA DE SISTEMAS
2017
UNIVERSIDAD NACIONAL DE TRUJILLO TECNOLOGÍA DE LA PROMAGACIÓN II
"AÑO DE LA CONSOLIDACIÓN DEL MAR DE GRAU "
TEMA:
Pruebas de Software DOCENTE:
Mg. Vidal Melgarejo, Zoraida Yanet
CURSO:
Tecnología de La Programación II ALUMNO: Aranda Aranda
Carranza Jean Piero
García García
Hipólito, Irvin Luis Alonso
Ruiz Ruiz
Obando, Ronald Alexander
Sucre Sucre
Gamboa, Carlos Andrés
Vargas Vargas
Ríos, Junior Edward
CICLO:
V
PRUEBAS DE SOFWA SOFWARE RE - 2017-0
Página 2 de 48
UNIVERSIDAD NACIONAL DE TRUJILLO TECNOLOGÍA DE LA PROMAGACIÓN II
PRUEBAS DE SOFWARE Contenido .................................................. ................................. ................................. .................................. ........................... .......... 5 1. INTRODUCCIÓN: ................................. 2. DEFINICIONES ASOCIADAS: ............................... ................................................ .................................. .................................. ........................ ....... 6 2.1. VERIFICACIÓN: Es el proceso de evaluación de un sistema (o de uno de sus
componentes) para determinar si los productos de una fase dada satisfacen las condiciones ................................................. ................................. .................................. ........................ ....... 6 impuestas al comienzo de dicha fase. .................................
2.2.
................................................ ................................. ................................. .................................. ........................... .......... 6 VALIDACIÓN: ...............................
2.3.
................................................. ................................. ................................. ................................. ................... .. 6 PRUEBAS (TEST): .................................
2.4.
................................................ .................................. ........................... .......... 7 CASO DE PRUEBA (TEST CASE) ...............................
2.5.
........................................................ ........................... ........... 7 DEFECTO ( DEFECT FAULF “BUG”):. ........................................
2.6.
................................................ .................................. ................................. ................................. ................... .. 7 FALLO (FAILURE): ...............................
2.7.
................................................. ................................. ................................. ................................. ................... .. 7 ERROR (ERROR): .................................
2.8.
........................................................ .................. .. 8 IDEAS PARADOJICAS DE LAS PRUEBAS: .........................................
2.9.
............................... 8 RECOMENDACIONES PARA UNAS PRUEBAS EXITOSAS: ...............................
2.10.
................................................. ................................. ................ 9 PROCESO DE PRUEBAS SOFWARE: ................................
................................................. ................................. ................................. ................................1 ...............12 2 3. PRUEBAS DE SISTEMA ................................ ................................................ .................................. .................................. .........................12 .........12 3.1. PRUEBAS UNITARIAS: ................................
3.3.
................................................. .................................. ................................. .................14 .14 PRUEBAS DE REGRESIÓN: ................................
3.4.
PRUEBA DE HUMO ( SMOKE TESTING O AD HOC ) .................................. ........................................15 ......15
3.5.
................................................. ................................. .................................. .......................16 ......16 PRUEBAS DE SISTEMA: .................................
3.6.
................................................ .................................. ................................. .................18 .18 PRUEBAS DE DESEMPEÑO: ...............................
................................................ .................................. ................................. ................................. ..................19 .19 3.7. PRUEBA DE CARGA: ............................... ................................................. ................................. ................................. ................................. ..................19 .19 3.8. PRUEBA DE STRESS ................................. ................................................ .................................. ................................. ............................2 ............21 1 3.9. PRUEBAS DE VOLUMEN ...............................
PRUEBAS DE SOFWA SOFWARE RE - 2017-0
Página 3 de 48
UNIVERSIDAD NACIONAL DE TRUJILLO TECNOLOGÍA DE LA PROMAGACIÓN II
...................................23 ....23 3.10 PRUEBAS DE RECUPERACION Y TOLERANCIA A FALLAS ............................... ................................................ .................................. .............................2 ............25 5 3.11. PRUEBA DE MULTIPLES SITIOS: ...............................
3.12. PRUEBA DE COMPATIBILIDAD COMPATIBILIDAD Y CONVERSION: CONVERSION: ................................. ................................................. .................26 .26 ...............................27 7 3.13. PRUEBAS DE INTEGRIDAD DE DATOS Y BASE DE DATOS ...............................2
3.14. PRUEBAS DE SEGURIDAD Y CONTROL DE ACCESO ................................. ..........................................27 .........27
4. PRUEBAS DE VALIDACION A SISTEMAS A LA MEDIDA: ................................. .......................................30 ......30 4.1. PRUEBA DEL CICLO DEL NEGOCIO ............................... ............................................... .................................. .....................30 ...30 4.2.
................................................ .................................. ................................. ................................. ..................31 .31 PRUEBA DE GUIA: ...............................
4.3.
PRUEBAS DE ESTILO ............................... ................................................ .................................. ................................. ............................3 ............31 1
4.4.
................................................ .................................. ................................. .................32 .32 PRUEBAS DE ACEPTACION ...............................
4.5.
................................................. .................................. ................................3 ..............33 3 PRUEBAS DE INSTALACION .................................
4.7.
PRUEBAS DE DOCUMENTACION Y PROCEDIMIENTO ................................. ....................................35 ...35
4.8.
................................................. .................................. .................................. ....................36 ...36 PRUEBA DE USABILIDAD ................................
4.9.
PRUEBA DE CAMPO ............................... ................................................ ................................. ................................. ................................3 ...............37 7
.............................37 7 5. PRUEBAS DE VALIDACIONES A APLICACIONES GENÉRICAS .............................3 5.2. PRUEBAS BETA ................................. ................................................. ................................. ................................. .................................. .....................38 ...38
6.
.............................38 8 DISEÑO DE CAOSOS DE PREBA ( VALORES INTERESANTES) .............................3
................................................ .............................3 ............39 9 7. OBTENCIÓN DE VALORES INTERESANTES: ............................... .................................................. .................................. .......................41 ......41 9. DOCUMENTO DISEÑO DE PRUEBAS: ................................. ................................................. .................................. ................................4 ..............41 1 9.1. ESCENARIOS DE PRUEBAS: .................................
9.2.
................................................ .................................. .................................. .......................41 ......41 EVENTOS DE PRUEBAS: ...............................
9.3.
................................................. ................................. ................................. .............................4 ............42 2 CASOS DE PRUEBAS ................................
9.4.
................................................. .......................44 ......44 MATRIZ DE TRAZABILIDAD DE PRUEBAS: ................................
9.5.
................................................. .......................44 ......44 EJECUCION DE PRUEBAS DE SOFTWARE: ................................
9.6.
................................................ ..........................45 .........45 PROCESO DE UNA EJECUCION FORMAL: ...............................
10. 11.
.................................................. .........................48 .........48 EJEMPLOS DE EJECUCION DE PRUEBAS: .................................. BIBLIOGRAFÍA: ............................... ................................................ ................................. ................................. .................................. ..........................48 .........48
PRUEBAS DE SOFWA SOFWARE RE - 2017-0
Página 4 de 48
UNIVERSIDAD NACIONAL DE TRUJILLO TECNOLOGÍA DE LA PROMAGACIÓN II
1. INTRODUCCIÓN: En la actualidad, las empresas , por lo general, no acostumbran a llevar procesos de prueba formales en el desarrollo de productos de software, a pesar de la existencia de un sinnúmero de modelos especializados, como el Modelo de Madurez de Pruebas Integrado (TMMI), el Proceso de Mejoramiento de Pruebas (TPI) y el Enfoque de Gestión de Pruebas (TMAP); la razón principal de esta falencia radica en que estos modelos plantean cómo mejorar el proceso de pruebas a través del cumplimiento de objetivos y prácticas específicas, sin embargo, no plantean cómo llegar a realizarlas. La prueba de Software es un proceso que se realiza por diversos motivos, conscientemente o de manera casual, pero que se reduce a unos cuantos pasos: se ejecuta el programa (o parte del mismo) en ciertas condiciones, aplicando un conjunto de valores a sus entradas y se observa su respuesta; si esta resulta la esperada o al menos resulta aceptable, entonces se repite con otros valores o otras condiciones. En cierto momento se da por concluido el proceso y se toma una decisión: aceptar el producto como razonablemente bueno o rechazarlo, regresándolo a revisión. Este proceso puede realizarse de manera sencilla e informal o de modo muy riguroso y elaborado, pero siempre bajo el mismo principio, que es de tipo experimental. En su sencillez, el proceso descrito deja una serie de interrogantes:
¿Por qué lo hacemos?
¿Para qué sirve?
¿Cómo determinar las condiciones y entradas adecuadas?
¿Cómo saber que la respuesta obtenida es correcta?
¿Cuántas veces debe repetirse o cómo saber cuándo parar? Y
¿Debe aceptarse un producto después de cierto número de intentos?
En este capítulo se detallará y definirá el proceso descrito y se buscará respuesta a los interrogantes.
PRUEBAS DE SOFWARE - 2017-0
Página 5 de 48
UNIVERSIDAD NACIONAL DE TRUJILLO TECNOLOGÍA DE LA PROMAGACIÓN II
2. DEFINICIONES ASOCIADAS: 2.1. VERIFICACIÓN: Es el proceso de evaluación de un sistema (o de uno de sus componentes) para determinar si los productos de una fase dada satisfacen las condiciones impuestas al comienzo de dicha fase.
2.2.
VALIDACIÓN: El proceso de evaluación de un sistema o de uno de sus componentes durante o al final del proceso de desarrollo para determinar si satisface los requisitos marcados por el usuario.
2.3.
PRUEBAS (TEST): “Una actividad en la cual un sistema o uno de sus componentes se ejecuta en
circunstancias previamente especificadas, los resultados se observan y registran y se realizan una evaluación de algún aspecto”.
PRUEBAS DE SOFWARE - 2017-0
Página 6 de 48
UNIVERSIDAD NACIONAL DE TRUJILLO TECNOLOGÍA DE LA PROMAGACIÓN II
2.4.
CASO DE PRUEBA (TEST CASE) Un conjunto de entradas, condiciones de ejecución y resultados esperados desarrollados para un objetivo particular.
2.5.
DEFECTO ( DEFECT FAULF “BUG”):
Un defecto en el software como, por ejemplo, un proceso, una definición de datos o un paso de procesamiento incorrectos en un programa.
2.6.
FALLO (FAILURE): La incapacidad de un sistema o de alguno de sus componentes para realizar las funciones requeridas dentro de los requisitos de rendimiento especificados.
2.7.
ERROR (ERROR):
Tiene varias excepciones:
La diferencia entre un valor calculado, observado o medido y el valor verdadero, especificado o teóricamente correcto (Fallo).
Un defecto (Defecto).
Un resultado Incorrecto (Fallo).
Una acción humaba que conduce a un resultado incorrecto (Error).
PRUEBAS DE SOFWARE - 2017-0
Página 7 de 48
UNIVERSIDAD NACIONAL DE TRUJILLO TECNOLOGÍA DE LA PROMAGACIÓN II
2.8.
IDEAS PARADOJICAS DE LAS PRUEBAS:
La prueba exhaustiva del software es impracticable (no se pueden probar todas las posibilidades de su funcionamiento ni siquiera en programas sencillos).
El objetivo de las pruebas es la detección de defectos en el software (descubrir un error es el éxito de una prueba).
Mito: Un defecto implica que somos malos profesionales y que debemos sentirnos culpables todo el mundo comete errores.
El descubrimiento de un defecto significa un éxito para la mejora de la calidad.
2.9.
RECOMENDACIONES PARA UNAS PRUEBAS EXITOSAS: Cada casi de prueba debe definir el resultado de salida esperado que se comparará con el realmente obtenido. El programador debe evitar probar sus propios programas, ya que desea (consciente o inconscientemente) demostrar que funcionan sin problema. Además,
es normal que las situaciones que olvido considerar al crear el programa
queden de nuevo olvidados al crear los casos de prueba. Se debe inspeccionar a conciencia el resultado de cada prueba, así, poder descubrir posibles síntomas de defectos. Al generar casos de prueba, se deben incluir tanto datos de entrada válidos y esperados como no válidos e inesperados. PRUEBAS DE SOFWARE - 2017-0
Página 8 de 48
UNIVERSIDAD NACIONAL DE TRUJILLO TECNOLOGÍA DE LA PROMAGACIÓN II
Las pruebas deben centrar en dos objetivos (es habitual olvidar el segundo):
Probar si el software no hace lo que debe hacer.
Probar si el software hace lo que debe hacer, es decir, si provoca efectos secundarios adversos. Se deben evitar los casos desechables, es decir, los no documentados ni diseñados con cuidado.
Ya que suele ser necesario probar muchas veces el software y por tanto hay que tener claro que funciona y que no. No deben hacerse planes de prueba suponiendo que, prácticamente, no hay defectos en los programas y, por lo tanto, dedicando pocos recursos a las pruebas Siempre
hay defectos.
2.10. PROCESO DE PRUEBAS SOFWARE: El proceso de pruebas del software se puede realizar en diversos momentos y por diferentes causas. Sin embargo, el uso principal se da dentro del proceso de desarrollo de software, que puede realizarse de diversas maneras: en una forma secuencial tradicional o de alguna manera iterativa. En cualquiera de ellas existe la actividad de prueba. Se puede descomponer como se muestra en la Figura 2.
El esquema de la Figura 2 es muy general. Si se sigue el proceso secuencial tradicional, las pruebas se realizan en las etapas finales del desarrollo, con poca labor de preparación inicial. La comprobación de que el software cumple lo que se espera de él tiene dos variantes, donde ambas son necesarias: La comprobación de que el software se realizó correctamente, cumpliendo las especificaciones que se fijaron al inicio, llamada verificación. Por otra parte, el asegurarse que el software satisface las necesidades del cliente, es decir, le resuelve su problema, a lo que se denomina validación. Hasta aquí hemos hablado de pruebas como de algo normal, pero, ¿por qué haces pruebas? La principal justificación está en la naturaleza humana, siempre propensa a cometer equivocaciones. Las pruebas deben asegurarse PRUEBAS DE SOFWARE - 2017-0
Página 9 de 48
UNIVERSIDAD NACIONAL DE TRUJILLO TECNOLOGÍA DE LA PROMAGACIÓN II
que cada parte funciones bien que las partes se combinen en subsistemas de manera eficaz y que el conjunto total opere correctamente. Se identifican tres niveles de prueba:
a) Nivel de Unidad: Orientada a las partes aisladas. b) Nivel de Integración: Analizan la interacción de las partes. c) Nivel de Sistemas : Analizan al sistema Completo.
Prueba de los valores limite
Los errores suelen situarse en los límites.
Si la entrada se encuentra en el rango a..b entonces hay que probar con los valores a -1, a, a + 1, b - 1, b y b + 1.
Si la entrada es un conjunto de valores entonces hay que probar con los valores max-1, max, max+1, min-1, min y min+1.
PRUEBAS DE SOFWARE - 2017-0
Página 10 de 48
UNIVERSIDAD NACIONAL DE TRUJILLO TECNOLOGÍA DE LA PROMAGACIÓN II
Prueba de la partición equivalente
Método de prueba de caja negra que divide el dominio de entrada de un programa en un conjunto de clases de datos de los que se pueden derivar casos de prueba
Si la entrada es un código formado por 2 partes, la primera un prefijo opcional de 3 dígitos, que empiece por 9 y la contraseña que sea una cadena de hasta 6 caracteres que empiece necesariamente por una letra y que puede contener letras, dígitos y el símbolo $
PREFIJO
CONTRASE A
Se pueden diseñar casos de prueba, cada uno de los cuales representa a un conjunto de casos de prueba.
PRUEBAS DE SOFWARE - 2017-0
Página 11 de 48
UNIVERSIDAD NACIONAL DE TRUJILLO TECNOLOGÍA DE LA PROMAGACIÓN II
Pruebas en entornos y aplicaciones especializadas
Pruebas sobre ventanas.
Pruebas sobre menús y uso del ratón.
Pruebas de entrada de datos.
Pruebas de documentación y de ayuda.
Ejemplo Al cerrar(minimizar) la ventana se cierra ( minimiza) Al pulsar el botón, aparece en el campo de texto el resultado Buscar ayuda de como utilizar la interfaz
3. PRUEBAS DE SISTEMA 3.1.
PRUEBAS UNITARIAS: A) OBJETOS DE LA PRUEBA: Se focaliza en ejecutar cada módulo (o unidad minima a ser probada, ej = una clase) lo que provee un mejor modo de manejar la integración de las unidades en componentes mayores. Busca asegurar que el código funciona de acuerdo con las especificaciones y que el módulo lógico es válido.
PRUEBAS DE SOFWARE - 2017-0
Página 12 de 48
UNIVERSIDAD NACIONAL DE TRUJILLO TECNOLOGÍA DE LA PROMAGACIÓN II
B) DESCRIPCION DE LA PRUEBA:
Particionar los módulos en pruebas en unidades lógicas fáciles de probar.
Por cada unidad hay que definir los casos de prueba (pruebas de caja blanca).
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, el diseñador debe construirlos con acceso al código fuente de la unidad a probar.
Los aspectos a considerar son los siguientes: Rutinas de excepción, Rutinas de error, Manejo de parámetros, Validaciones, Valores válidos, Valores límites, Rangos, Mensajes posibles.
C) TÉCNICA:
Comparar el resultado esperado con el resultado obtenido.
Si existen errores, reportarlos
D) CRITERIOS DE COMPLETITUD:
Todas las pruebas planeadas han sido ejecutadas.
Todos los defectos que se identificaron han sido tenidos en cuenta.
E) CONSIDERACIONES ESPERCIALES: Para la elaboración de pruebas unitarias en java se puede utilizar el JUNIT y CACTUS.
3.2.
PRUEBAS DE INTEGRACIÓN: A) OBJETOS DE LA PRUEBA:
Identificar errores introducidos por la combinación de programas probados unitariamente.
Determina cómo la base de datos de prueba será cargada.
Verificar que las interfaces entre las entidades externas (usuarios) y las aplicaciones funcionan correctamente.
Verificar que las especificaciones de diseño sean alcanzadas.
PRUEBAS DE SOFWARE - 2017-0
Página 13 de 48
UNIVERSIDAD NACIONAL DE TRUJILLO TECNOLOGÍA DE LA PROMAGACIÓN II
B) DESCRIPCION DE LA PRUEBA: Describe cómo verificar que las interfaces entre las componentes
de software funcionan correctamente.
Determina cómo la base de datos de prueba será cargada.
Determina el enfoque para avanzar desde un nivel de integración de las componentes al siguiente. Decide qué acciones tomar cuando se descubren problemas
C) TECNICAS: Utilizar la técnica top-down. Se empieza con los módulos de nivel
superior, y se verifica que los módulos de nivel superior llaman a los de nivel inferior de manera correcta, con los parámetros correctos. Utilizar la técnica down-top. Se empieza con los módulos de nivel
inferior, y se verifica que los módulos de nivel inferior llaman a los de nivel superior de manera correcta, con los parámetros correctos.
D) CRITERIOS DE COMPLEJIDAD:
Todas las pruebas planeadas han sido ejecutadas.
Todos los defectos que se identificaron han sido tenidos en cuenta.
E) CONSIDERAIONES ESPECIALES : Ninguna 3.3.
PRUEBAS DE REGRESIÓN: A) OBJETIVO DE PRUEBA: Determinar si los cambios recientes en una parte de la aplicación tienen efecto adverso en otras partes.
B) DESCRIPCION DE LA PRUEBA: En esta prueba se vuelve a probar el sistema a la luz de los cambios realizados durante el debugging, mantenimiento o desarrollo de la nueva versión del sistema buscando efectos adversos en otras partes.
PRUEBAS DE SOFWARE - 2017-0
Página 14 de 48
UNIVERSIDAD NACIONAL DE TRUJILLO TECNOLOGÍA DE LA PROMAGACIÓN II
C) TÉCNICA:
La prueba de regresión es una nueva corrida de casos de prueba previos.
Se requiere de políticas para ser creada la prueba de regresión y decidir qué casos de prueba incluir, para probar eficientemente.
La prueba de regresión es un buen candidato para automatización. Desde que estas pruebas se repiten una y otra vez, las herramientas para minimizar el esfuerzo del trabajo son útiles.
La prueba de viejas funcionalidades es más importante que la de nuevas funcionalidades.
Aquellos casos de uso (y los casos de prueba asociados) que descubren defectos tempranamente deben ser incluidos en la prueba de regresión.
D) CRITERIO DE COMPLEJIDAD:
Todas las pruebas planeadas han sido ejecutadas.
Todos los defectos que se identificaron han sido tenidos en cuenta.
E) CONSIDERACIONES ESPERCIALES: NINGUNA 3.4.
PRUEBA DE HUMO ( SMOKE TESTING O AD HOC ) A) OBJETIVOS DE LA PRUEBA: Los objetivos son los siguientes:
Detectar los errores en realeases tempranos y de manera fácil
Probar el sistema constantemente
Garantizar poco esfuerzo en la integración final del sistema
Asegurar los resultados de las pruebas unitarias
Se reducen los riesgos y a baja calidad.
B) DESCRIPCIÓN DE LA PRUEBA: Toma éste nombre debido a que su objetivo es probar el sistema constantemente buscando que saque “humo” o falle. En algunos proyectos
este tipo de prueba va junto con las pruebas funcionales. Permite detectar problemas que por lo regular no son detectados en las pruebas normales. Algunas veces, si las Pruebas ocurren tarde en el ciclo de desarrollo está será una forma de garantizar el buen desarrollo. Las pruebas de humo NO SON exhaustivas, pero van de extremo a extremo de la aplicación PRUEBAS DE SOFWARE - 2017-0
Página 15 de 48
UNIVERSIDAD NACIONAL DE TRUJILLO TECNOLOGÍA DE LA PROMAGACIÓN II
C) TÉCNICA:
Realizar una integración de todo el sistema cada cierto periodo (se recomienda un día, máximo una semana)
Realizar los casos de prueba asignados a los casos de uso finalizados ese día más los realizados en días anteriores
Buscar eficientemente errores
D) CRITERIOS DE COMPLETITUD: Todas las pruebas planeadas han sido ejecutadas. Todos los defectos que se identifcaron han sido tenidos en cuenta.
E) CONSIDERACIONES ESPECIALES: Cuando se encuentre un error en el release correspondiente al periodo elegido para hacer las integraciones del sistema, se detiente el desarrollo hasta que el error es corregido. Este tipo de pruebas es útil en la programación extrema (extremme programming) y de sistemas complejos. Es útil el uso de programas de prueba automáticas que se encarguen de probar os casos de prueba ya ejecutados en realeases anteriores.
3.5.
PRUEBAS DE SISTEMA: A) OBJETIVO DE PRUEBA: Asegurar la apropiada navegación dentro del sistema, ingreso de datos, procesamiento y recuperación.
B) DESCRIPCION DE LA PRUEBA: Las pruebas del sistema deben enfocarse en requisitos que puedan ser tomados directamente de casos de uso y reglas y funciones de negocios. El objetivo de estas pruebas es verificar el ingreso, procesamiento y recuperación apropiado de datos, y la implementación apropiada de las reglas de negocios. Este tipo de pruebas se basan en técnicas de caja negra, ésto es, verificar el sistema (y sus procesos internos), la interacción con las aplicaciones que lo usan via GUI y analizar las salidas o resultados. En esta prueba se determina qué pruebas de Sistema (usabilidad, volumen, desempeño, etc.) asegurarán que la aplicación alcanzará sus objetivos de negocio. La prueba de Sistema incluye: PRUEBAS DE SOFWARE - 2017-0
Página 16 de 48
UNIVERSIDAD NACIONAL DE TRUJILLO TECNOLOGÍA DE LA PROMAGACIÓN II
Prueba funcionalidad Prueba de Usabilidad Prueba de Performance Prueba de Documentación y Procedimientos Prueba de Seguridad y Controles Prueba de Volumen Prueba de Esfuerzo (Stress) Prueba de recuperación Prueba de múltiples sitios Para sistemas web se recomienda especialmente realizar mínimo el siguiente grupo de pruebas de sistema: • Humo. • Usabilidad • Performance • Funcionalidad
Para capitalizar el trabajo hasta ahora completado, los casos de prueba de las pruebas previas realizadas pueden frecuentemente ser reorganizados y rehusados durante la prueba de sistema. No obstante, deben ser desarrollados casos de prueba adicionales para aquellos aspectos del sistema, tales como documentación, procedimientos y desempeño que no han sido probados durante la prueba unitaria y de integración. La prueba de sistema es compleja porque intenta validar un número de características al mismo tiempo, a diferencia de otras pruebas que sólo se centran en uno o dos aspectos del sistema al mismo tiempo.
C) TÉCNICA: Ejecute cada caso de uso, flujo básico o función utilizando datos válidos e inválidos, para verificar que:
Los resultados esperados ocurren cuando se utiliza un dato válido.
Los mensajes de error o de advertencia aparecen en el momento adecuado, cuando se utiliza un dato inválido.
Cada regla de negocios es aplicada adecuadamente.
D) CRITERIOS DE COMPLETITUD:
Todas las pruebas planeadas han sido ejecutadas.
Todos los defectos que se identificaron han sido tenidos en cuenta.
PRUEBAS DE SOFWARE - 2017-0
Página 17 de 48
UNIVERSIDAD NACIONAL DE TRUJILLO TECNOLOGÍA DE LA PROMAGACIÓN II
E) CONSIDERACIONES ESPECIALES: Identifique o describa aquellos aspectos (internos o externos) que
impactan la implementación y ejecución de las pruebas del Sistema.
3.6.
PRUEBAS DE DESEMPEÑO: A) OBJETIVO DE LA PRUEBA: Validar el tiempo de respuesta para las transacciones o funciones de negocios bajo las siguientes dos condiciones:
Volumen normal anticipado
Volumen máximo anticipado.
B) DESCRIPCIÓN DE LA PRUEBA: Las pruebas de carga miden la capacidad del sistema para continuar funcionando apropiadamente bajo diferentes condiciones de carga. La meta de las pruebas de carga es determinar y asegurar que el sistema funciona apropiadamente aún más allá de la carga de trabajo máxima esperada. Adicionalmente, las pruebas de carga evalúan las características de desempeño (tiempos de respuesta, tasas de transacciones y otros aspectos sensibles al tiempo).
C) TÉCNICAS: Use los scripts desarrollados para Pruebas del Negocio. Modifique archivos de datos (para incrementar el número de transacciones o veces que cada transacción ocurre).
D) CRITERIOS DE COMPLEJITITUD: Múltiples transacciones, múltiples usuarios. Se completaron las pruebas de los scripts sin ninguna falla y dentro del tiempo esperado.
E) CONSIDERACIONES ESPECIALES:
Las pruebas de carga deben ser ejecutadas en una máquina dedicada o en un tiempo dedicado. Esto permite control total y medidas precisas.·
La Base de datos utilizada para pruebas de desempeño debe ser de un tamaño real o proporcionalmente más grande que la diseñada.
PRUEBAS DE SOFWARE - 2017-0
Página 18 de 48
UNIVERSIDAD NACIONAL DE TRUJILLO TECNOLOGÍA DE LA PROMAGACIÓN II
3.7. PRUEBA DE CARGA:
A) OBJETIVOS DE PRUEBA: Verificar el tiempo de respuesta del sistema para transacciones o casos d e uso de negocios, bajo diferentes condiciones de carga.
B) DESCRIPCION DE LA PRUEBA: Las pruebas de carga miden la capacidad del sistema para continuar funcionando apropiadamente bajo diferentes condiciones de carga. La meta de las pruebas de carga es determinar y asegurar que el sistema funciona apropiadamente aún más allá de la carga de trabajo máxima esperada. Adicionalmente, las pruebas de carga evalúan las características de desempeño (tiempos de respuesta, tasas de transacciones y otros aspectos sensibles al tiempo).
C) TECNICA:
Use los scripts desarrollados para Pruebas del Negocio.
Modifique archivos de datos (para incrementar el número de transacciones o veces que cada transacción ocurre).
D) CRITERIO DE COMPLETITUD: Múltiples transacciones, múltiples usuarios. Se completaron las pruebas de los scripts sin ninguna falla y dentro del tiempo esperado.
E) CONSIDERACIONES ESPECIALES: •Las pruebas de carga deben ser ejecutadas en una máquina dedicada o
en un tiempo dedicado. Esto permite control total y medidas precisas· •La Base de datos utilizada para pruebas de desempeño debe ser de un
tamaño real o proporcionalmente más grande que la diseñada.
3.8. PRUEBA DE STRESS PRUEBAS DE SOFWARE - 2017-0
Página 19 de 48
UNIVERSIDAD NACIONAL DE TRUJILLO TECNOLOGÍA DE LA PROMAGACIÓN II
A) OBJETIVOS DE PRUEBA: Verificar que el sistema funciona apropiadamente y sin errores, bajo estas condiciones de stress: •Memoria baja o no disponible en el servidor. •Máximo número de clientes conectados o simulados (actuales o
físicamente posibles) •Múltiples usuarios desempeñando la misma transacción con los mismos
datos. •El peor caso de volumen de transacciones (ver pruebas de desempeño).
NOTAS: La meta de las pruebas de stress también es identificar y documentar las condiciones bajo las cuales el sistema FALLA.
B) DESCRIPCION DE LA PRUEBA: Las pruebas de stress se proponen encontrar errores debidos a recursos bajos o completitud de recursos. Poca memoria o espacio en disco puede revelar defectos en el sistema que no son aparentes bajo condiciones normales. Otros defectos pueden resultar de incluir recursos compartidos, como bloqueos de base de datos o ancho de banda de la red. Las pruebas de stress identifican la carga máxima que el sistema puede manejar. El objetivo de esta prueba es investigar el comportamiento del sistema bajo condiciones que sobrecargan sus recursos. No debe confundirse con las pruebas de volumen: un esfuerzo grande es un pico de volumen de datos que se presenta en un corto período de tiempo. Puesto que la prueba de esfuerzo involucra un elemento de tiempo, no resulta aplicable a muchos programas, por ejemplo, a un compilador o a una rutina de pagos. Es aplicable, sin embargo, a programas que trabajan bajo cargas variables, interactivos, de tiempo real y de control de proceso. Aunque muchas pruebas de esfuerzo representan condiciones que el programa encontrará realmente durante su utilización, muchas otras serán en verdad situaciones que nunca ocurrirán en la realidad. Esto no implica, sin embargo, que estas pruebas no sean útiles.
PRUEBAS DE SOFWARE - 2017-0
Página 20 de 48
UNIVERSIDAD NACIONAL DE TRUJILLO TECNOLOGÍA DE LA PROMAGACIÓN II
Si se detectan errores durante estas condiciones “imposibles”, la prueba
es valiosa porque es de esperar que los mismos errores puedan presentarse en situaciones reales, algo menos exigentes.
C) TECNICA:
Use los scripts utilizados en las pruebas de desempeño.
Para probar recursos limitados, las pruebas se deben correr en un servidor con configuración reducida (o limitada).
Para las pruebas de stress restantes, deben utilizarse múltiples clientes, ya sea corriendo los mismos scripts o scripts complementarios para producir el peor caso de volumen de transacciones
D) CRITERIO DE COMPLETITUD: Todas las pruebas planeadas han sido ejecutadas y excedidas sin que el sistema falle. (O si las condiciones en que el sistema falle ocurren por fuera de las condiciones especificadas).
E) CONSIDERACIONES ESPECIALES:
Producir stress en la red puede requerir herramientas de red para sobrecargarla de tráfico.
El espacio en disco utilizado para el sistema debe ser reducido temporalmente para limitar el espacio disponible para el crecimiento de la Base de datos.
Sincronización de varios clientes accediendo simultáneamente los mismos registros.
3.9. PRUEBAS DE VOLUMEN A) OBJETIVOS DE PRUEBA: Verificar que la aplicación funciona adecuadamente bajo los siguientes escenarios de volumen: o Máximo (actual o físicamente posible) número de clientes conectados (o simulados), todos ejecutando la misma función (peor caso de desempeño) por un período extendido. o Máximo tamaño de base de datos (actual o escalado) y múltiples consultas ejecutadas simultáneamente
PRUEBAS DE SOFWARE - 2017-0
Página 21 de 48
UNIVERSIDAD NACIONAL DE TRUJILLO TECNOLOGÍA DE LA PROMAGACIÓN II
B) DESCRIPCION DE LA PRUEBA:
Las pruebas de volumen hacen referencia a grandes cantidades de datos para determinar los límites en que se causa que el Sistema falle. También identifican la carga máxima o volumen que el sistema puede manejar en un período dado. Por ejemplo, si el sistema está procesando un conjunto de registros de Base de datos para generar un reporte, una prueba de volumen podría usar una Base de datos de prueba grande y verificar que el sistema se comporta normalmente y produce el reporte correctamente.
El objetivo de esta prueba es someter al sistema a grandes volúmenes de datos para determinar si el mismo puede manejar el volumen de datos especificado en sus requisitos.
Algunos ejemplos de escenarios de prueba de volúmenes:
Un compilador puede ser alimentado por un programa para compilar que sea absurdamente grande.
Un editor de nexos puede recibir un programa que contenga miles de módulos.
Un simulador de circuito electrónico puede recibir un circuito diseñado con miles de componentes.
Puesto que obviamente, la prueba de volumen es una prueba costosa, tanto en tiempo de máquina como en personal, se debe tratar de no exceder los límites. Sin embargo, todo programa debería ser expuesto, al menos, a algunas pruebas de volumen.
C) TECNICA:
Utilice los scripts diseñados para las pruebas de desempeño.
Deben usarse múltiples clientes, ya sea corriendo las mismas pruebas o pruebas complementarias para producir el peor caso de volumen (ver pruebas de stress) por un período extendido.
Se utiliza un tamaño máximo de Base de datos. (actual, escalado o con datos representativos) y múltiples clientes para correr consultas simultáneamente para períodos extendidos.
D) CRITERIO DE COMPLETITUD:
PRUEBAS DE SOFWARE - 2017-0
Página 22 de 48
UNIVERSIDAD NACIONAL DE TRUJILLO TECNOLOGÍA DE LA PROMAGACIÓN II
Todas las pruebas planeadas han sido ejecutadas y los límites especificados en el sistema se han conseguido o excedido sin que el sistema falle.
E) CONSIDERACIONES ESPECIALES:
¿Qué período de tiempo debería considerarse como aceptable para condiciones de volumen alto?
3.10 PRUEBAS DE RECUPERACION Y TOLERANCIA A FALLAS A) OBJETIVO DE LA PRUEBA: Verificar que los procesos de recuperación (manual o automática) restauran apropiadamente la Base de datos, aplicaciones y sistemas, y los llevan a un estado conocido o deseado. Los siguientes tipos de condiciones deben incluirse en la prueba:
Interrupción de electricidad en el cliente.
Interrupción de electricidad en el servidor
Interrupción en la comunicación hacia el servidor (caídas de red)
Interrupción en la comunicación con los controladores de disco.
Ciclos incompletos (procesos de consultas interrumpidos, procesos de sincronización de datos interrumpidos)
Llaves o apuntadores de base de datos inválidos
Elementos corruptos o inválidos en la base de datos.
B) DESCRIPCION DE LA PRUEBA: Estas pruebas aseguran que una aplicación o sistema se recupere de una variedad de anomalías de hardware, software o red con pérdidas de datos o fallas de integridad. Las pruebas de tolerancia a fallas aseguran que, para aquellos sistemas que deben mantenerse corriendo, cuando una condición de falla ocurre, los sistemas alternos o de respaldo pueden tomar control del sistema sin pérdida de datos o transacciones. Las pruebas de recuperación son contrarias a las pruebas en que la aplicación o sistema es expuesto a condiciones extremas (o condiciones PRUEBAS DE SOFWARE - 2017-0
Página 23 de 48
UNIVERSIDAD NACIONAL DE TRUJILLO TECNOLOGÍA DE LA PROMAGACIÓN II
simuladas), tales como fallas en dispositivos en entrada/salida o llaves o apuntadores inválidos de base de datos. Los procesos de recuperación se invocan y la aplicación es monitoreada y/o inspeccionada para verificar que éstos mecanismos se han ejecutado en forma apropiada. El objetivo de esta prueba es determinar la habilidad del sistema para recuperarse de una falla de hardware o software. Esta prueba evalúa las características de contingencia construidas en el sistema para procesar interrupciones y para volver a puntos específicos en el ciclo de procesamiento del sistema. La recuperación debe ser considerada en el proceso de diseño. Errores de programación o de datos pueden ser incorporados ex profeso en un sistema para determinar si se puede recuperar de ellos. Las fallas de equipo (por ejemplo, errores de paridad en memoria,
errores
en
dispositivos
de
entrada/salida)
pueden
ser
simuladas.
C) TECNICA: Se deben utilizar las pruebas creadas para la Funcionalidad del sistema y Procesos de Negocios para crear una serie de transacciones. Una vez se alcanza el punto inicial de las pruebas de recuperación, se deben realizar o simular las siguientes acciones:
Interrupción de electricidad en el cliente.
Interrupción
de
electricidad
en
el
servidor:
simular
o
iniciar
procedimientos de pérdida de energía para el servidor.
Interrupción de la comunicación en la red. (desconectar físicamente los cables o apagar los hubs o routers)
Interrupción de la comunicación con los controladores de disco: simular o eliminar físicamente la comunicación con uno o más controladores o dispositivos.
Una vez se realizan estas acciones, se deben ejecutar series de transacciones, y luego, una vez alcanzado el segundo punto de pruebas, se deben invocar los procedimientos de recuperación.
Las pruebas para ciclos incompletos utilizan la misma técnica que se describe arriba, excepto que los procesos de Base de datos deban ser abortados o terminados prematuramente.
PRUEBAS DE SOFWARE - 2017-0
Página 24 de 48
UNIVERSIDAD NACIONAL DE TRUJILLO TECNOLOGÍA DE LA PROMAGACIÓN II
Las pruebas para estas condiciones requieren que se llegue a un estado conocido previamente en la Base de datos. Algunos campos, apuntadores y llaves deben ser modificados manualmente, valiéndose de las herramientas que ofrezca la SSPD. Las transacciones adicionales deben ser ejecutadas utilizando las pruebas para Funcionalidad de la aplicación y para Procesos de Negocios.
D) CRITERIO DE COMPLETITUD: En todos los casos mencionados, la Base de datos, aplicación y otros sistemas deben retornar a un estado conocido y deseado, una vez se completan los procedimientos de recuperación. Este estado podría incluir que el daño de datos se limite solamente a los campos, llaves o apuntadores que se sabe que fueron alterados, y reportes indicando los procesos o transacciones que no fueron completadas debido a las interrupciones producidas.
E) CONSIDERACIONES ESPECIALES: Las pruebas de recuperación pueden llegar a ser molestas. Los procedimientos para desconectar cables o simular pérdida de electricidad pueden ser poco factibles o deseables. Podrían llegar a requerirse métodos alternativos, como herramientas de diagnóstico.
Se requiere la participación de personal de la red, administradores de la base de datos y del sistema.
Estas pruebas deben ser ejecutadas en horas no laborables o en máquinas aisladas.
3.11. PRUEBA DE MULTIPLES SITIOS: A) OBJETIVO DE LA PRUEBA: Detectar fallas en configuraciones y comunicaciones de datos entre múltiples sitios.
B) DESCRIPCION DE LA PRUEBA: El propósito de esta prueba es evaluar el correcto funcionamiento del sistema o subsistema en múltiples instalaciones.
C) TECNICA: Realizar casos de prueba que verifiquen mínimo lo siguiente: PRUEBAS DE SOFWARE - 2017-0
Página 25 de 48
UNIVERSIDAD NACIONAL DE TRUJILLO TECNOLOGÍA DE LA PROMAGACIÓN II
Consistencia de las opciones de configuración para el sistema a través de los sitios
Empaquetamiento del sistema para múltiples instalaciones
Sincronización de datos entre sitios
Comunicación de datos entre sistemas en diferentes sitios
Rompimiento de funciones de sistema a través de los sitios.
Consistencia de controles y seguridad a través de los sitios
D) CRITERIO DE COMPLETITUD:
Todas las pruebas planeadas han sido ejecutadas.
Todos los defectos que se identificaron han sido tenidos en cuenta.
E) CONSIDERACIONES ESPECIALES: Ninguna
3.12. PRUEBA DE COMPATIBILIDAD Y CONVERSION: A) OBJETIVO DE LA PRUEBA: Buscar problemas de compatibilidad y conversión en los sistemas.
B) DESCRIPCION DE LA PRUEBA: El propósito es demostrar que los objetivos de compatibilidad no han sido logrados y que los procedimientos de conversión no funcionan. La mayoría de los programas que se desarrollan no son completamente nuevos; con frecuencia son reemplazos de partes deficientes, ya sea de sistemas de procesamiento de datos, o sistemas manuales. Como tales, los programas tienen a menudo objetivos específicos con respecto a su compatibilidad y a sus procedimientos de conversión con el sistema existente.
C) TECNICA: Desarrollar casos de prueba que permitan detectar deficiencias con:
Compatibilidad entre programas
Conversión de datos
D) CRITERIO DE COMPLETITUD:
Todas las pruebas planeadas han sido ejecutadas.
Todos los defectos que se identificaron han sido tenidos en cuenta.
E) CONSIDERACIONES ESPECIALES: PRUEBAS DE SOFWARE - 2017-0
Página 26 de 48
UNIVERSIDAD NACIONAL DE TRUJILLO TECNOLOGÍA DE LA PROMAGACIÓN II
Ninguna
3.13. PRUEBAS DE INTEGRIDAD DE DATOS Y BASE DE DATOS A) OBJETIVO DE LA PRUEBA: Asegurar que los métodos de acceso y procesos funcionan adecuadamente y sin ocasionar corrupción de datos.
B) DESCRIPCION DE LA PRUEBA: La Base de datos y los procesos de Base de datos deben ser probados como sistemas separados del proyecto. Estos sistemas deberían ser probados sin usar interfaces de usuario (como las interfaces de datos). Se necesita realizar investigación adicional en el DBMS para identificar las herramientas y técnicas que podrían existir para soportar las pruebas identificadas más adelante.
C) TECNICA:
Invoque cada método de acceso y proceso de la Base de datos, utilizando en cada uno datos válidos e inválidos.
Analice la Base de datos, para asegurar que los datos han sido grabados apropiadamente, que todos los eventos de Base de datos se ejecutaron en forma correcta y revise los datos retornados en diferentes consultas.
D) CRITERIO DE COMPLETITUD: Todos los métodos de acceso y procesos de la Base de datos funcionan como fueron diseñados y sin corrupción de datos
E) CONSIDERACIONES ESPECIALES:
Las pruebas pueden requerir un ambiente de DBMS o controladores para ingresar o modificar datos directamente en la Base de datos.
Se debe utilizar un conjunto pequeño de datos para incrementar la visibilidad de cualquier evento anormal o inesperado.
Los procesos pueden ser invocados manualmente.
3.14. PRUEBAS DE SEGURIDAD Y CONTROL DE ACCESO A) OBJETIVO DE LA PRUEBA: PRUEBAS DE SOFWARE - 2017-0
Página 27 de 48
UNIVERSIDAD NACIONAL DE TRUJILLO TECNOLOGÍA DE LA PROMAGACIÓN II
Nivel de seguridad de la aplicación: Verifica que un actor solo pueda acceder a las funciones y datos que su usuario tiene permitido. Nivel de Seguridad del Sistema: Verificar que solo los actores con acceso al sistema y a la aplicación están habilitados para accederla.
B) DESCRIPCION DE LA PRUEBA: Las pruebas de seguridad y control de acceso se centran en dos áreas claves de seguridad:
Seguridad del sistema, incluyendo acceso a datos o Funciones de negocios y
Seguridad del sistema, incluyendo ingresos y accesos remotos al sistema. Las pruebas de seguridad de la aplicación garantizan que, con base en la seguridad deseada, los usuarios están restringidos a funciones específicas o su acceso está limitado únicamente a los datos que está autorizado a acceder. Por ejemplo, cada usuario puede estar autorizado a crear nuevas cuentas, pero sólo los administradores pueden borrarlas. Si existe seguridad a nivel de datos, la prueba garantiza que un usuario “típico” 1
puede ver toda la información de clientes, incluyendo datos financieros; sin embargo, el usuario 2 solamente puede ver los datos institucionales del mismo cliente. Las pruebas de seguridad del sistema garantizan que solamente aquellos usuarios autorizados a acceder al sistema son capaces de ejecutar las funciones del sistema a través de los mecanismos apropiados. Debido a la creciente preocupación de la sociedad por la privacidad de la información, muchos programas tienen objetivos específicos de seguridad. El objetivo de esta prueba es evaluar el funcionamiento correcto de los controles de seguridad del sistema para asegurar la integridad y confidencialidad de los datos. El foco principal es probar la vulnerabilidad del sistema frente a accesos o manipulaciones no autorizadas. Una manera de encontrar esos casos de prueba es estudiar problemas conocidos de seguridad en sistemas similares y tratar de mostrar la existencia de problemas parecidos en el sistema que se examina. PRUEBAS DE SOFWARE - 2017-0
Página 28 de 48
UNIVERSIDAD NACIONAL DE TRUJILLO TECNOLOGÍA DE LA PROMAGACIÓN II
Algunas consideraciones de prueba son:
Controles de acceso físico
Acceso a estructuras de datos específicas a través de los programas de aplicación.
Seguridad en sitios remotos
Existencia de datos confidenciales en reportes y pantallas
Controles manuales, incluyendo aquellos para autorización y aprobación, formularios, documentación numerada, transmisión de datos, balances y conversión de datos.
Controles automáticos, incluyendo aquellos para edición de datos, chequeo de máquinas, errores del operador, acceso a datos elementales y archivos, acceso a funciones, auditoría, entre otros.
C) TECNICA: Funciones / Seguridad de Datos: Identificar cada tipo de usuario y las funciones y datos a los que se debe autorizar.
Crear pruebas para cada tipo de usuario y verificar cada permiso, creando transacciones específicas para cada tipo de usuario.
Modificar tipos de usuarios y volver a ejecutar las pruebas. En cada caso, verificar si los datos o funciones adicionales quedan correctamente permitidos o denegados.
Acceso al sistema (ver consideraciones especiales)
D) CRITERIO DE COMPLETITUD: Para cada tipo de usuario conocido, las funciones y datos apropiados y todas las transacciones funcionan como se esperaba.
E) CONSIDERACIONES ESPECIALES: El acceso al sistema debe ser revisado y discutido con los administradores de la red y/o del sistema. Esta prueba puede no ser requerida como tal, sino como una función de los administradores de red o del sistema.
PRUEBAS DE SOFWARE - 2017-0
Página 29 de 48
UNIVERSIDAD NACIONAL DE TRUJILLO TECNOLOGÍA DE LA PROMAGACIÓN II
4. PRUEBAS DE VALIDACION A SISTEMAS A LA MEDIDA: 4.1.
PRUEBA DEL CICLO DEL NEGOCIO A) OBJETIVOS DE LA PRUEBA: Asegurar que el sistema funciona de acuerdo con el modelo de negocios emulando todos los eventos en el tiempo y en función del tiempo.
B) DESCRIPCION DE LA PRUEBA: Las pruebas del ciclo de negocio deberían emular las actividades ejecutadas en el a través del tiempo. Debería identificarse un periodo, como por ejemplo un año, y las transacciones y actividades que podrían ocurrir durante un periodo de un año deberían ejecutarse. Incluyendo todos los ciclos y eventos diarios, semanales y mensuales que sean datos sensitivos, como las agendas.
C) TÉCNICA: Ejecute cada caso de uso, flujo básico o función utilizando datos válidos e inválidos, para verificar que:
Incremente el número de veces en que una función es ejecutada para simular diferentes usuarios sobre un periodo especificado
Todas las fechas o funciones que involucren tiempos serán probadas con datos válidos e inválidos de fechas o periodos de tiempo.
Todas las funciones ocurren en un periodo de tiempo serán ejecutadas en el tiempo apropiado.
Los resultados esperados ocurren cuando los datos válidos son usados.
Los mensajes de error o de advertencia aparecen en el momento adecuado, cuando se utiliza un dato inválido.
Cada regla de negocios es aplicada adecuadamente.
PRUEBAS DE SOFWARE - 2017-0
Página 30 de 48
UNIVERSIDAD NACIONAL DE TRUJILLO TECNOLOGÍA DE LA PROMAGACIÓN II
D) CONSIDERACIONES ESPECIALES:
Las fechas y eventos del sistema pueden requerir actividades especiales de soporte.
Se requiere un modelo de negocios para identificar requisitos y procedimientos de prueba apropiados.
4.2.
PRUEBA DE GUIA: A) OBJETIVOS DE LA PRUEBA:
Las navegaciones a través de los objetos de la prueba reflejan las funcionalidades del negocio y requisitos, se realiza una navegación ventana por ventana, usando los modos de acceso (tabuladores, movimientos del mouse, teclas rápidas, etc)
Los objetos de la ventana y características, tales como menús, medidas, posiciones, estados y focos se verifican conforme a los estándares .
B) DESCRIPCIÓN DE LA PRUEBA: La prueba de interfaz de usuario verifica la interacción del usuario con el software. El objetivo es asegurar que la interfaz tiene apropiada navegación a través de las diferentes funcionalidades. Adicionalmente, las pruebas de interfaz aseguran que el objeto de la interfaz a ser probada se encuentra dentro de los estándares de la industria
C) TÉCNICA: Pruebas de crear / modificar cada ventana para verificar la adecuada navegación y estado de los objetos.
D) CRITERIOS DE COMPLETITUD: Cada ventana elegida será totalmente verificada y comparada con similares en el mercado logrando una buena aceptación dentro del estándar.
E) CONSIDERACIONES ESPECIALES : NINGUNA 4.3.
PRUEBAS DE ESTILO
PRUEBAS DE SOFWARE - 2017-0
Página 31 de 48
UNIVERSIDAD NACIONAL DE TRUJILLO TECNOLOGÍA DE LA PROMAGACIÓN II
A) OBJETIVO DE LA PRUEBA: Comprobar que la aplicación sigue los estándares de estilo propios del cliente.
B) DESCRIPCION DE LA PRUEBA: Se entienden como tales el formato de las ventanas, colores corporativos, tipos de letra etc.
C) TÉCNICA:
Se realiza una navegación por la aplicación verificando si se cumplen con los estándares de GUI del cliente.
Validar objetos gráficos contra el manual de estilos del cliente.
D) CRITERIO DE COMPLETITUD:
Todas las pruebas planeadas han sido ejecutadas.
Todos los defectos que se identificaron han sido tenidos en cuenta
E) CONSIDERACIONES ESPECIALES: •
Solicitar al cliente el manual de estilos, en caso de no existir, hacer un levantamiento preliminar de este con base en la información corporativa existente.
4.4.
PRUEBAS DE ACEPTACION A) OBJETIVOS DE PRUEBA: Determinación por parte del cliente de la aceptación o rechazo del sistema desarrollado.
B) DESCRIPCION DE LA PRUEBA La prueba de aceptación es ejecutada antes de que la aplicación sea instalada dentro de un ambiente de producción. La prueba de aceptación es generalmente desarrollada y ejecutada por el cliente o un especialista de la aplicación y es conducida a determinar como el sistema satisface sus criterios de aceptación validando los requisitos que han sido levantados para el desarrollo, incluyendo a documentación y procesos de negocio. Basado en esta prueba el cliente determina si acepta o rechaza el sistema Estas pruebas están destinadas a probar que el producto está listo para el uso operativo. Suelen ser un subconjunto de las Pruebas de Sistema.
PRUEBAS DE SOFWARE - 2017-0
Página 32 de 48
UNIVERSIDAD NACIONAL DE TRUJILLO TECNOLOGÍA DE LA PROMAGACIÓN II
Sirve para que el usuario pueda validar si el producto final se ajusta a los requisitos fijados, es decir, si el producto está listo para ser implantado para el uso operativo en el entorno del usuario. Esta prueba es complementada por la prueba de estilo.
C) TECNICA: Realización de los documentos de planes de prueba de aceptación y especificación de los mismos, basados en los criterios de aceptación del cliente. Los casos prueba de aceptación han de ser planificados, organizados y formalizados de manera que se determine el cumplimiento de los requisitos del sistema. Para la realización de estas pruebas se necesita disponer de los siguientes documentos:
Especificación de requisitos del sistema.
Manual de usuario.
Manual de administrador.
Realizar Pruebas de estilo
D) CRITERIOS DE COMPLETITUD:
Todas las pruebas planeadas han sido ejecutadas.
Todos los defectos que se identificaron han sido tenidos en cuenta.
E) CONSIDERACIONES ESPECIALES: Las Pruebas de Aceptación se suelen realizar en un entorno de pre-producción .
4.5.
PRUEBAS DE INSTALACION
A) OBJETIVOS DE LA PRUEBA: Verificar y validar que el sistema se instala apropiadamente en cada cliente, bajo las siguientes condiciones:
Instalaciones nuevas, nuevas máquinas a las que nunca se les ha instalado el sistema.
Actualizar máquinas previamente instaladas con el sistema.
Instalar versiones viejas en máquinas previamente instaladas con el sistema.
PRUEBAS DE SOFWARE - 2017-0
Página 33 de 48
UNIVERSIDAD NACIONAL DE TRUJILLO TECNOLOGÍA DE LA PROMAGACIÓN II
B) DESCRIPCIÓN DE LA PRUEBA: Las pruebas de instalación tienen dos propósitos. El primero es asegurar que el sistema puede ser instalado en todas las configuraciones posibles, tales como nuevas instalaciones, actualizaciones, instalaciones completas o personalizadas, y bajo condiciones normales o anormales; estas últimas incluyen insuficiente espacio en disco, falta de privilegios para algunas tareas, etc. El segundo propósito es verificar que, una vez instalado, el sistema opera correctamente. Esto usualmente implica correr un número significativo de pruebas de Funcionalidad.
C) TÉCNICAS:
Diseñar sripts para validar las condiciones de la máquina a instalar.
Realizar la instalación
D) CRITERIOS DE COMPLETITUD: Las transacciones de la aplicación se ejecutan sin fallas.
E) CONSIDERACIONES ESPECIALES: ¿Qué transacciones del sistema se deben seleccionar para realizar una prueba confiable de que el sistema ha sido instalado exitosamente y no hace falta ningún componente del sistema?
4.6.
PRUEBAS FUNCIONALES A) OBJETIVOS DE LA PRUEBA: Se asegura la trabajo apropiado de los requisitos funcionales, incluyendo la navegación, entrada de datos, procesamiento y obtención de resultados
B) DESCRIPCIÓN DE LA PRUEBA: Las pruebas Funcionales deben enfocarse en los requisitos funcionales, las pruebas pueden estar basadas directamente en los Casos de Uso (o funciones de negocio), y las reglas del negocio. Las metas de estas pruebas son:
Verificar la apropiada aceptación de datos,
Verificar el procesamiento y recuperación y la implementación adecuada de las reglas del negocio.
Este tipo de pruebas están basadas en técnicas de caja negra, que es, verificar la aplicación (y sus procesos internos) mediante la interacción con la aplicación vía GUI y analizar la salida (resultados). Lo que se identifica a continuación es un diseño preliminar de las pruebas recomendadas para cada aplicación.
PRUEBAS DE SOFWARE - 2017-0
Página 34 de 48
UNIVERSIDAD NACIONAL DE TRUJILLO TECNOLOGÍA DE LA PROMAGACIÓN II
C) TECNICA: Se ejecuta cada caso de uso, flujo de caso de uso, o función, usando datos válidos e inválidos, para verificar lo siguiente:
Que los resultados esperados ocurran cuando se usen datos válidos.
Que sean desplegados los mensajes apropiados de error y precaución cuando se usan datos inválidos.
Que se aplique apropiadamente cada regla de negocio.
D) CRITERIOS DE COMPLETITUD:
Todas las pruebas planeadas han sido ejecutadas.
Todos los defectos que se identificaron han sido tenidos en cuenta.
E) CONDIDERACIONES ESPECIALES: Identifique o describa aquellos aspectos (internos o externos) que impactan la implementación y ejecución de las pruebas de funcionalidad
4.7.
PRUEBAS DE DOCUMENTACION Y PROCEDIMIENTO
A) OBJETIVO DE LA PRUEBA: Evaluar la documentación del usuario B) DESCRIPCION DE LA PRUEBA: Evaluar la exactitud y claridad de la documentación del usuario y para determinar si el manual de procedimientos trabajará correctamente como una parte integral del sistema. Muchos defectos son identificados cuando un probador competente chequea totalmente los manuales y documentación del usuario. Muchos programas son parte de sistemas mayores, no completamente automatizados, que contienen procedimientos realizados por operadores. Cualquier procedimiento humano, tal como los que llevan a cabo el operador, el administrador de la base de datos, o el usuario de terminal, debe ser probado durante la prueba de sistemas.
C) TÉCNICA: Revisar la documentación del proyecto contra las funcionalidades del sistema y su configuración física.
D) CRITERIO DE COMPLETITUD:
Todas las pruebas planeadas han sido ejecutadas.
Todos los defectos que se identificaron han sido tenidos en cuenta
PRUEBAS DE SOFWARE - 2017-0
Página 35 de 48
UNIVERSIDAD NACIONAL DE TRUJILLO TECNOLOGÍA DE LA PROMAGACIÓN II
E) CONSIDERACIONES ESPECIALES: Ninguna.
4.8.
PRUEBA DE USABILIDAD A) OBJETIVO DE LA PRUEBA: Determinar la usabilidad del sistema B) DESCRIPCION DE LA PRUEBA: Determina cuán bien el usuario podrá usar y entender la aplicación. Identifica las áreas de diseño que hacen al sistema de difícil uso para el usuario. La prueba de usabilidad detecta problemas relacionados con la conveniencia y practicidad del sistema desde el punto de vista del usuario
C) TÉCNICA: Verificar que la aplicación no presenta los siguientes problemas de usabilidad típicos:
El sistema es demasiado complejo y difícil de usar.
Es difícil instalar y entender el sistema
La recuperación de errores es pobre y los mensajes de error no tienen significado
La sintaxis de los comandos es difícil de aprender y recordar
El sistema obliga al usuario a recordar formatos y secuencias fijas
Los procedimientos no son simples ni obvios
El sistema no tiene instrucciones de ayuda por computadora y tiene manuales pobres.
Los diagramas, pantallas, reportes y gráficos son de calidad y apariencia pobre
El sistema carece de herramientas de construcción adecuadas y requiere múltiples comandos
La lógica y conveniencia de los botones, switches, displays y mensajes de ayuda deben ser testeados. (La prueba de usabilidad puede ser conducida por un grupo separado si es posible.
Se deben crear casos de prueba para comprobar que se puede operar en el sistema de forma adecuada.
PRUEBAS DE SOFWARE - 2017-0
Página 36 de 48
UNIVERSIDAD NACIONAL DE TRUJILLO TECNOLOGÍA DE LA PROMAGACIÓN II
D) CRITERIO DE COMPLETITUD:
Todas las pruebas planeadas han sido ejecutadas.
Todos los defectos que se identificaron han sido tenidos en cuenta .
E) CONSIDERACIONES ESPECIALES: Ninguna
4.9.
PRUEBA DE CAMPO
A) OBJETIVO DE LA PRUEBA: Correr el sistema en el ambiente real para encontrar errores y validar el producto contra sus especificaciones originales.
B) DESCRIPCION DE LA PRUEBA: Realizar un subconjunto válido de pruebas de sistema.
C) TECNICA: Determinar que pruebas de sistema serán corridas para validar el sistema en producción.
D) CRITERIO DE COMPLETITUD:
Todas las pruebas planeadas han sido ejecutadas.
Todos los defectos que se identificaron han sido tenidos en cuenta.
5. PRUEBAS DE VALIDACIONES A APLICACIONES GENÉRICAS 5.1.
PRUEBAS ALFA A) OBJETIVOS DE LA PRUEBA: Prueba de aceptación para detectar errores en el sistema bajo un ambiente controlado.
B) DESCRIPCION DE LA PRUEBA: La verificación involucra la ejecución de partes o todo del sistema en ambientes simulados, con el fin de encontrar errores. La retroalimentación de esta fase produce cambios en el software para resolver los errores y fallas que se descubren.
C) TÉCNICA: Realizar las pruebas de sistema bajo las siguientes características:
se llevan a cabo en el lugar en donde fue desarrollado el sw,
PRUEBAS DE SOFWARE - 2017-0
Página 37 de 48
UNIVERSIDAD NACIONAL DE TRUJILLO TECNOLOGÍA DE LA PROMAGACIÓN II
en un ambiente controlado, en el cual el desarrollador está presente.
Se selecciona un grupo de usuarios para el alpha test y se les pide trabajen con el sistema como parte de las pruebas.
D) CRITERIOS DE COMPLETITUD
5.2.
Todas las pruebas planeadas han sido ejecutadas.
Todos los defectos que se identificaron han sido tenidos en cuenta.
PRUEBAS BETA A) OBJETIVO DE LA PRUEBA: Realizar la validación del sistema por parte del usuario.
B) DESCRIPCIÓN DE LA PRUEBA: Prueba de aceptación donde La validación (o pruebas beta) involucra el uso del software en un ambiente real.
C) TECNICA: Se selecciona un grupo de usuarios que ponen a trabajar el sistema en un ambiente real. Usan el sistema en sus actividades cotidianas, procesan transacciones y producen salidas normales del sistema. Las transacciones y personas que usan el sistema son reales y trabajan en su área de trabajo real. El desarrollador no esta presente. Los usuarios están advertidos de que están usando un sistema que puede fallar. Los usuarios realizan pruebas a su antojo realizando uso de la aplicación.
D) CRITERIOS DE COMPLETITUD: Se establece un periodo de pruebas beta en el que los errores detectados no sean de carácter crítico para el sistema
E) CONSIDERACIONES ESPECIALES: Se deben considerar mecanismos de comunicación entre los desarrolladore s y los usuarios de manera que los errores detectados puedan ser corregidos.
6. DISEÑO DE CAOSOS DE PREBA ( VALORES INTERESANTES)
PRUEBAS DE SOFWARE - 2017-0
Página 38 de 48
UNIVERSIDAD NACIONAL DE TRUJILLO TECNOLOGÍA DE LA PROMAGACIÓN II
Para diseñar correctamente los casos de prueba, éstos deberán usar “valores interesantes”
Se considera un valor interesante aquel que permita recorrer la mayor cantidad posible de código fuente En función del criterio de cobertura elegido
7. OBTENCIÓN DE VALORES INTERESANTES: Para un ejemplo real, el conjunto de valores a probar para conseguir cobertura total de sentencias puede ser muy grande Para proponer valores podemos ayudarnos de técnicas como:
7.1.
CLASES DE EQUIVALENCIA: Dividir el dominio de entrada en clases de equivalencia con valores que provocan un mismo comportamiento.
7.2.
VALORES DE LIMITE: ¿Qué conjuntos de tres valores recorrentodas las sentencias del método getTipo()?
PRUEBAS DE SOFWARE - 2017-0
Página 39 de 48
UNIVERSIDAD NACIONAL DE TRUJILLO TECNOLOGÍA DE LA PROMAGACIÓN II
8. CRITERIOS DE COBERTURA PARA VALORES INTERESANTES: Grado en que los diferentes valores interesantes seleccionados se utilizan en la batería de casos de prueba: • 1-wise:
Se satisface cuando cada valor interesante de cada parámetro se incluye al menos en un caso de prueba • 2-wise:
Se satisface cuando cada par de valores interesantes se incluye al menos en un caso de prueba
PRUEBAS DE SOFWARE - 2017-0
Página 40 de 48
UNIVERSIDAD NACIONAL DE TRUJILLO TECNOLOGÍA DE LA PROMAGACIÓN II
CONSIDERACIONES
Identificar cada caso de prueba y asociarlo explícitamente con la clase a probar
Declarar el propósito de la prueba
Desarrollar una lista de pasos a seguir
Declarar una lista de estados del objeto a probar
Lista de mensajes y operaciones que se ejecutarán
Lista de excepciones que pueden ocurrir
Lista de externas necesarias para 1.80
9. DOCUMENTO DISEÑO DE PRUEBAS: Realizar la definición de: escenarios, eventos, casos de pruebas y matriz de trazabilidad de las pruebas en el documento de diseño de pruebas. Documento diseño. En esa sección se debe incluir la referencia al documento. A continuación, se describen los campos que se deben ingresar en cada una de las hojas del documento de diseño.
9.1.
ESCENARIOS DE PRUEBAS: No. E s cenario
E s cenario
Descr ipción Descripción y objetivo del escenario.
Identificador
de
Nombre de escenario
escenario
Incluir
los
actores
que
interactúan en los escenarios.
9.2.
EVENTOS DE PRUEBAS:
No. E vento
Identificador
E s cenari o
de
evento 1
Identificador
Nombre del evento 1 Nombre
de
E vento
de
escenario
evento 2
PRUEBAS DE SOFWARE - 2017-0
Nombre del evento 2
Des cri pción
Descripción y objetivo del evento 1.
Descripción y objetivo del evento 2.
Página 41 de 48
UNIVERSIDAD NACIONAL DE TRUJILLO TECNOLOGÍA DE LA PROMAGACIÓN II
9.3.
CASOS DE PRUEBAS
Caso de prueba
Nombre significativo del caso de prueba que permita identifi car el propós ito de la prueba. Identificador único del caso de prueba. Se recomienda que inicie la nomenclatura del nombre:
Identificador
CPNNNN_NombreCasoDePrueba. Donde CP corresponde a las
caso de prueba
siglas de casos de prueba, NNNN corresponde a la numeración única del caso de prueba y el NombeCasoDePrueba corresponde al nombre significativo asignado en el campo caso de prueba.
Función probar
Definir el modulo, servicio o función que probara con el caso de prueba. Describir que funcionalidad que será probada con el caso de
Objetivo
prueba.
Descripción
Describir y explicar el propósito el caso de prueba.
Criterios
de
éxito
Definir los criterios de aceptación, que permiten determinar que el caso de prueba ejecutado es exitoso
Criterios
de
falla
Definir los criterios que permiten determinar que el caso de prueba ejecutado es fallido Describir las condiciones y el estado en las que se debe
Precondiciones
encontrar el sistema para la ejecución del caso de prueba, en caso de ser necesario incluir los casos de pruebas que se deben ejecutar previo al caso de prueba.
Perfil
del
usuario
prueba.
Necesidades para
el
caso
Definir las necesidades para la ejecución de los casos de de pruebas, como por ejemplo los datos de pruebas, las condiciones
prueba
adicionales a tener en cuenta, configuración de la prueba.
Autor Fecha creación
Perfil del usuario en el sistema con el que se ejecutara la
Nombre de la persona que diseña el caso de prueba de
Fecha en la que se diseña el caso de prueba
PRUEBAS DE SOFWARE - 2017-0
Página 42 de 48
UNIVERSIDAD NACIONAL DE TRUJILLO TECNOLOGÍA DE LA PROMAGACIÓN II
Otro Id Condición
de
prueba
Casos de pruebas
Incluir el identificador de
la
condición
de
prueba
Req uerimient
a
o
negocio
Incluir los identificadores de los casos de prueba
Regl
Desc ribir
la
ubicación
No
de
Requ erimiento
umento
anterior
técnico
Desc ribir
la
ubicación
Desc ribir
la
ubicación
Usuario del sistema
paso
Doc
documento
Desc ribir
la
ubicación
Describi r la ubicación
Sistema
Acción del usuario en el Orden Flujo del caso de prueba
en el que se ejecuta
el
paso
sistema,
definir las entradas
requeridas en el paso y que realiza el usuario durante el paso, en caso que presente entradas, describir que hace el
Respuesta del sistema a la acción
realizada
por el usuario
usuario con las entradas.
Post condiciones
Describir el estado del sistema luego de la ejecución de caso de prueba.
PRUEBAS DE SOFWARE - 2017-0
Página 43 de 48
UNIVERSIDAD NACIONAL DE TRUJILLO TECNOLOGÍA DE LA PROMAGACIÓN II
9.4.
MATRIZ DE TRAZABILIDAD DE PRUEBAS:
9.5.
EJECUCION DE PRUEBAS DE SOFTWARE:
Es el periodo de tiempo en el ciclo de vida de desarrollo software, durante el cual los componentes de un producto software son ejecutados y el producto software es evaluado para determinar si los requisitos han sido satisfechos. En esta parte de ejecución de proyectos de desarrollo de software suele ser el más importante y es un momento en el que hay varios que están pendientes sobre la calidad del software. Se realiza principalmente para dar a conocer a las áreas de pruebas, desarrollo, funcionales y área de negocio cual es la situación de las pruebas (que fallos han sido reconocidos y cuales faltan por analizar).
PRUEBAS DE SOFWARE - 2017-0
Página 44 de 48
UNIVERSIDAD NACIONAL DE TRUJILLO TECNOLOGÍA DE LA PROMAGACIÓN II
Lo más recomendable antes de empezar es hacer un test de clasificación de la versión (qualification testing) para evaluar que la aplicación es lo suficientemente estable para comenzar la ejecución de las pruebas. “De nada
sirve comenzar una ronda de test si al cabo de cinco golpes de ratón la aplicación rompe. Tiene que tener un mínimo de estabilidad.”
9.6.
PROCESO DE UNA EJECUCION FORMAL: Comúnmente se piensa que realizar la ejecución de pruebas de software es simplemente probar el software realizando una serie de casos al azar para luego hacer un reporte sobre posibles errores, sin embargo, para productos de complejidad media en adelante, lo recomendable es implementar de manera formal una metodología de pruebas.
Mayormente se implementa los siguientes pasos: PRUEBAS DE SOFWARE - 2017-0
Página 45 de 48
UNIVERSIDAD NACIONAL DE TRUJILLO TECNOLOGÍA DE LA PROMAGACIÓN II
1) PLANEACION DE PRUEBAS : Tiene como base presentar un documento para describir el proceso y estrategias a tratar durante el desarrollo de las pruebas llamado el “TEST PLAN”. • Alcance de la prueba:
Determina que funcionalidades del producto y/o software serán probadas durante el transcurso de la prueba. Que funcionalidades y que tanto se le debe dar importancia se conoce gracias a un análisis de riesgos realizado de manera previa, que tienen en cuenta variables tales como el impacto que podría ocasionar la falla de una funcionalidad y la probabilidad de falla de una funcionalidad. • Tipos de Prueb a:
Como es de esperarse no todos los procesos son iguales lo cual implica que las pruebas no van a ser las mismas a usar, en este caso interviene el líder de ejecución que se encarga de plantear preguntas para llegar a determinar los tipos de prueba a usar. Los posibles tipos de prueba a aplicar son: pruebas de stress, pruebas de rendimiento, pruebas de carga, pruebas funcionales, pruebas de usabilidad, pruebas de regresión, entre otros. • Criterios de Salida:
Entre las partes involucradas en el proceso, se define de manera formal, bajo qué condiciones se puede considerar
que una actividad de pruebas fue finalizada.
Los
criterios de salida se deben definir para cada nivel de pruebas a ejecutar. Algunos ejemplos de criterios de salida que pueden ser utilizados son: porcentaje de funcionalidades de alto riesgo probadas con éxito, número defectos críticos y/o mayores aceptados, etc
2) DISEÑO DE PRUEBAS Una vez elaborado y aprobado el plan de pruebas, el equipo de trabajo debe iniciar el análisis de toda la documentación, con el objetivo de idear los casos de prueba. Los puntos importantes para iniciar este diseño pueden ser: casos de uso, historias de usuario, arquitectura del sistema, diseños, manuales de usuario, manuales técnicos, etc.
Al momento de hacer un diseño se debe tener en cuenta casos positivos y
negativos. Los casos de prueba negativos permiten validar cómo se comporta el sistema ante situaciones atípicas y permite verificar la robustez del sistema, atributo
PRUEBAS DE SOFWARE - 2017-0
Página 46 de 48
UNIVERSIDAD NACIONAL DE TRUJILLO TECNOLOGÍA DE LA PROMAGACIÓN II
que constituye uno de los requerimientos no funcionales indispensable para cualquier software.
3) IMPLEMENTACIÓN DE PRUEBAS: Este proceso debe comenzar con reconocer datos de prueba con los cuales poder ejecutar los casos de prueba diseñados. La ejecución de e stos casos, puede realizarse de manera manual o automatizada. Cuando se detecte un fallo en el sistema, este debe ser documentado y registrado en una herramienta que permita
gestionar los
defectos (Bug Tracker). Una vez el defecto ha sido corregido por la firma desarrolladora en su respectivo proceso de depuración, es necesario realizar un re-test que permita confirmar que el defecto fue solucionado de manera exitosa. Por último, es indispensable ejecutar un ciclo de regresión que nos permita garantizar, que los defectos corregidos en el proceso de depuración de la firma, no hayan desencadenado otros tipos de defectos en el sistema.
4) EVALUACION DE CRITERIOS DE SALIDA: Los criterios de salida son imprescindibles para poder identificar cuando un proceso o un ciclo de prueba son aceptados. Para esto, es conveniente definir una serie de métricas que permitirán al finalizar un proceso de pruebas, comparar los resultados obtenidos contra las métricas definidas, sí los resultados obtenidos no superan la métricas definidas, no es posible continuar con el siguiente ciclo de pruebas.
5) CIERRE DEL PROCESO: Durante este periodo se deben cerrar las incidencias reportadas, se debe verificar si los entregables planeados han sido entregados y aprobados en los cuales están los reportes de error y éxito de las pruebas realizadas, se deben finalizar y aprobar los documentos de soporte de prueba.
PRUEBAS DE SOFWARE - 2017-0
Página 47 de 48