La prueba de software ocurre en varias etapas e incluye pruebas de unidades individuales, integración, funcionalidad, rendimiento y aceptación del cliente. El objetivo es encontrar defectos de manera eficiente y asegurar que el sistema cumple con los requisitos funcionales y de rendimiento.
1. Una vez que se ha concluido la codificación de
los programas, es momento de probarlos. La
etapa de prueba no es la primera instancia en la
cual se encuentran defectos; ya que durante la
revisión de los requerimientos y del diseño
también se pueden descubrir problemas en las
etapas tempranas del desarrollo. Pero la prueba
se concentra en la búsqueda de defectos y hay
diversas formas de hacer que los esfuerzos de la
prueba sean más eficientes y efectivos.
2. Aspectos de la Prueba
Existen muchos tipos de prueba que se hacen
antes de poder entregarle el sistema al cliente
con la seguridad de que operará correctamente.
Algunas de ellas dependen de qué es lo que se
está probando: componentes, grupo de
componentes, subsistemas o todo el sistema.
Otras pruebas dependen de lo que se desea
conocer ¿el sistema trabaja de acuerdo con
el diseño?, ¿y con las expectativas de los
usuarios?.
3. Organización de la Prueba
Cuando se desarrolla un sistema grande, la pruba por lo
general involucra varios estadios, En primer lugar, cada
componente de programa verifica en sí mismo, aislado de
los demás componentes del sistema. Esta prueba conocida
como prueba de módulo, prueba de componente o
prueba unitaria, verifica que el componente funciona
correctamente con lo tipos de entrada esperados a partir
del estudio del diseño del componente.
La prueba unitaria se hace siempre que sea posible en un
ambiente controlado, de modo que el equipo de prueba
pueda ingresarle al componente que se está probando un
conjunto predeterminado de datos, y observar que acciones
y datos de salida se producen.
4. Una vez que le conjunto de componentes del sistema (o
subsistema) ha superado la prueba unitaria, el paso siguiente
es asegurar que las interfaces entre los componentes están
definidas y se manejan correctamente. La prueba de
integración es el proceso de verificar que los componentes
del sistema trabajan conforme a lo descrito en las
especificaciones de diseño del programa y del sistema.
Despues de asegurar que la información pasa entre los
componentes de acuerdo eon el diseño, se prueba el sistema
para asegurar que tiene la funcionalidad deseada. Una prueba
funcional evalúa el sistema para determinar si las funciones
descritas por la especificación de requerimientos son
ejecutadas correctamente por el sistema integrado. El resultado
es un sistema en funcionamiento.
5. Cabe recordar que lo requerimientos están
documentados de dos formas distintas: una es en
términos del cliente, y otra como un conjunto de
requerimientos de hardware y software que
pueden utilizar los desarrolladores. La prueba
funcional compara el sistema en construcción, con
las funciones descritas en la especificación de
requerimientos de los desarrolladores. Más
adelante una prueba de rendimiento compara el
sistema con el resto de los requerimientos de
software y de hardware. Cuando la prueba se lleva
a cabo exitosamente en el ambiente real de trabajo
del cliente, produce un sistema validado.
6. Cuando la prueba de rendimiento se concluye, los
desarrolladores tienen la certeza de que el sistema funciona
de acuerdo con su comprensión de la descripción del sistema.
El siguiente paso es conferenciar con el cliente para tener la
certeza de que le sistema trabaja de acuerdo con sus
expectativas. La prueba de aceptación se hace en conjunto
con el cliente; el sistema se comprueba contra la
especificación de requerimientos del cliente. Al terminar la
prueba de aceptación el sistema aceptado se instala en el
ambiente en el que será utilizado y se ejecuta una última
prueba de instalación para garantizar que funciona como
debe hacerlo.