Tipos de Pruebas de Testing

January 17, 2018 | Author: René Vera | Category: Software Testing, Usability, Software, Computer Program, Computer Engineering
Share Embed Donate


Short Description

Download Tipos de Pruebas de Testing...

Description

INSTITUTO TECNOLOGICO SUPERIOR DE TEPEXI DE RODRÍGUEZ ORGANISMO PÚBLICO DESCENTRALIZADO DEL GOBIERNO DEL ESTADO DE PUEBLA

ING. EN SISTEMAS COMPUTACIONALES

VERIFICACION Y VALIDACION

RESUMEN TIPOS DE PRUEBAS DE TESTING

DOCENTE ING. LUCINA TORRES AGUILAR

ALUMNO: RENÉ VERA ARGÜELLES

INSTITUTO TECNOLOGICO SUPERIOR DE TEPEXI DE RODRÍGUEZ ORGANISMO PÚBLICO DESCENTRALIZADO DEL GOBIERNO DEL ESTADO DE PUEBLA

Tipos de Pruebas de Testing Pruebas Unitarias La primera etapa de pruebas a considerar es la etapa de pruebas unitarias o también llamada pruebas de caja blanca (White Box), estás pruebas también son llamadas pruebas modulares ya que nos permiten determinar si un módulo del programa está listo y correctamente terminado, estas pruebas no se deben confundir con las pruebas informales que realiza el programador mientras está desarrollando el módulo. El principal factor que se debe considerar al inicio de las pruebas es el tamaño del módulo a probar, se debe considerar si el tamaño del módulo permitirá probar adecuadamente toda su funcionalidad de manera sencilla y rápida. También es importante separar los módulos de acuerdo a su funcionalidad, si los módulos son muy grandes y contienen muchas funcionalidades, estos se volverán más complejos de probar y al encontrar algún error será más difícil ubicar la funcionalidad defectuosa y corregirla. Al hacer esta labor el analista de pruebas podrá recomendar que un módulo muy complejo sea separado en 2 o 3 módulos más sencillos.

INSTITUTO TECNOLOGICO SUPERIOR DE TEPEXI DE RODRÍGUEZ ORGANISMO PÚBLICO DESCENTRALIZADO DEL GOBIERNO DEL ESTADO DE PUEBLA

Integración incremental

Al realizar una integración incremental debemos combinar o unir el siguiente módulo que se debe probar con el conjunto de módulos ya probados. El número de módulos se incrementa progresivamente hasta formar el programa completo. Esto lo podemos realizar de 2 formas. 

Integración Incremental Ascendente.



Integración Incremental Descendente.

Integración incremental ascendente 

En este tipo de integración se combinan los módulos de más bajo nivel en grupos que realizan alguna sub función específica.



A través de un driver (módulo impulsor) se simulan llamadas a los módulos, se introducen los datos de prueba y se recogen los resultados.



Cada grupo se prueba usando su driver (test integrador), y este luego es sustituido por los módulos de nivel superior en la jerarquía. En el último paso se prueba el programa completo con sus entradas y salidas reales.

Ventajas de la integración incremental ascendente: 

Las entradas para las pruebas son más fáciles de crear ya que los módulos inferiores suelen tener funciones más específicas.



Es más fácil la observación de los resultados de las pruebas puesto que es en los módulos inferiores donde se elaboran.



Resuelve primero los errores de los módulos inferiores que son los que acostumbran tener el procesamiento más complejo, para luego nutrir de datos al resto del sistema.

Desventajas de la integración incremental ascendente:

INSTITUTO TECNOLOGICO SUPERIOR DE TEPEXI DE RODRÍGUEZ ORGANISMO PÚBLICO DESCENTRALIZADO DEL GOBIERNO DEL ESTADO DE PUEBLA 

Se requieren módulos impulsores, que deben escribirse especialmente y que no son necesariamente sencillos de codificar.



El sistema como entidad no existe hasta que se agrega el último módulo

Integración incremental Descendente Inicia del módulo de control principal (de mayor nivel) para luego ir incorporando los módulos subordinados progresivamente. No hay un procedimiento considerado óptimo para seleccionar el siguiente módulo a incorporar. La única regla es que el módulo incorporado tenga todos los módulos que lo invocan previamente probados. En general no hay una secuencia óptima de integración. Debe estudiarse el problema concreto y de acuerdo a este, buscar el orden de integración más adecuado para la organización de las pruebas. No obstante, pueden considerarse las siguientes pautas: 

Si hay secciones críticas como ser un módulo complicado, se debe proyectar la secuencia de integración para incorporarlas lo antes posible.



El orden de integración debe incorporar cuanto antes los módulos de entrada y salida.

Existen principalmente dos métodos para la incorporación de módulos: 1. Primero en profundidad: Primero se mueve verticalmente en la estructura de módulos. 2. Primero en anchura: Primero se mueve horizontalmente en la estructura de módulos. Etapas de la integración descendente: 

El módulo de mayor nivel hace de impulsor y se escriben módulos ficticios simulando a los subordinados, que serán llamados por el módulo de control superior.



Probar cada vez que se incorpora un módulo nuevo al conjunto ya engarzado.



Al terminar cada prueba, sustituir un módulo ficticio subordinado por el real que reemplazaba, según el orden elegido.

INSTITUTO TECNOLOGICO SUPERIOR DE TEPEXI DE RODRÍGUEZ ORGANISMO PÚBLICO DESCENTRALIZADO DEL GOBIERNO DEL ESTADO DE PUEBLA 

Escribir los módulos ficticios subordinados que se necesiten para la prueba del nuevo módulo incorporado.

Ventajas de la integración descendente: 

Las fallas que pudieran existir en los módulos superiores se detectan en una etapa temprana.



Permite ver la estructura del sistema desde un principio, facilitando la elaboración de demostraciones de su funcionamiento.



Concuerda con la necesidad de definir primero las interfaces de los distintos subsistemas para después seguir con las funciones específicas de cada uno por separado.

Desventajas de la integración descendente: 

Requiere mucho trabajo de desarrollo adicional ya que se deben escribir un gran número de módulos ficticios subordinados que no siempre son fáciles de realizar. Suelen ser más complicados de lo que aparentan.



Antes de incorporar los módulos de entrada y salida resulta difícil introducir los casos de prueba y obtener los resultados.



Los juegos de datos de prueba pueden resultar difíciles o imposibles de generar puesto que generalmente son los módulos de nivel inferior los que proporcionan los detalles.



Induce a diferir la terminación de la prueba de ciertos módulos

INSTITUTO TECNOLOGICO SUPERIOR DE TEPEXI DE RODRÍGUEZ ORGANISMO PÚBLICO DESCENTRALIZADO DEL GOBIERNO DEL ESTADO DE PUEBLA

Tipos de testing Testing Funcional: se focaliza en verificar si el software cumple con las especificaciones aprobadas a través de la utilización de una amplia variedad de escenarios que incluyen rangos de entradas normales y erróneas, testing de interfaz, chequeo de seguridad. Testing de Regresión: se realiza pruebas de todas las funcionalidades del software a través de diferentes ciclos de prueba e incluso acelerando los tiempos de ejecución del testing por intermedio de herramientas automatizadas. Testing de Compatibilidad: asegura que el software es compatible con versiones determinadas de sistemas operativos, web servers, base de datos y demás componentes constituyentes de la arquitectura de la aplicación. Testing de Performance: verifica tiempos de respuestas, recursos consumidos, cuellos de botella y recursos disponibles en la operatoria normal de la aplicación. Testing de Stress: se sobrecarga el software para verificar su comportamiento en cuanto a concurrencia, manejo de errores y recursos consumidos. Testing de Unidades de Código: se realizan pruebas de piezas individuales de código que luego se ensamblan en una aplicación. Testing de Caja Blanca: prueba del código de la aplicación, asegurando que el mismo cumple con los estándares y buenas prácticas de codificación dispuestas por la organización. Testing de Usabilidad: asegura que su aplicación está diseñada respetando consideraciones básicas de usabilidad. Se incluye como parte de este tipo de testing: documentación conteniendo recomendaciones acerca de las características de ergonomía y navegabilidad de acuerdo a normas internacionales que definen lineamientos al respecto.

INSTITUTO TECNOLOGICO SUPERIOR DE TEPEXI DE RODRÍGUEZ ORGANISMO PÚBLICO DESCENTRALIZADO DEL GOBIERNO DEL ESTADO DE PUEBLA

Pruebas de caja negra y caja blanca Hay una de dos maneras de probar cualquier producto construido 1) si se conoce la función específica para la que se diseñó el producto, se aplican pruebas, que demuestren que cada función es plenamente operacional, mientras se buscan los errores de cada función; 2) si se conoce el funcionamiento interno del producto, se aplican pruebas para asegurarse de que todas las piezas encajan": es decir, que las operaciones internas se realizan de acuerdo con las especificaciones, y que se han probado todos los componentes internos de manera adecuada. Al primer enfoque de prueba se le denomina prueba de caja negra; al segundo, prueba de caja blanca.

Prueba de la ruta básica Técnica de prueba de caja blanca que propuso inicialmente Tom McCabe [MCC76]. El método de la ruta básica permite que el diseñador de casos de prueba obtenga una medida de complejidad lógica de un diseño procedimental. ¿Cómo se sabe cuántas rutas buscar? El cálculo de la complejidad ciclomática nos ayuda a encontrarla, ya que esta es una métrica de software que proporciona una medida cuantitativa de la complejidad lógica de un programa. El método de prueba de la ruta básica se aplica a un diseño procedimental o al código fuente.

Pruebas de la estructura de control Se refiere a pruebas con respecto a las sentencias tales como whila, Do-while, for, if-else.

Prueba de la caja negra Las pruebas de caja negra están diseñadas para validar requisitos funcionales sin importar el funcionamiento

interno

de

un

programa.

Estas

técnicas

de

prueba

concentran en el dominio de la información del software, derivando casos de prueba mediante partición de los dominios de entrada y salida de un programa en forma tal que proporcione cobertura completa.

INSTITUTO TECNOLOGICO SUPERIOR DE TEPEXI DE RODRÍGUEZ ORGANISMO PÚBLICO DESCENTRALIZADO DEL GOBIERNO DEL ESTADO DE PUEBLA

Pruebas funcionales con Globe testing El servicio de pruebas funcionales se centra en comprobar que los sistemas desarrollados funcionan acorde a las especificaciones funcionales y requisitos del cliente. Este servicio ayuda a su organización a detectar los posibles defectos derivados de errores en la fase de programación. El equipo de pruebas funcionales de Globe Testing se centra en el comportamiento de los sistemas y en los datos de entrada y salida del entorno bajo pruebas. Dentro de las pruebas funcionales, Globe Testing se centra en las siguientes áreas, pudiendo cubrir otros tipos de pruebas que no aparezcan a continuación: 

Pruebas de compatibilidad: comprueban el funcionamiento del software desarrollado en diferentes plataformas: hardware, sistemas operativos, navegadores, redes…



Pruebas de integración: comprueban las conexiones y comunicaciones entre los diferentes módulos del software desarrollado o con terceros (pasarelas de pago, sistemas publicitarios…).



Pruebas de regresión: comprueban el correcto funcionamiento del software desarrollado frente a evolutivos o cambios de funcionalidad.

Las pruebas funcionales son realizadas en su gran mayoría de forma manual, pudiendo automatizar algunas de ellas (pruebas automáticas o automatizadas) para ahorrar tiempo en procedimientos repetitivos, o bien, aumentar la fiabilidad de las mismas eliminando el error humano intrínseco de las pruebas funcionales.

INSTITUTO TECNOLOGICO SUPERIOR DE TEPEXI DE RODRÍGUEZ ORGANISMO PÚBLICO DESCENTRALIZADO DEL GOBIERNO DEL ESTADO DE PUEBLA

Bibliografía http://www.calidadysoftware.com/testing/pruebas_unitarias1.php, Autor: Ing. Alexander Oré B, consultado:01/08/2013 http://www.globetesting.com/pruebas-funcionales/, consultado: 01/08/2013 Roger Pressman, “ingenieria del software”, 6ª. Edición, McGraw-Hill, 2002

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF