Introducción
Los siguientes temas
hacen referencia a la ingeniería de pruebas de software, lo cual es fundamental
para el desarrollo de un proyecto el cual se realiza mediante la implementación
del ciclo de vida del software principalmente usando el llamado modelo de
cascada.
Este modelo consta de 5 niveles; pero se profundizara en el nivel de pruebas y todo lo que representa.
Desarrollo
Prueba.
Una prueba es la razón, argumento, instrumento u otro medio con que se pretende mostrar y hacer patente la verdad o falsedad de algo. (Real Academia Española, 2001). Si esto lo aplicamos al desarrollo de un programa podemos decir que una prueba es una técnica que implica la ejecución del programa mediante la cual podemos conocer la calidad y con ello mejorar el producto detectando fallas o problemas. (Carlos Blanco Bueno, 2007).
Ingeniería de pruebas.
Una ingeniería es la especialización en la ejecución de ciertas aplicaciones de la ciencia en base a conocimientos científicos amplios y diversos. (Louis de Broglie, 1958). Debido a que la programación y el desarrollo de software se están convirtiendo en toda una ciencia y en base a la definición de prueba, podemos decir que la ingeniería de pruebas es la mejora de un software o el mantenimiento de este, con la ayuda de la detección de errores que pueda contener este y esta detección se realiza con un conocimiento antes adquirido.
Ciclo de vida del software.
El ciclo de vida del software es una estructura guía, abstracciones, marcos del proceso que pueden se extendidos y adaptados para crear procesos más específicos.(Lorena Castañeda Bueno, 2010). La idea central de todo esto es que un proyecto tenga éxito. Hay distintos tipos de modelos que podemos usar como el modelo de cascada, el lineal y el de espirar pero todos comparten las siguientes etapas:
- Especificación del software: Son los requerimientos funcionales, no funcionales y de sistema. Es el ¿Qué vamos hacer?
- Diseño del software: Aquí definimos el como vamos hacer el proyecto.
- Implementacion: Es la codificación.
- Pruebas: Como lo hemos dicho antes es el encontrar errores y mejorar el sistema.
- Mantenimiento: Es la corrección de los errores encontrados en la etapa de pruebas.
Modelo lineal:
Modelo de espiral:
Modelo de cascada:
Tipos de prueba de software
- Prueba de caja blanca: Se basa en la detección de los errores lógicos que se pueden presentar, por ejemplo, se tienen que probar todas las posibilidades lógicas de cada modulo ademas de llevar al limite bucles con sus limites operacionales.operacionales. También se buscan los errores topográficos
- Prueba de caja negra: Esta prueba se centra en los requisitos funcionales del programa. Por ejemplo: que no cuente con las funciones que debería, errores de rendimiento, errores en la interfaz o errores en la ejecución y terminación.
- Prueba basada en requerimientos: Las 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 de cada uno. (Sommerville, 2005).
- Pruebas de aceptación: Pruebas realizadas por los usuarios con el fin de saber si el sistema esta listo para ser implantado. Son las versiones betas o alfas de algún software.
- Pruebas de integración: Es tomar todos los componentes desarrollados e integrarlos para formar el sistema con el fin de observar el diseño y la arquitectura de este.
Conclusión
Las pruebas dentro del desarrollo de un proyecto son la parte más importante durante la elaboración de este, ya que no importa que tan bueno seas programando siempre cometerás errores por lo que es indispensable aplicar una etapa de pruebas durante el desarrollo del software para que el proyecto se concluya con éxito y para esto debemos conocer todos los conceptos antes mencionados y lo mas importante saberlos aplicar como buen ingeniero.
Fuentes
Ruiz R. (2010). Las pruebas de software y su importancia en las organizaciones. Agosto 24, 2014, de Universidad Veracruzana Sitio web: http://cdigital.uv.mx/bitstream/123456789/28540/1/Ruiz%20Tenorio.pdf
[Bernd Bruegge, Dutoit Allen. Object-Oriented Software Engineering:
Using UML, Patterns, and Java, 2004, Prentice Hall, segunda edición.
Capítulo 15.
Castañeda L. (2010). Ingenieria de requerimientos. Agosto 24, 2014, de Universidad ICESI Sitio web: http://bibliotecadigital.icesi.edu.co/biblioteca_digital/bitstream/10906/4083/1/Presentacion_ciclo_vida_software.pdf
Sommerville I. (2005). Ingenieria de software. Madrid España: Pearson Educación.
- Prueba de caja blanca: Se basa en la detección de los errores lógicos que se pueden presentar, por ejemplo, se tienen que probar todas las posibilidades lógicas de cada modulo ademas de llevar al limite bucles con sus limites operacionales.operacionales. También se buscan los errores topográficos
- Prueba de caja negra: Esta prueba se centra en los requisitos funcionales del programa. Por ejemplo: que no cuente con las funciones que debería, errores de rendimiento, errores en la interfaz o errores en la ejecución y terminación.
- Prueba basada en requerimientos: Las 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 de cada uno. (Sommerville, 2005).
- Pruebas de aceptación: Pruebas realizadas por los usuarios con el fin de saber si el sistema esta listo para ser implantado. Son las versiones betas o alfas de algún software.
- Pruebas de integración: Es tomar todos los componentes desarrollados e integrarlos para formar el sistema con el fin de observar el diseño y la arquitectura de este.
Conclusión
Las pruebas dentro del desarrollo de un proyecto son la parte más importante durante la elaboración de este, ya que no importa que tan bueno seas programando siempre cometerás errores por lo que es indispensable aplicar una etapa de pruebas durante el desarrollo del software para que el proyecto se concluya con éxito y para esto debemos conocer todos los conceptos antes mencionados y lo mas importante saberlos aplicar como buen ingeniero.
Fuentes
[Bernd Bruegge, Dutoit Allen. Object-Oriented Software Engineering:
Using UML, Patterns, and Java, 2004, Prentice Hall, segunda edición.
Capítulo 15.
No hay comentarios:
Publicar un comentario