ISTQB CTFL v2018. 4. Técnicas de prueba. Presentación y ejemplos básicos.

  • Autor de la entrada:
  • Categoría de la entrada:ISTQB

Intro

La unidad 4. Técnicas de prueba, se compone de los siguientes puntos:

4. Técnicas de prueba
4.1. Categorías de técnicas de prueba
4.1.1. Elección de técnicas de prueba
4.1.2. Categorías de técnicas de prueba y sus características
4.2. Técnicas de prueba de caja negra
4.2.1. Partición de equivalencia
4.2.2. Análisis de valores frontera
4.2.3. Prueba de tabla de decisión
4.2.4. Prueba de transición de estado
4.2.5. Prueba de caso de uso
4.3. Técnicas de prueba de caja blanca
4.3.1. Prueba y cobertura de sentencia
4.3.2. Prueba y cobertura de decisión
4.3.3. El valor de la prueba de sentencia y decisión
4.4. Técnicas de prueba basadas en la experiencia
4.4.1. Predicción de errores
4.4.2. Prueba exploratoria
4.4.3. Prueba basada en listas de comprobación

Presentación

Las técnicas de prueba son herramientas esenciales para garantizar la calidad del software. En esta síntesis, exploraremos los conceptos fundamentales de las técnicas de prueba según el Programa de Estudios Nivel Básico ISTQB CTFL versión 2018.

Comenzamos por comprender las categorías de técnicas de prueba. Estas categorías ayudan a clasificar y seleccionar las técnicas más adecuadas para un proyecto en particular. La elección de las técnicas de prueba depende de varios factores, como los objetivos de la prueba, el contexto del proyecto y las características del software a probar.

Las técnicas de prueba se dividen en categorías y cada una tiene sus propias características. Algunas de las categorías de técnicas de prueba incluyen las técnicas de caja negra, las técnicas de caja blanca y las técnicas basadas en la experiencia. Cada categoría se enfoca en aspectos específicos del software y ofrece diferentes enfoques para encontrar defectos.

Dentro de las técnicas de prueba de caja negra, se encuentran varias técnicas comunes. La partición de equivalencia implica dividir el conjunto de datos de entrada en grupos de equivalentes, reduciendo así el número de casos de prueba necesarios. El análisis de valores frontera se centra en los límites de los rangos de entrada y se enfoca en las condiciones límite para encontrar errores potenciales. La prueba de tabla de decisión se utiliza para probar combinaciones específicas de condiciones lógicas. La prueba de transición de estado se aplica a sistemas basados en estados, donde se evalúan las transiciones entre estados. La prueba de caso de uso se enfoca en probar el software desde la perspectiva del usuario final y sus interacciones.

Por otro lado, las técnicas de prueba de caja blanca se centran en la estructura interna del software y la cobertura de código. La prueba y cobertura de sentencia implica evaluar si todas las sentencias del código han sido ejecutadas. La prueba y cobertura de decisión se enfoca en evaluar todas las decisiones lógicas en el código, incluyendo diferentes caminos posibles. Estas técnicas permiten evaluar la calidad y la robustez del código a nivel interno.

Además de las técnicas de caja negra y caja blanca, existen las técnicas de prueba basadas en la experiencia. Estas técnicas se basan en el conocimiento y la intuición de los profesionales de pruebas. La predicción de errores implica utilizar la experiencia para identificar áreas propensas a errores y concentrar las pruebas en esas áreas. La prueba exploratoria es una técnica dinámica en la que el tester explora y prueba el software de manera ad hoc, sin un plan de prueba predefinido. La prueba basada en listas de comprobación implica utilizar una lista de criterios y elementos clave para guiar y evaluar las pruebas.

En resumen, las técnicas de prueba son fundamentales para evaluar y mejorar la calidad del software. La elección de las técnicas adecuadas depende del contexto del proyecto y los objetivos de prueba. Las técnicas de caja negra, caja blanca y basadas en la experiencia ofrecen enfoques diferentes para encontrar defectos en el software.

Ejemplos básicos

Categorías de técnicas de prueba
Ejemplo: Como tester, seleccionas una combinación de técnicas de prueba de caja negra y caja blanca para un sistema de gestión de inventario. Utilizas técnicas de caja negra, como partición de equivalencia y análisis de valores frontera, para probar la funcionalidad general del sistema. Además, aplicas técnicas de caja blanca, como prueba y cobertura de sentencia, para evaluar la calidad del código fuente y la cobertura de las instrucciones.

Elección de técnicas de prueba
Ejemplo: Como tester, te enfrentas a un proyecto de desarrollo de un sistema de pago en línea. Después de analizar los requisitos y la complejidad del sistema, decides utilizar la técnica de prueba de tabla de decisión. Esta técnica te permite probar todas las combinaciones posibles de condiciones y acciones, asegurando una cobertura exhaustiva de las reglas de negocio relacionadas con los pagos.

Técnicas de prueba de caja negra
Ejemplo: Estás probando una aplicación móvil de navegación GPS. Aplicas la técnica de prueba de transición de estado para evaluar cómo se comporta la aplicación cuando el dispositivo pasa de una conexión a Internet a una conexión fuera de línea y viceversa. Mediante la simulación de diferentes escenarios de cambio de estado, identificas posibles problemas de transición y verificas que la aplicación funcione correctamente en cada caso.

Técnicas de prueba de caja blanca
Ejemplo: Estás realizando pruebas en un módulo de autenticación de un sistema de gestión de usuarios. Utilizas la técnica de prueba y cobertura de decisión para verificar que todas las ramas del código relacionadas con el proceso de autenticación sean probadas. Diseñas casos de prueba que cubren las diferentes combinaciones de condiciones de autenticación (por ejemplo, contraseña incorrecta, cuenta bloqueada, etc.) para garantizar que el módulo funcione correctamente en todos los escenarios posibles.

Técnicas de prueba basadas en la experiencia
Ejemplo: Como tester con experiencia en sistemas de comercio electrónico, utilizas la técnica de predicción de errores para evaluar un nuevo módulo de carrito de compras. Basándote en tus conocimientos previos, identificas áreas críticas propensas a errores, como la gestión de cantidades de productos o el cálculo de descuentos. Te centras en probar y verificar estas áreas específicas para garantizar que el módulo funcione de manera confiable y sin problemas.

Prueba exploratoria
Ejemplo: Estás probando una aplicación de redes sociales y decides utilizar la técnica de prueba exploratoria para descubrir posibles problemas de usabilidad y funcionamiento. Durante la exploración, navegas por diferentes secciones de la aplicación, interactúas con diferentes funcionalidades y realizas diversas acciones de manera improvisada. Durante esta prueba, identificas un error en la función de carga de imágenes que no se había previsto en los casos de prueba planificados.

Prueba basada en listas de comprobación
Ejemplo: Como parte de la prueba de un sistema de gestión de inventario, utilizas una lista de comprobación para asegurarte de que todas las funcionalidades clave se prueben adecuadamente. Verificas que se puedan agregar, actualizar y eliminar productos, que los niveles de inventario se actualicen correctamente y que los informes de stock sean precisos. Siguiendo la lista de comprobación, te aseguras de que todas las áreas críticas del sistema sean evaluadas de manera exhaustiva.

Estos ejemplos ilustran cómo un tester puede aplicar diferentes técnicas de prueba en su trabajo para evaluar y verificar la calidad del software en distintos contextos y escenarios. La elección adecuada de las técnicas de prueba y su aplicación correcta contribuyen a mejorar la efectividad de las pruebas y a identificar posibles problemas en el software.

Gus Terrera

Apasionado por el agile testing y la ia.