Pruebas convencionales frente a pruebas orientadas a objetos
La prueba de software es uno de los pasos más importantes en el proceso de desarrollo de software. Las pruebas de software aseguran que el software desarrollado satisfaga todos los requisitos del cliente y se ejecute sin errores. A medida que los paradigmas y técnicas de desarrollo de software han cambiado del desarrollo de software inicial en cascada a OOD/Agile y otros conceptos más nuevos, las pruebas también han cambiado de las pruebas convencionales (tradicionales) a las pruebas orientadas a objetos (OOT). Pero debido a que el desarrollo en cascada todavía está en uso, los probadores todavía usan las pruebas convencionales.
¿Qué son las pruebas convencionales?
El proceso de prueba convencional tiene lugar principalmente cuando se utiliza el ciclo de vida en cascada para desarrollar software en las organizaciones. Las pruebas convencionales siempre tienen lugar durante la fase de prueba del ciclo de vida, que suele seguir a la fase de desarrollo y continúa con la fase de implementación. Durante esta fase de prueba, se realizarán principalmente tres tipos de pruebas. Las pruebas del sistema garantizarán que las características del sistema satisfagan los requisitos del cliente documentados en la SRS (Especificación de requisitos de software), generalmente con un enfoque de caja negra. Las pruebas de integración prueban el diseño preliminar adoptando un enfoque funcional y de descomposición. Las pruebas de integración se basan en la estructura del diseño utilizando un enfoque de arriba hacia abajo o de abajo hacia arriba. Finalmente, las pruebas unitarias aseguran que el diseño detallado sea correcto.
¿Qué son las pruebas orientadas a objetos?
Usar el análisis y el diseño orientados a objetos (OO) junto con Agile y otras metodologías de desarrollo de software recientes conducen a las pruebas orientadas a objetos. El desarrollo OO generalmente se enfoca en el comportamiento. Las pruebas se realizan con énfasis en la composición. Eso significa que el diseño se crea pieza por pieza y se compone en conjunto para completar el sistema completo. Debido a que la creación rápida de prototipos y alguna forma de enfoque incremental se utilizan hoy en día para el desarrollo OO, los tres niveles de prueba convencionales (sistema, integración y pruebas unitarias) no son claramente visibles en el diseño OO (pero existen la mayoría de las veces). Las pruebas del sistema (bajo las pruebas OO) adoptarán un enfoque muy similar (caja negra) que las pruebas convencionales y verificarán la especificación de requisitos (porque los requisitos deben verificarse independientemente del proceso de desarrollo). Las pruebas unitarias bajo las pruebas orientadas a objetos son similares a las pruebas unitarias convencionales, pero la diferencia básica es la definición de la unidad utilizada. Las unidades actualmente aceptadas que se utilizan para las pruebas unitarias son clases y métodos.
¿Cuál es la diferencia entre las pruebas convencionales y las pruebas orientadas a objetos?
Las pruebas convencionales son el enfoque tradicional de las pruebas que se realizan principalmente cuando se usa el ciclo de vida de la cascada para el desarrollo, mientras que las pruebas orientadas a objetos se usan cuando el análisis y el diseño orientados a objetos se usan para desarrollar software empresarial. Las pruebas convencionales se centran más en la descomposición y los enfoques funcionales que en las pruebas orientadas a objetos, que utilizan la composición. Los tres niveles de prueba (sistema, integración, unidad) utilizados en las pruebas convencionales no están claramente definidos cuando se trata de pruebas orientadas a objetos. La razón principal de esto es que el desarrollo OO utiliza un enfoque incremental, mientras que el desarrollo tradicional sigue un enfoque secuencial. En términos de pruebas unitarias, las pruebas orientadas a objetos analizan unidades mucho más pequeñas en comparación con las pruebas convencionales.