Você está na página 1de 48

PRUEBA DE SOFTWARE

ALFONSO CAJACHAGUA
IT Especialist
Email: Acajachagua@continental.edu.pe
Ingeniería de la Información

Agenda

1. Repaso
2. Riesgos
3. Calidad
4. Pruebas
5. Objetivos de las Pruebas
6. Pruebas y Depuración
7. Ejercicios
Ingeniería de la Información

1. REPASO
Ingeniería de la Información

TEMAS TRATADOS

¿Por qué son necesarias las Pruebas?


¿Cómo un defecto en el Software puede provocar daño a una
Organización?
Distinguir entre la causa raíz de un defecto y sus efectos
¿Por qué las pruebas son parte del aseguramiento de la calidad?

REPASO
Ingeniería de la Información

¿POR QUE SON NECESARIAS LAS PRUEBAS?

Es fácil olvidar el software cuando no funciona pero también es fácil para la


mayoría de nosotros recordar nuestras experiencias acerca del Software
que no funcionó.

Que pasa con la compañía u organización que desarrolla o adquiere el


software? Esta compañía puede sufrir daños acerca de su reputación ya sea
si es fabricante o una que provee software cuyos clientes sufren.

REPASO
Ingeniería de la Información

¿POR QUE SON NECESARIAS LAS PRUEBAS?

La compañía puede sufrir altos o impredecibles costos de mantenimiento


cuando las fallas ocurren en la Producción.
Pueden ocurrir retrasos inesperados en los ciclos de versiones cuando los
problemas son descubiertos tarde en el ciclo de desarrollo.
Si aparecen antes de la versión o después, esto puede conducir a una falta
de confianza por parte los interesados del negocio (empleados o clientes).
Incluso en ciertas situaciones el software con muchos defectos puede
resultar en juicios legales.

REPASO
Ingeniería de la Información

EN LA INDUSTRIA

En entornos donde el software esta más embebido en sistemas que


controlan procesos industriales, fábricas, plantas de energía o de
automóviles, si las aplicaciones NO funcionan correctamente, eso puede
resultar un exceso de contaminación o desperdicio de recursos.

REPASO
Ingeniería de la Información

EJEMPLOS

• El software que controla el elevador no evitó correctamente el movimiento


con la puerta parcialmente activa.
• Cuando las maquinas de las elecciones computarizadas no procesan
correctamente los votos
• Un sistema industrial podría quemar mas gasolina o consumir mas
electricidad de lo necesario.

¿De dónde vienen todas estas fallas?

REPASO
Ingeniería de la Información

LOS DEFECTOS

Los defectos están en el Sistema porque alguien los coloco allí.


Alguien cometió una equivocación, un error, cuyo resultado fue la
inserción de un defecto o “bug” en el Sistema.
Un defecto puede ser insertado en cualquier momento durante el ciclo de
vida.
Puede ser insertado en los requisitos, en las especificaciones de diseño,
en el código o en la documentación.

REPASO
Ingeniería de la Información

LOS DEFECTOS

• Un defecto insertado en el sistema podría o no resultar en una falla.


• Para que una falla ocurra, la parte defectuosa del sistema tiene que ser
ejecutada, provocando que el sistema funcione incorrectamente.
• Si la falla es visible a un cliente o un usuario podría resultar en la
insatisfacción de la calidad del sistema.

¿Quién esta detrás de todos estos defectos y fallas?

REPASO
Ingeniería de la Información

LOS DEFECTOS

Los programadores, analistas de negocios, analistas de sistemas y otros


colaboradores, incluyendo los testeadores cometen errores.
Algunos de estos errores introducen los defectos.
En condiciones de presión de tiempo la gente tiende a cometer mas
errores.
Es más fácil cometer un error cuando se esta tratando de resolver un
problema complejo.
Los sistemas y las tecnologías que los implementan cambian
continuamente y deben engranar con antiguos sistemas o tecnologías
desfasadas.

REPASO
Ingeniería de la Información

LOS DEFECTOS

• Las fallas también ocurren debido a las condiciones del entorno.


• El sistema debería controlar todas las circunstancias y los usos
previsibles.
• Dado el conjunto casi infinito de condiciones y entradas con los que los
sistemas confrontan no es realista esperar que el uso incorrecto no
provoque fallas en algunas circunstancias.

Considerando los defectos y fallas, el sistema esta sujeto además a varios


RIESGOS

REPASO
Ingeniería de la Información

2. RIESGOS
Ingeniería de la Información

DEFINICION

Es un factor que podría resultar en futuras consecuencias negativas,


usualmente expresado como el IMPACTO y la PROBABILIDAD.
Estos riesgos se relacionan con la CALIDAD.
Existen otros riesgos relacionados con el fracaso de implementar todas
las características necesarias, otros relacionados con las versiones
atrasadas, con el presupuesto y otros con las restricciones de los
recursos.

RIESGOS
Ingeniería de la Información

LOS RIESGOS Y LAS PRUEBAS

• Las PRUEBAS no gestionan estas áreas de riesgos, sino mas bien son
afectadas por estos.
• Las PRUEBAS son un medio de gestionar los riesgos de calidad:
• Proporcionan la información para guiar el proyecto en el área de los
riesgos de calidad.
• Enfocándose y localizando los problemas importantes.

RIESGOS
Ingeniería de la Información

3. CALIDAD
Ingeniería de la Información

DEFINICION

Es la APTITUD para el uso.


Es la CONFORMIDAD con los requisitos.

Apta para el uso implica que aquellos que usan, emplean o necesitan el
software son quienes deberían determinar si tiene o no calidad.
Conformidad con los requisitos quiere decir que necesita que el sistema
simplemente que el sistema trabaje de la manera especificada en algún
documento.

CALIDAD
Ingeniería de la Información

¿COMO SE RELACIONAN LAS PRUEBAS CON LA CALIDAD?

Ejecutamos un conjunto de PRUEBAS que encuentran muy pocos


defectos. Entonces deberíamos tener un nivel alto de confianza en el
sistema.
Ejecutamos un conjunto de PRUEBAS y todas estas pasan, en tal caso el
nivel restante de riesgo de la calidad es bajo, con la condición de que las
Pruebas fueron diseñadas correctamente.
Ejecutamos un conjunto de Pruebas y estas fallan. Nos proporcionan la
oportunidad de mejorar la calidad del sistema. Estas nos dan una buena
evaluación de la calidad del sistema en caso su cobertura fue la
adecuada.

CALIDAD
Ingeniería de la Información

CALIDAD, ASEGURAMIENTO Y QA

No es lo mismo Grupos de Pruebas que Grupos de Aseguramiento de


Calidad o Grupos de QA.
Las Pruebas pueden y deberían ser un parte de una estrategia mas grande
del aseguramiento de calidad, las pruebas no aseguran la calidad.
Sólo con la atención diligente a la calidad en todo el ciclo de vida del
Software y en toda la Organización se puede asegurar la CALIDAD.
El aseguramiento de la calidad por si misma tampoco es suficiente. A largo
plazo se desea la calidad para mejorar. Para eso se examina donde se
necesita mejorar y encontrar la forma de realizar las mejoras adecuadas.

CALIDAD
Ingeniería de la Información

¿Estamos realmente probando las cosas correctas?


¿Estamos probando lo suficiente?

CALIDAD
Ingeniería de la Información

4. LAS PRUEBAS
Ingeniería de la Información

GLOSARIO

DEPURACION: Es el proceso de encontrar, analizar y retirar las causas de


las fallas en el software.

PRUEBAS
Ingeniería de la Información

¿CUAL ES EL PROPOSITO DE LAS PRUEBAS?

• Las PRUEBAS son llevadas a cabo para encontrar defectos y luego


proporcionar a los programadores la información que ellos necesitan para
corregir estos defectos.
• Son llevadas a cabo para dar confianza en el nivel de calidad del sistema.
• Para prevenir defectos. Cuando los testeadores estan involucrados en las
revisiones y los diseños de pruebas son completados a medida que se
implemente el sistema.
• Para obtener una visión acerca de lo que realmente importa a la calidad
del Sistema.

PRUEBAS
Ingeniería de la Información

PROPORCIONAN INFORMACIÓN PARA RESPONDER A

¿Estamos listos para enviar a Producción?


¿Cuándo estaremos listos?
¿Cuáles son las áreas de riesgo que todavía tenemos que abordar?
¿Cuáles son los problemas conocidos mas temidos?

PRUEBAS
Ingeniería de la Información

5. OBJETIVOS DE LAS PRUEBAS


Ingeniería de la Información

GLOSARIO

• Efectividad: Producir un resultado decidido, decisivo o esperado. Para


ser testeadores efectivos debemos seleccionar los objetivos correctos y
los resultados esperados.
• Eficiencia: Quiere decir productivo del efecto esperado, productivo sin
pérdida. Para ser testeadores eficientes debemos asignar los recursos
adecuadamente. Los recursos incluyen el tiempo, ambos en cuanto al
esfuerzo y la duración, así como también al dinero y aquellas cosas que
cuestan dinero.

OBJETIVOS
Ingeniería de la Información

OBJETIVOS DE LAS PRUEBAS

Una razón o propósito para el diseño y la ejecución de una prueba.


Los objetivos de las PRUEBAS pueden cambiar dependiendo de la fase o
del nivel de pruebas involucrado.
Un objetivo general debe ser adaptado a un objetivo específico basado en
el contexto en el cual es aplicado.

OBJETIVOS
Ingeniería de la Información

OBJETIVOS POR TIPOS DE PRUEBAS

Para las Pruebas unitarias o de componente, pueden encontrar defectos


en las partes individuales del sistema sometidos a pruebas antes de que
las partes estén totalmente integradas al mismo.
Para las Pruebas de integración o cadena, es posible que quieran
encontrar defectos en las relaciones e interfaces entre los pares y grupos
de componentes en el sistema.

OBJETIVOS
Ingeniería de la Información

OBJETIVOS POR TIPOS DE PRUEBAS

Para las Pruebas de sistema, es posible que quieran encontrar defectos


en los comportamientos, funciones y respuestas del sistema.
Para las Pruebas piloto o de aceptación, por lo general no se desea
encontrar defectos en absoluto. Lo ideal es que el producto este listo
para su despliegue o evaluar la calidad y dar información acerca del
RIESGO de despliegue. Es un problema si encontramos un defecto.

OBJETIVOS
Ingeniería de la Información

OBJETIVOS POR TIPOS DE PRUEBAS

Para las Pruebas de mantenimiento, se busca especialmente un tipo


particular de defecto, aquellos introducidos durante el desarrollo de los
cambios.
Para las pruebas operativas, se busca un tipo particular de defecto
relacionado con las características no funcionales del sistema como la
fiabilidad o la disponibilidad, usualmente en el entorno en
funcionamiento.

OBJETIVOS
Ingeniería de la Información

EFECTIVIDAD Y EFICIENCIA EN LAS PRUEBAS

Hay que pensar en efectividad y Eficiencia en el contexto del proceso


completo de desarrollo o mantenimiento, no sólo en el proceso de Pruebas.

OBJETIVOS
Ingeniería de la Información

EFECTIVIDAD Y EFICIENCIA EN LAS PRUEBAS

• CASO 1:
Decidimos no empezar con el diseño de pruebas hasta que la especificación
de requisitos este terminada. Esto podría mejorar nuestra EFICIENCIA,
porque no tenemos que rehacer nuestras PRUEBAS después cuando la
especificación cambie. Sin embargo, lo que perdemos es la oportunidad de
encontrar DEFECTOS en la especificación de requisitos mientras esta
siendo escrita.
Perdemos la oportunidad de prevenir defectos.

OBJETIVOS
Ingeniería de la Información

EFECTIVIDAD Y EFICIENCIA EN LAS PRUEBAS

• CASO 2:
Los programadores dicen que no necesitan realizar las Pruebas Unitarias
porque los Testeadores encontrarán los defectos después.
Esto es verdad, pero los testeadores no necesariamente encontraran todos
los DEFECTOS que pudieran haber sido encontrados por medio de las PU,
y además los testeadores encontrarán los defectos a un COSTO más alto.

Estos casos son ejemplos de lo que definimos como SUBOPTIMIZACION

OBJETIVOS
Ingeniería de la Información

6. PRUEBAS Y DEPURACIÓN
Ingeniería de la Información

DEFINICIONES

• Uno de los Objetivos de las PRUEBAS es encontrar DEFECTOS. Por


supuesto, no encontramos realmente defectos al probar por lo general.
Encontramos FALLAS que han ocurrido, a menudo debido a defectos.

• La DEPURACION es una actividad especifica, activada por el


descubrimiento de una FALLA que creemos que surge de un defecto.
Implica la identificación de la causa raíz de un defecto.

PRUEBAS Y DEPURACIÓN
Ingeniería de la Información

LA DEPURACION

El objetivo de la DEPURACION es eliminar la causa raíz y reparar el código.


Realizada correctamente incluye algún nivel de Pruebas Unitarias para
comprobar si la reparación fue correcta.

Los Testeadores o Probadores pruebas mientras que los programadores


DEPURAN.

PRUEBAS Y DEPURACIÓN
Ingeniería de la Información

ENCONTRAR – DEPURAR - CONFIRMAR

4 ¿Todavía se comporta el resto del sistema


1 Puedo reproducir la falla? Correctamente?
2 Indica la falla un defecto de las 5 ¿Cómo puedo reparar el defecto sin
Pruebas o un defecto del Sistema? Introducir nuevos problemas?
3 ¿Qué factores influencian la 6 ¿Es depurada mi corrección
falla? INFORME DE DEFECTOS adecuadamente?

PRUEBAS
DEPURACION

TESTEADOR Entregas claras y la distribución


Del trabajo por medio de los
Informes de los Defectos y DESARROLLADOR
Procesos de las versiones de
Prueba
7 Esta corregido el problema?
¿Pasa el sistema la misma prueba
Que fallo antes?
¿Se comporta el resto del TESTEADOR
Sistema todavía
apropiadamente? EQUIPO DE PRUEBAS EQUIPO DE DESARROLLO
CORRECCION DEL DEFECTO

PRUEBAS Y DEPURACIÓN
Ingeniería de la Información

ENCONTRAR – DEPURAR - CONFIRMAR

Vista gráfica del Proceso de PRUEBAS que detecta una falla, los
programadores depuran esa falla y los testeadores realizan las pruebas de
confirmación.
• El testeador comprueba para ver si el problema es intermitente o
reproducible.

PRUEBAS Y DEPURACIÓN
Ingeniería de la Información

ENCONTRAR – DEPURAR - CONFIRMAR

• El testeador comprueba para distinguir entre una falla que surge de un


defecto del sistema y una falla que surge debido a casos de prueba,
datos de prueba inadecuados y asi sucesivamente.
• El testeador comprueba para ver si diferentes valores de configuración o
de datos podrían cambiar el comportamiento de la falla.
• Esta información ayuda al programador en la depuración (informe de
defectos)

PRUEBAS Y DEPURACIÓN
Ingeniería de la Información

ENCONTRAR – DEPURAR - CONFIRMAR

• Una vez que el programador acepta el informe de defectos, asumiendo


que el defecto debe ser corregido, él identifica la causa raíz. El trata de
repararlo sin producir más problemas. Luego el programador realiza la
prueba unitaria de la corrección.
• El probador ejecuta las pruebas de confirmación y regresión contra el
sistema con la corrección del defecto.
• Finalmente, puede concluir con el cierre del informe o puede ocurrir que
la corrección de un defecto no repara fallas completamente, resultando en
una reapertura del informe.

PRUEBAS Y DEPURACIÓN
Ingeniería de la Información

EXPECTATIVAS

Un problema común para los grupos de Pruebas son las Expectativas


desalineadas. Esto ocurre cuando las personas piensan en las Pruebas
meramente como la ejecución de pruebas contra el sistema, a menudo justo
en el final del proyecto.

PRUEBAS Y DEPURACIÓN
Ingeniería de la Información

OTRAS ACTIVIDADES DEL EQUIPO DE PRUEBAS

• Planificar y controlar
• Seleccionar las condiciones de las pruebas
• Diseñar los casos de pruebas
• Comprobar los resultados de las pruebas
• Evaluar los criterios de salida
• Informar los resultados de las pruebas
• Tareas del cierre o fin de Pruebas

PRUEBAS Y DEPURACIÓN
Ingeniería de la Información

GLOSARIO

Caso de Prueba: Un conjunto de valores de entrada, precondiciones de


ejecución, resultados esperados y pos-condiciones de ejecución,
desarrollados para un objetivo o condición de prueba particular, como para
ejercitar un camino particular del programa o para verificar la conformidad
con un requisito especifico.

PRUEBAS Y DEPURACIÓN
Ingeniería de la Información

GLOSARIO

Pruebas: Consiste en todas las actividades del ciclo de vida, tanto estáticas
como dinámicas, interesadas en la planificación, preparación y evaluación
de los productos de software y los productos de trabajo relacionados, para
determinar que satisfagan los requisitos especificados, para demostrar que
son aptos para el propósito y para detectar defectos.

PRUEBAS Y DEPURACIÓN
Ingeniería de la Información

7. EJERCICIOS
Ingeniería de la Información

EJERCICIO 1

Un programa permite ingresar 3 valores enteros que representan las


longitudes de los lados de un triangulo. Y como resultado debe emitir un
mensaje indicando el tipo de triángulo (Escaleno, Isosceles o Equilatero).
Escriba un conjunto de casos de pruebas efectivos (que encuentren
defectos comunes) y eficientes (tan pocas pruebas como sea posible).

EJERCICIOS
Ingeniería de la Información

EJERCICIO 2

• Escoja un producto o servicio implementado por TI que brinda la


Universidad a los alumnos.
• Haga una lista de los problemas, errores o fallas que ha identificado.
• Haga una lista de las pruebas que son necesarias para que funcione
correctamente.

EJERCICIOS
FIN DE PRESENTACIÓN

Você também pode gostar