Ingeniería de pruebas

Introducción

 Las pruebas son el único instrumento que puede determinar la calidad de un producto software, es decir, es el único método por el que se puede asegurar que un software cumpla con los requerimientos. Pero no sólo hay que aplicar un par de pruebas a un software, hay que hacerlo de una manera muy controlado y correcta. El uso inadecuado de pruebas tiene como consecuencia una baja calidad, un aumento de los costes durante el desarrollo, retraso en la comercialización, etc. Para probar de manera correcta los productos software surgen diferentes metodologías a lo largo del tiempo. Metodologías que se adaptan evolucionando de forma paralela con la Ingeniería del software

Ingeniería de Pruebas

Tambien llamado Software Testing, es un proceso de la ingeniería por el cual se controla que un sistema cumpla con sus requisitos funcionales y funcione correctamente adecuándolo a unos estándares de calidad y fiabilidad. Su principal objetivo es encontrar errores aunque su problema principal es determinar el origen del error.

Prueba

Es un conjunto de herramientas, técnicas y métodos que hacen a la exclencia del desempeño de un progrma, así como tambien la mejor publicidad que una empresa dedicada a la producción de software pueda tener. 
Se hacen casos de prueba que son un conjunto de condiciones o variables bajo las cuáles el análista determinará si el requisito de una aplicacion funciona correctamente.

Fallo

Es la discrepancia visible que se produce al ejecutar un programa con un defecto, por lo que es incapáz de funcionar correctamente.

Error

Es una equivocación cometida por un desarrollador.

Defecto

Es el resultado de un fallo o deficiencia durante el proceso de creación de programas de ordenador o computadora.

Validación vs Verificación

La validación es un proceso subjetivo donde se valora si es correcto lo que hace un sistema, es decir, se centra en el resultado. Mientras que la vereficación es un proceso objetivo que se centra en lo que se supone debe hacer un progama, comprobando que todo se ejecuta de forma correcta y que no se ejecutan funciones que puedan degradar el funcionamiento.

Principios

 - Una parte necesaria de un caso de prueba es una definición de la salida o los resultados esperados.
- Un programador debe evitr intentar probar su propio programa.
- Una organización de programación no debería probar sus propios programas.
- Cualquier proceso de prueba debe incluir una minciona inspección de los resultados de cada test.
- Deben escribirse casos de prueba para condiciones de entrada que sean inválidas o inesperadas, así como para quellas que son válidas y esperadas.
- Examinar un programa para ver su no hace lo que se supone debe hacer es sólo la mitad del trabajo, la otra mitad es comprobar que el programa hace lo que se supone no debe hacer.
- Evitar usar y tirar casos de prueba a menos que el progrma realmente sea de usar y tirar.
- No planificar una prueba asumiendo que no se van a encontrar errores.
- La probabilidad de existencia de más errores en una secció de un programa es proporcional al número de errores ya encontrados en dicha selección.
- Las pruebas de software son una tarea extremadamente creativa y reto intelectual.

Conclusión

El mundo del Testing Software es uno de los trabajos más difíciles y satisfactorios en la industria del Desarrollo de Software. Las pruebas son un desafío estrategico, además de que se requiere un ingenio impresiónante para crealas pensando en lo que podría llegar a hacer o no hacer un programa. Es muy dificil crear y/o encontrar un programa con un cero porciento de errores, ya que siempre habrá uno que se esconda. Todos, absolutamente todos los programas contienen un error y constantemente se tienen que aplicar las pruebas necesarias con cada modificación que se haga al código, así que las pruebas son una parte fundamental en el desarrollo de un sistema o software ya que nos ayudan a indentificarlos y corregirlos para evitar una falla, sin embargo, ayudan a que nuestro sistema se pueda validar y verificar para conseguir cubir los requisitos del cliente a la vez de que funcione correctamente.

Bibliografía 

- Bertolino A. (2003) Software Testing Research and Practice. Electronic Edition (Springer Link).
- Olsina, L. A. (1999) Metología Cuantitativa para la evaluación y comparaciñn de la calidad de sitios Web (Tesis Doctoral). Universidad Nacional de la Plata. Facultad de Ciencias Exactas.
-  https://eseida.wikispaces.com/file/view/Introducci%C3%B3n+al+Software+Testing.pdf

Comentarios

Entradas más populares de este blog

Cifrado Asimétrico

Proceso de depuración

Sockets