Pruebas de Software

Liam Palomino Palam
Mind Map by Liam Palomino Palam, updated more than 1 year ago
Liam Palomino Palam
Created by Liam Palomino Palam over 5 years ago
322
0

Description

Mind Map on Pruebas de Software, created by Liam Palomino Palam on 11/07/2014.

Resource summary

Pruebas de Software
1 procesos que permiten verificar y revelar la calidad de un producto software antes de su puesta en marcha

Annotations:

  • Definicion
1.1 Una prueba es una actividad en la que un sistema o un componente es ejecutado bajo condiciones especificadas, los resultados son observados o registrados, y una evaluación es realizada de un aspecto del sistema o componente

Annotations:

  • Segun IEEE Std.610.12-1990]
1.2 Una prueba es una actividad ejecutada para evaluar y mejorar la calidad del producto a través de la identificación de defectos y problemas

Annotations:

  • Segun [SWEBOK]
2 se observa un modelo de cómo las etapas de pruebas se integran en el ciclo de vida de desarrollo de software genérico
3 Para conseguir esta eficiencia deseada durante el proceso de pruebas
3.1 Evitar redundancias: traen consigo una pérdida o desaprovechamiento de tiempo por lo que hay que intentar ejecutar las pruebas más adecuadas a cada situación y lo más rápido posible.
3.2 Reducir costes:Habría que cerciorarse de que realmente fueran necesarias y de que existe el tiempo y las habilidades suficientes para emplearlas de manera ventajosa.
4 El objetivo principal de la validación y verificación es comprobar que el sistema está hecho para un propósito, es decir, que el sistema debe ser lo suficientemente bueno para su uso previsto
4.1 El nivel de confianza requerido depende de tres factores:
4.1.1 El propósito o función del sistema. El nivel de confianza necesario depende de lo crítico que sea el software para una organización.
4.1.2 Las expectativas del usuario. es menos aceptable entregar sistemas no fiables, por lo que las compañías deben invertir más esfuerzo en llevar a cabo las actividades de verificación y validación.
4.1.3 Entorno de mercado actual. Cuando un sistema se comercializa, los vendedores del sistema deben tener en cuenta los sistemas competidores,
4.2 la Validación en CMMI® es demostrar que un producto o componente del mismo satisface el uso para el que se creó al situarlo sobre el entorno previsto.siguiente pregunta: ¿Se está construyendo el producto correcto?
4.3 El propósito de la Verificación en CMMI® es asegurar que los productos seleccionados cumplen los requisitos especificados.¿Se está construyendo el producto de la manera correcta?
5 Tipos de pruebas
5.1 En función de qué conocemos.
5.1.1 a. Pruebas de caja negra
5.1.1.1 probar dando distintos valores a las entradas
5.1.1.2 Este tipo de prueba se centra en los requisitos funcionales del software y permite obtener entradas que prueben todos los flujos de una funcionalidad
5.1.1.3 Funcionalidades incorrectas o ausentes.
5.1.1.4 Errores de interfaz.
5.1.1.5 Errores en estructuras de datos o en accesos a las bases de datos externas.
5.1.1.6 Errores de rendimiento.
5.1.1.7 Errores de inicialización y finalización.
5.1.2 b. Pruebas de caja blanca
5.1.2.1 Consiste en realizar pruebas para verificar que líneas específicas de código funcionan tal como esta definido.
5.1.2.2 Se ejecutan al menos una vez todos los caminos independientes de cada módulo
5.1.2.3 Se utilizan las decisiones en su parte verdadera y en su parte falsa
5.1.2.4 Se ejecuten todos los bucles en sus límites
5.1.2.5 Se utilizan todas las estructuras de datos internas.
5.1.2.6 Para esta prueba, se consideran tres importantes puntos.
5.1.2.6.1 Conocer el desarrollo interno del programa, determinante en el análisis de coherencia y consistencia del código.
5.1.2.6.2 Considerar las reglas predefinidas por cada algoritmo.
5.1.2.6.3 Comparar el desarrollo del programa en su código con la documentación pertinente.
5.2 Según el grado de automatización
5.2.1 a. Pruebas manuales
5.2.1.1 Las pruebas manuales ayudarán a descubrir cualquier problema relacionado con la funcionalidad de su producto, especialmente defectos relacionados con facilidad de uso y requisitos de interfaces.
5.2.2 Pruebas automáticas
5.2.2.1 tipo de pruebas, se usa un determinado software para sistematizarlas y obtener los resultados de las mismas.
5.3 En función de qué se prueba
5.3.1 Pruebas unitarias
5.3.1.1 Se aplican a un componente del software. Podemos considerar como componente (elemento indivisible) a una función, una clase, una librería, etc.
5.3.1.2 Para que una prueba unitaria, tenga éxito se deben cumplir los siguientes requisitos:
5.3.1.2.1 Automatizable: no debería existir intervención manual. Esto es, especialmente, útil para la integración continua.
5.3.1.2.2 Completas: deben cubrir la mayor cantidad de código.
5.3.1.2.3 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.
5.3.1.2.4 Independientes: la ejecución de una prueba no debe afectar a la ejecución de otra.
5.3.1.2.5 Profesionales: las pruebas deben ser consideradas igual que el código, con la misma profesionalidad, documentación, etc.
5.3.1.3 Estas pruebas aisladas proporcionan cinco ventajas básicas:
5.3.1.3.1 Fomentan el cambio: Las pruebas unitarias facilitan que el programador cambie el código para mejorar su estructura (lo que se llama refactorización),
5.3.1.3.2 Simplifica la integración: Puesto que permiten llegar a la fase de integración con un grado alto de seguridad de que el código está funcionando correctamente.
5.3.1.3.3 Documenta el código: Las propias pruebas son documentación del código puesto que ahí se puede ver cómo utilizarlo.
5.3.1.3.4 Los errores están más acotados y son más fáciles de localizar: dado que tenemos pruebas unitarias que pueden desenmascararlos.
5.3.1.3.5 Separación de la interfaz y la implementación: Dado que la única interacción entre los casos de prueba y las unidades bajo prueba son las interfaces de estas últimas, se puede cambiar cualquiera de los dos sin afectar al otro.
5.3.2 Pruebas de integración
5.3.2.1 Consiste en construir el sistema a partir de los distintos componentes y probarlo con todos integrados.
5.3.3 c. Pruebas de aceptación
5.3.3.1 lleva a cabo el equipo de desarrollo. Consiste en comprobar si el producto está listo para ser implantado para el uso operativo
5.3.3.1.1 Podemos distinguir entre dos tipos de pruebas
5.3.3.1.1.1 Pruebas alfa: las realiza el usuario en presencia de personal de desarrollo del proyecto haciendo uso de una máquina preparada para las pruebas.
5.3.3.1.1.2 Pruebas beta: las realiza el usuario después de que el equipo de desarrollo les entregue una versión casi definitiva del producto.
5.3.4 Pruebas funcionales
5.3.4.1 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.
5.3.5 e. Pruebas de rendimiento
5.3.5.1 se basan en comprobar que el sistema puede soportar el volumen de carga definido en la especificación
Show full summary Hide full summary

Similar

Pruebas de Software
Bertha Vega
Pruebas a través del ciclo de vida
Alcides Penaranda
Pruebas durante todo el ciclo de vida del software
Jhony Alexander Nieto Madrid
TÈCNICAS DE PRUEBA DEL SOFTWARE
angiibarahona
Pruebas de software
Santiago Jesus Mas Peña
Pruebas de software
Javier Torres
Testing de Software
ISRAEL ALBERTO NARANJO RETAMAL
Physics: Energy resources and energy transfer
katgads
Introduction to Microeconomics and The Economy
BryanTurner
Biology B1
Kelsey Phillips
Clinical Pathoanatomy MCQs (Q 151-250)
Ore iyanda