Unidad 2 Pruebas.
2.1 Tipos de pruebas.
2.2 Cobertura de las pruebas.
2.3 Preparación de la prueba.
2.4 Productos de la prueba.
2.5 Criterios para la realización de pruebas.
2.6 Plan Pruebas (validación y verificación).
2.7 Estructura de los casos de Prueba.
2.8 Conceptos Generales los diseño de las pruebas (validación y verificación).
2.9 Reporte y Seguimiento de errores.
2.10 Informe de la Prueba.
2.11 Fuentes de información de QA para el control estadística o métricas.
2.12 Control estadístico vs métricas.
2.13 Importancia de la calidad, las métricas y el control estadístico.
2.1 Tipos de pruebas.
Pruebas de Unidad
Se prueban los caminos de Control
Importantes, para descubrir errores dentro de los límites del módulo
Se puede trabajar en varios módulos a la
vez
Pruebas
de Caja Blanca: Usa la
estructura de control del diseño procedimental para obtener los casos de
prueba.
Prueba
del Camino Básico:
Permite al diseñador de casos de prueba obtener una medida de la complejidad
lógica de un diseño procedimental y usar esa medida como guía para la
definición de un conjunto básico de caminos de ejecución.
Complejidad
Ciclomática: Define el
número de caminos independientes del conjunto básico de un programa y nos da un
límite inferior para el número de pruebas que se deben realizar para asegurar
que se ejecuta cada sentencia al menos una vez.
Pruebas
de Integración: Se
comprueba la compatibilidad y funcionalidad de los interfaces entre las
distintas ‘partes’ que componen un sistema, estas ‘partes’ pueden ser módulos,
aplicaciones individuales, aplicaciones cliente/servidor, etc.
Pruebas
de Validación: La
validación del software se consigue mediante una serie de pruebas de caja negra
que demuestran la conformidad con los requisitos.
Prueba
Alfa: Las pruebas alfa
se llevan a cabo en un entorno controlado, pero por un cliente
Prueba
Beta: Es una aplicación
en vivo del software en un entorno que no puede ser controlado por el
desarrollador
Pruebas
de Sistema: Pruebas de
Recuperación: Fuerza el fallo del software de muchas formas y verifica que la
recuperación se lleva a cabo apropiadamente.
Pruebas
de Seguridad: Intenta
verificar que los mecanismos de protección incorporados en el sistema lo
protegerán de accesos impropios por parte de piratas informáticos.
Pruebas
de Resistencia: Ejecuta
un sistema de forma que demande recursos en cantidad, frecuencia o volúmenes
anormales
Prueba
de Rendimiento:
Consisten en determinar que los tiempos de respuesta están dentro de los
intervalos establecidos en las especificaciones del sistema.
2.2 Cobertura de las pruebas.
¿Qué es la cobertura?
La cobertura es
la cantidad de código (medida porcentualmente) que está siento cubierto por las
pruebas. O sea, ejecuto las pruebas de mi aplicación y si hay alguna línea de
mi código que nunca fue ejecutada en el contexto de las pruebas, entonces dicha
línea no está cubierta. Si mi código consta de 100 líneas y solo 50 líneas
están siendo ejecutadas al correr las pruebas, entonces mi cobertura es del
50%. La pregunta que viene a continuación es:
¿Qué
beneficio tiene medir la cobertura? y más específicamente ¿qué beneficios
tiene tener una alta cobertura?
Una respuesta
genérica podría ser que aumenta la calidad de mi aplicación. Siendo más
concreto podría decir que si tengo una alta cobertura, significa que gran parte
me mi código está siendo probado y por consiguiente podría tener cierta certeza
sobre el correcto funcionamiento de mi aplicación. Al mismo tiempo medir la
cobertura podría ayudarme a detectar código innecesario en mi aplicación, ya
que es código que no se ejecuta.
2.3 Preparación de la prueba.
Propósito del plan de pruebas: es explicar el
alcance, enfoque, recursos requeridos, calendario, responsables y manejo de
riesgos de un proceso de pruebas. Note que puede haber un plan global que
explicite el énfasis a realizar sobre los distintos tipos de pruebas (verificación,
integración e integración).
UN PLAN DE
PRUEBAS INCLUYE:
ü Identificador
del plan:
ü Alcance.
ü ITEMSA aprobar.
ü Estrategia.
ü Categorización
de la clasificación.
ü Tangibles.
ü Procedimientos
especiales.
ü Recursos.
ü Calendario.
ü Manejo de
riesgos.
ü Responsables.
2.4 Productos
de la prueba.
•
La verificación
consiste en corroborar que el programa respeta su especificación, mientras que validación significa corroborar que el
programa satisface las expectativas del usuario
•
Una falla es el
síntoma manifiesto de la presencia de un error, Es decir que un error permanecerá oculto hasta que
ocurra una falla causada por aquel.
•
Ejemplo si la condición de
una sentencia if es x > 0
cuando debería haber sido x > 1.
•
Las Prueba (test) es 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 realiza una
evaluación de algún aspecto
2.5 Criterios para la realización de pruebas.
Criterios de Inicio Para que el plan de
pruebas se pueda llevar a cabo se deben:
ü
Contar
con los equipos necesarios para poder llevar a cabo el plan de pruebas
ü
Contar
con el software para realizar las pruebas de rendimiento
ü
Contar
con el software de soporte
ü
Contar
con el personal capacitado para realizar la prueba
2.6 Plan Pruebas (validación y verificación).
Para que el plan de pruebas Performance
of AddressBook se dé por concluido se deben cumplir las siguientes actividades:
Criterios
de Fin
ü
Probar
el Botón de agregar
ü
Probar
el Botón de editar
ü
Probar
el Botón de eliminar
ü
Probar
el Botón de guardar
ü
Probar
el Botón de cancelar
ü
Probar
el Botón de salir
ü
Probar
cada una de las etiquetas (Labels)
ü
Probar
cada uno de los cuadros de texto (TextBox)
ü
Probar
el DataGridView
ü
Probar
el rendimiento del sistema
ü
Probar
la interfaz del usuario. Se realizarán las iteraciones necesarias hasta que se
la aplicación funcione conforme a lo establecido.
Criterios
de Suspensión y Retorno de Actividades
Las únicas posibles maneras de que la
prueba se pueda suspender es por enfermedad de alguna de las personas que
realizarán las pruebas y se reanudarán éstas cuando la persona vuelva a estar
en condiciones de realizar la prueba o que sea remplazado por otra persona
capacitada.
Criterios
para el Lanzamiento
Criterios de Evaluación Para que el plan
de pruebas Performance of AddressBook se dé por concluido se deben cumplir las
siguientes condiciones:
ü
El
botón de agregado cumpla con la función de agregar
ü
El
botón de modificación
ü
El
botón de eliminado permita eliminar un registro
ü
El
botón de guardar cumpla con la función de guardar un cambio
ü
El
botón cancelar deshaga cualquier cambio que se haga sin que éste haya sido
guardado anteriormente
ü
El
cuadro de texto envíe la información adecuada al lugar adecuado dentro de la
Base de Datos.
ü
Las
etiquetas coincidan con los cuadros de texto de acuerdo al diseño, y deben
tener una buena ortografía.
ü
La
interfaz este hecha y organizada conforme al diseño
ü
El
rendimiento de la aplicación sea la óptima para que no se trabe a la hora de la
ejecución
2.7
Estructura de los casos de Prueba.
¿Qué es el diseño de los casos de
prueba?
Es una parte de las pruebas de
componentes y sistemas en las que se diseñan los casos de prueba (entradas y
salidas esperadas) para probar el sistema.
ü
Su
objetivo es crear un conjunto de casos de prueba que sean efectivos
descubriendo defectos en los programas y muestren que el sistema satisface sus
requerimientos.
ü
Puntos
para diseñar un caso de prueba
ü
Seleccionar
una característica del sistema o componente que se está probando.
ü
Seleccionar
un conjunto de entradas que ejecutan dicha característica, se documentan las
salidas esperadas o rangos de salida.
Aproximaciones que pueden seguirse para
diseñar los casos de prueba
ü
Pruebas
basadas en los requerimientos
ü
Pruebas
de particiones
ü
Pruebas
estructurales
ü
Pruebas
de caminos
Pruebas basadas en requerimientos ´ Son una aproximación sistemática al
diseño de casos de prueba en donde el usuario considera cada requerimiento y
deriva un conjunto de pruebas para cada uno de ellos.
2.8 Conceptos Generales de los diseños de las
pruebas (validación y verificación).
Verificación y validación del diseño
C. Planificación- inspección
de software
ü
Pruebas del software
ü
Pruebas del sistema
ü
Pruebas de componentes
ü
Diseño de casos de prueba
ü
Automatización de las pruebas
La prueba del software se
conoce también como verificación y validación
Verificación: Son las actividades que buscan asegurar si el software implementa
correctamente una función específica (¿Estamos construyendo el producto
correctamente?)
Validación: son las actividades que buscan asegurar si el software construido
se ajusta a los requisitos del cliente (¿Estamos construyendo el producto
correcto?).
Durante y después del
proceso de implementación, el programa en desarrollo debe ser comprobado, para
asegurar que satisface su especificación y entrega la funcionalidad esperada
por el cliente.
La verificación y la
validación es el nombre dado a estos procesos de análisis y pruebas
La verificación y la
validación tienen lugar en cada etapa del proceso del software.
2.9 Reporte
y Seguimiento de errores.
Un sistema de seguimiento de
errores es una aplicación informática diseñada para ayudar asegurar la calidad
de software
Componentes:
Una base de datos
·
Los hechos
·
Programadores
·
Personal asignado
·
Fecha del error
·
Código que lo corrige
·
Reporte
Uso
En un entorno corporativo,
un sistema de reporte de errores puede ser utilizado para generar reportes de
la productividad de programadores al reparar errores.
Ciclo de vida: Todos los sistemas
de seguimiento de errores identifican un ciclo de vida es configurable
1.
Crear una entrada
2.
Otros leen la entrada
3.
El fallo es reproducido
4.
El fallo es diagnosticado
5.
El fallo es programado para su resolución
2.10
nforme de la Prueba.
Código
asociado al proyecto: Código
del requerimiento o proyecto según la nomenclatura definida por la
organización. Este código se usa para identificar todos los documentos
asociados y para registrarlo en los sistemas de gestión.
Nombre
del proyecto: Nombre o descripción por lo cual se conoce al
requerimiento o proyecto. Suele estar relacionado con la funcionalidad que se
está desarrollando.
Fecha
comienzo planificada: Fecha
calendario en la cual estaba planificado iniciar, según el plan de pruebas de software.
Fecha de
finalización planificada: Fecha
calendario en la cual se tiene planificado finalizar las pruebas, considerando
el número de casos de prueba total y las metas de casos diaria.
Casos de
prueba (Total): Cantidad
de casos de prueba que están incluidos en el diseño de casos de prueba. Representa el número total de casos que
ejecutarán los Testers en el período definido para las pruebas.
Casos
planificados: Cantidad de casos de pruebas
que deberían estar completados a la fecha según la planificación.
Casos
exitosos: Cantidad de casos reales
completados. Esto representa el avance real de las pruebas. Sólo se cuentan los
casos que las pruebas fueron superadas sin error, los casos con error no
cuentan para el avance.
Avance
planificado: Los casos
de prueba planificados divididos entre el total de casos de prueba, dan como
resultado el porcentaje de avance que deben tener las pruebas a la fecha de
reporte.
Avance
real: Se calcula por medio de la división de los casos
exitosos entre el total de casos contemplados en el diseño de pruebas.
Desviación: La diferencia entre el avance real y el planificado
resulta en la desviación. Un número negativo representa que las pruebas están
avanzando por debajo de lo esperado.
Días de
desviación: Los días de desviación se
calculan multiplicando el porcentaje de desviación por los casos
diarios. A su vez los casos diarios se determinan dividiendo el número
total de casos entre los días hábiles disponibles para realizar las pruebas.
Fecha fin
pronóstico: Para determinar la fecha fin pronóstico es
necesario sumar a la fecha fin planificada los días de desviación.
Casos con
incidencia: Cantidad de casos de prueba ejecutados que presentaron alguna incidencia.
Aún después de corregir la incidencia el caso sigue siendo sumado, de esta forma al
final se tendrán cuantos casos presentaron incidencias.
Casos con
incidencias: División de los casos que presentaron alguna
incidencia entre el total de casos. Representa un índice de la calidad del
desarrollo e inclusive se pueden establecer acuerdos de nivel de servicio.
Situación actual de casos de prueba
Exitosos: Cantidad de casos de prueba que se encuentran
en estado "Exitoso" a la fecha del informe. Son los casos que un
Analista de pruebas ha ejecutado y ha sido superado sin error.
Con defectos: Cantidad de casos de prueba que se encuentran en
estado "Fallido" a la fecha del informe. Son los casos que tienen
asociados defectos con estatus distintos de cerrado.
Bloqueados: Cantidad de casos de prueba que se encuentran
en estado "Bloqueado" a la fecha del informe. Un caso puede estar
bloqueado por ejemplo cuando existe una incidencia identificada en otro caso
pero que a su vez impide la ejecución de otros casos.
Diferidos: Cantidad de casos de prueba que se encuentran en
estado "Diferido" a la fecha del informe. Un caso puede ser diferido
por distintas razones, una de ellas por ejemplo es la no disponibilidad de un
ambiente para un componente especifico.
Pendientes: Cantidad de casos de prueba que se encuentran en
estado "Pendiente" a la fecha del informe. Son los casos que no han
sido ejecutados aún.
Los estados en los cuales se puede encontrar un caso de prueba son
definidos en la metodología de pruebas de
software.
Situación actual de defectos
En
análisis: Cantidad de defectos que se
encuentran en análisis, no han sido aceptados todavía.
Descartados: Cantidad de defectos descartados porque no
aplicaban. Un no aplica ocurre cuando un Tester reporta un defecto que
realmente no lo es. Una vez aclarada la situación se registra el defecto como
descartado.
En
proceso: Cantidad de defectos que
fueron analizados y se encuentran en desarrollo.
Corregidos: Cantidad de defectos que han sido corregidos. La
corrección del defecto implica su cierre.
Existen en el
mercado herramientas de gestión de
calidad de software que te permiten gestionar los casos de prueba, sus estatus, así
como también los defectos.
Resultados de la jornada
Resultados de la jornada
Casos
del día: Casos que se lograron
ejecutar como exitosos durante la jornada (fecha de reporte).
Meta
diaria: Casos que se esperan
ejecutar cada día. Se puede calcular dividiendo los casos en diseño sobre los
días planificados, o cualquier otra forma de estimación definida.
Puntos de atención y observaciones
Espacio para que la persona que
elabora el reporte haga mención a los aspectos considerados relevantes para la
gerencia receptora del informe. Aquí se pueden colocar por ejemplo alertas.
2.11 Fuentes de información de QA para el control estadística o
métricas.
Se denominan fuentes de
información, en teoría de la y telecomunicación, a cualquier origen de
información susceptible de ser representado mediante una señal analógica y/o
digital.
QA. Calidad de servicio o
aseguramiento de la calidad.
2.12 Control estadístico vs métricas.
Producir un sistemas, aplicación o producto de
alta calidad
Para lograr este objetivo se deben emplear métodos efectivos junto con
herramientas modernas dentro del contexto de un proceso maduro de desarrollo
del software. Al mismo tiempo, un buen ingeniero del software y buenos
administradores de la ingeniería del software deben medir si la alta calidad se
va a llevar a cabo.
2.13 Importancia de la calidad, las métricas y el control
estadístico.
¿Qué es la calidad?
v “Una característica o atributo
de algo.”
v La totalidad de rasgos y
características de un producto, proceso o servicio que sostiene la habilidad de
satisfacer estados o necesidades implícitas”
En el campo de la ingeniería
del software una métrica es cualquier medida o conjunto de medidas destinadas a
conocer o estimar el tamaño u otra característica de un software o un sistema
de información, generalmente para realizar comparativas o para la planificación
de proyectos de desarrollo.
Métricas en el desarrollo del software.
1. Medida de la calidad
Aunque hay muchas medidas de
la calidad de software, la corrección, facilidad de mantenimiento, integridad y
facilidad de uso suministran indicadores útiles para el equipo del proyecto.
Corrección: La corrección es
el grado en el que el software lleva a cabo una función requerida.
Facilidad de mantenimiento: La facilidad de mantenimiento es la habilidad con la que se puede
corregir un programa si se encuentra un error, se puede adaptar si su entorno cambia
o optimizar si el cliente desea un cambio de requisitos.
El tiempo medio de cambio
(TMC), es decir, el tiempo que se tarda en analizar la petición de cambio, en
diseñar una modificación apropiada, en efectuar el cambio, en probarlo y en
distribuir el cambio a todos los usuarios.
Integridad.
En esta época de intrusos
informáticos y de virus, la integridad del software ha llegado a tener mucha
importancia. Este atributo mide la habilidad de un sistema para soportar
ataques (tanto accidentales como intencionados) contra su seguridad. El ataque
se puede ejecutar en cualquiera de los tres componentes del software, ya sea en
los programas, datos o documentos.
Dos atributos para medir la
integridad: amenaza y seguridad. La amenaza es la probabilidad (que se logra
evaluar o concluir de la evidencia empírica) de que un ataque de un tipo
establecido ocurra en un tiempo establecido. La seguridad es la probabilidad
(que se puede estimar o deducir de la evidencia empírica de que se pueda
repeler el ataque.
Facilidad de uso.
Cuantificar si un programa no
es “amigable con el usuario”, prácticamente está próximo al fracaso, incluso
aunque las funciones que realice sean valiosas.
Y se consigue medir en función
de cuatro características: destreza intelectual y/o física solicitada para
aprender el sistema; el tiempo requerido para alcanzar a ser moderadamente
eficiente en el uso del sistema; aumento neto en productividad (sobre el
enfoque que el sistema reemplaza) medida cuando alguien emplea el sistema
moderadamente y eficientemente, y
valoración subjetiva (a veces obtenida mediante un cuestionario) de la
disposición de los usuarios hacia el sistema.

Comentarios
Publicar un comentario