ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Prueba De Software


Enviado por   •  22 de Febrero de 2013  •  1.562 Palabras (7 Páginas)  •  601 Visitas

Página 1 de 7

Introducción

Una de las fases más importantes del ciclo de vida antes de entregar un software para su explotación es la fase de pruebas. Se estima que la mitad del esfuerzo de desarrollo de un programa (tanto en tiempo como en gastos) se consume en esta fase, de ahí la importancia de ésta. Las pruebas son de suma importancia para el software y tienen sus implicaciones en la calidad de éste. El desarrollo de sistemas de software implica una serie de actividades de producción en las que las posibilidades de que aparezca el fallo humano son enormes. Debido a la imposibilidad humana de trabajar y comunicarse de forma perfecta, el desarrollo de software ha de ir acompañado de una actividad que garantice la calidad. Uno de los pasos para garantizar que el producto final tenga la menor cantidad de errores posibles es el desarrollo de un correcto procedimiento de pruebas de unidad. Las pruebas de la unidad centran su proceso de verificación en la menor unidad de software, el módulo. Una unidad de programa es lo suficientemente pequeña como para que el programador pueda probarla minuciosamente tomando como guía el diseño detallado.

A este nivel las pruebas más importantes son del tipo de la caja blanca. Se denominan de la caja blanca a aquellas pruebas que examinan el código al más bajo nivel, es decir, aseguran que las operaciones internas se ajustan a las especificaciones, aunque también se llevan a cabo algunas del tipo de la caja negra que van orientadas a probar el interfaz, es decir, demuestran que cada función es completamente operativa.

Unidad de Pruebas

Es aquella que verifica un aspecto muy determinado de la funcionalidad, cada prueba unitaria se corresponde con un requerimiento (a bajo nivel) que el código debe satisfacer.

Son pruebas dirigidas a probar clases java aisladamente y están relacionadas con el código y la responsabilidad de cada clase y sus fragmentos de código más críticos. Por ejemplo una clase que envié e-mails, debe ser capaz de probarse aislada chequeando que sea capaz de enviar e-mails, y asegurándonos de probar todas las posibilidades de fallo y éxito. En un modelo basado en pruebas, se deben definir casos de prueba para cada clase de forma aislada, una prueba no debe depender de otras clases.

Importancia

Asegura calidad del código entregado. Es la mejor forma de detectar errores tempranamente en el desarrollo. No obstante, esto no asegura detectar todos los errores, por tanto prueba de integración y aceptación siguen siendo necesarias.

Ayuda a definir los requerimientos y responsabilidades de cada método en cada clase probada. Constituye una buena forma de ejecutar pruebas de concepto. Cuando es necesario hacer pruebas de conceptos sin integrar usar pruebas unitarias se convierte en un método efectivo. Permite hacer refactoring tempranamente en el código. No es necesario todo un ciclo de integración para hacer refactoring en la aplicación, basta con ver como se comporta un caso de prueba para hacer refactoring unitario sobre la clase que estamos probando en cuestión. Permite incluso hacer pruebas de estress tempranamente en el código. Por ejemplo un método que realize una consulta SQL que exceda los tiempos de aceptación es posible optimizarla antes de integrar con la aplicacíón. Permite encontrar errores o bugs tempranamente en el desarrollo. Y está demostrado que mientras más temprano se corrijan los errores, menos costará corregirlos.

Aplicación

Se utiliza para comprobar que un método concreto del código de producción funciona correctamente, probar las regresiones o realizar pruebas relacionadas (buddy) o de humo. Lo cual ayuda en el correcto funcionamiento de un módulo de código. Esto sirve para asegurar que cada uno de los módulos funcione correctamente por separado.

Características

 Las pruebas unitarias se tienen que poder ejecutar sin necesidad de intervención manual, esta característica posibilita que podamos automatizar su ejecución.

 Ayuda a definir los requerimientos y responsabilidades de cada método en cada clase probada.

 Deben ser Independientes, la ejecución de una prueba no debe afectar a la ejecución de otra.

 Permite encontrar errores o bugs tempranamente en el desarrollo.

 Deben cubrir la mayor cantidad de código.

Ventajas

 Rapidez de verificación.

 Documentan el código con las especificaciones del mismo.

 Defectos acotados y fácilmente localizables.

 Facilidad para agregar nuevas funcionalidades al código.

 Refactoring constante, con mejora de la calidad del código.

Desventajas

 No descubren todos los defectos del código: determinan la presencia de éstos en el código, no su ausencia.

 El código solo es tan bueno como lo sean sus pruebas.

 A veces no es trivial determinar todos los casos de prueba.

Pruebas de configuración

Son pruebas al sistema utilizando todas las configuraciones de software y hardware que este soporta. Durante estas pruebas, el tester valida que tan bien nuestro proyecto actual es capaz de soportar diferentes tipos de tecnologías de hardware, como diferentes tipos de impresoras, interfaces, topología etc. Se enfocan en evaluar las diferentes variaciones de una aplicación integrada, contra sus requerimientos de configuración.

Importancia

Hacer que la aplicación falle en cumplir sus requerimientos de configuración, de manera que los defectos escondidos

...

Descargar como (para miembros actualizados)  txt (10.6 Kb)  
Leer 6 páginas más »
Disponible sólo en Clubensayos.com