Pruebas de Software

Pruebas de software Las pruebas de software (en inglés software testing) son las investigaciones empíricas y técnicas cu

Views 142 Downloads 0 File size 618KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Pruebas de software Las pruebas de software (en inglés software testing) son las investigaciones empíricas y técnicas cuyo objetivo es proporcionar información objetiva e independiente sobre la calidad del producto a la parte interesada. Es una actividad más en el proceso de control de calidad. Las pruebas son básicamente un conjunto de actividades dentro del desarrollo de software. Existen distintos modelos de desarrollo de software, así como modelos de pruebas. A cada uno corresponde un nivel distinto de involucramiento en las

actividades de desarrollo.

Pruebas estáticas Son el tipo de pruebas que se realizan sin ejecutar el código de la aplicación. Puede referirse a la revisión de documentos, ya que no se hace una ejecución de código. Esto se debe a que se pueden realizar “pruebas de escritorio“con el objetivo de seguir los flujos de la aplicación.

Pruebas dinámicas Todas aquellas pruebas que para su ejecución requieren la ejecución de la aplicación. Las pruebas dinámicas permiten el uso de técnicas de caja negra y caja blanca con mayor amplitud. Debido a la naturaleza dinámica de la ejecución de pruebas es posible medir con mayor precisión el comportamiento de la aplicación desarrollada. TIPOS DE PRUEBAS Pruebas de caja negra

En este tipo de prueba, tan sólo, podemos probar dando distintos valores a las entradas. Los datos de prueba se escogerán atendiendo a las especificaciones del problema, sin importar los detalles internos del programa, a fin de verificar que el programa corra bien. Este tipo de prueba se centra en los requisitos funcionales del software y permite obtener entradas que prueben todos los flujos de una funcionalidad (casos de uso).

Con este tipo de pruebas se intenta encontrar: - Funcionalidades incorrectas o ausentes. - Errores de interfaz. - Errores en estructuras de datos o en accesos a las bases de datos externas. - Errores de rendimiento. - Errores de inicialización y finalización. Pruebas de caja blanca

Consiste en realizar pruebas para verificar que líneas específicas de código funcionan tal como está definido. También se le conoce como prueba de cajatransparente. La prueba de la caja blanca es un método de diseño de casos de prueba que usa la estructura de control del diseño procedimental para derivar los casos de prueba.

Las pruebas de caja blanca intentan garantizar que: - Se ejecutan al menos una vez todos los caminos independientes de cada módulo - Se utilizan las decisiones en su parte verdadera y en su parte falsa - Se ejecuten todos los bucles en sus límites - Se utilizan todas las estructuras de datos internas. - Para esta prueba, se consideran tres importantes puntos Pruebas unitarias Se aplican a un componente del software. Podemos considerar como componente (elemento indivisible) a una función, una clase, una librería, etc. Estas pruebas las ejecuta el desarrollador, cada vez que va probando fragmentos de código o scripts para ver si todo funciona como se desea. Estas pruebas son muy técnicas. Por ejemplo, probar una consulta, probar que un fragmento de código envíe a imprimir un documento, probar que una función devuelva un flag, etc. Para que una prueba unitaria, tenga éxito se deben cumplir los siguientes requisitos: - Automatizable: no debería existir intervención manual. Esto es, especialmente, útil para la integración continúa. - Completas: deben cubrir la mayor cantidad de código. - Repetibles o Reutilizables: no se deben crear pruebas que sólo puedan ser ejecutadas una sola vez. También, es útil para integración continua. - Independientes: la ejecución de una prueba no debe afectar a la ejecución de otra. - Profesionales: las pruebas deben ser consideradas igual que el código, con la misma profesionalidad, documentación, etc. El objetivo de las pruebas unitarias es aislar cada parte del programa y mostrar que las partes individuales son correctas. Proporcionan un contrato escrito que el fragmento de código debe satisfacer.

Pruebas de integración Consiste en construir el sistema a partir de los distintos componentes y probarlo con todos integrados. Estas pruebas deben realizarse progresivamente. El foco de atención es el diseño y la construcción de la arquitectura de software.

Pruebas de aceptación Son las únicas pruebas que son realizadas por los usuarios expertos, todas las anteriores las lleva a cabo el equipo de desarrollo. Consiste en comprobar si el producto está listo para ser implantado para el uso operativo en el entorno del

usuario. Podemos distinguir entre dos tipos de pruebas; en ambas existe retroalimentación por parte del usuario experto: - Pruebas alfa: las realiza el usuario en presencia de personal de desarrollo del proyecto haciendo uso de una máquina preparada para las pruebas. - Pruebas beta: las realiza el usuario después de que el equipo de desarrollo les entregue una versión casi definitiva del producto.

Pruebas funcionales Este tipo de prueba se realiza sobre el sistema funcionando, comprobando que cumpla con la especificación (normalmente a través de los casos de uso). Para estas pruebas, se utilizan las especificaciones de casos de prueba. Pruebas de rendimiento Las pruebas de rendimiento se basan en comprobar que el sistema puede soportar el volumen de carga definido en la especificación, es decir, hay que comprobar la eficiencia (por ejemplo, se ha montado una página web sobre un servidor y hay que probar qué capacidad tiene el estado de aceptar peticiones, es decir capacidad de concurrencia).