ISO/IEC/IEEE 29119-4

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

Esta norma se encuentra incluída como referencia en la sección 4.1. Descripción General de las Técnicas de Prueba del programa de estudios del ISTQB CTFL v4.0

La norma ISO/IEC/IEEE 29119-4 es parte de una serie de estándares internacionales para la ingeniería de pruebas de software, específicamente enfocada en las técnicas de prueba. Esta norma proporciona un marco para definir y describir las técnicas utilizadas en las pruebas de software, cubriendo aspectos como los niveles de cobertura, criterios de aceptación, y técnicas específicas de diseño de pruebas.

Podrás encontrar toda la informacion, accediendo al sitio oficial

https://www.iso.org/obp/ui/en/#iso:std:iso-iec-ieee:29119:-4:ed-2:v1:en

ISO/IEC/IEEE 29119-2

Aquí podrás encontrar por ejemplo el proceso de diseño e implementación de pruebas

el proceso de diseño e implementación de pruebas según la norma ISO/IEC/IEEE 29119-2. Este proceso se compone de cuatro pasos principales:

  1. Crear el modelo de prueba (TD1): Se define el modelo que será la base para las pruebas.
  2. Identificar los elementos de cobertura de prueba (TD2): Se seleccionan los elementos específicos que las pruebas deben cubrir.
  3. Derivar los casos de prueba (TD3): A partir de los elementos de cobertura, se crean los casos de prueba detallados.
  4. Crear procedimientos de prueba (TD4): Se desarrollan los procedimientos específicos que describen cómo ejecutar los casos de prueba.

Este proceso asegura una cobertura completa y efectiva del software bajo prueba, alineándose con los estándares internacionales para asegurar calidad y confiabilidad.

the set of test design techniques presented in ISO IEC IEEE 29119-4

1. Specification-Based Testing Techniques (Técnicas Basadas en la Especificación)

Estas técnicas se basan en los requisitos o especificaciones del sistema:

  • Equivalence Partitioning (Particionamiento de Equivalencia)

    • Dividir los datos de entrada en particiones (clases) que se tratan de la misma manera por el sistema. Una clase de equivalencia es un subconjunto de los datos posibles que se consideran iguales por el sistema bajo prueba.
  • Classification Tree Method (Método del Árbol de Clasificación)

    • Se utiliza para identificar y seleccionar combinaciones de valores de prueba basados en las características del objeto de prueba.
  • Boundary Value Analysis (Análisis de Valores Límites)

    • Técnica que se centra en los límites de las clases de equivalencia. Se prueban valores en, por debajo y por encima de los límites.
  • Combinatorial Testing (Pruebas Combinatorias)

    • Incluye técnicas como las pruebas de pares (Pairwise Testing), que examinan todas las combinaciones posibles de entradas de dos en dos.
  • Cause-Effect Graphing (Grafos de Causa-Efecto)

    • Técnica que representa las relaciones entre las entradas (causas) y las salidas (efectos) de un sistema.
  • Decision Table Testing (Pruebas con Tablas de Decisión)

    • Utiliza tablas para representar combinaciones de entradas y sus correspondientes acciones o resultados esperados.
  • Finite State Machine Testing (Pruebas de Máquinas de Estado Finito)

    • Técnica que modela el comportamiento del sistema como una serie de estados y transiciones, y se prueban todas las posibles transiciones de estado.
  • Use Case Testing (Pruebas de Casos de Uso)

    • Se basa en los casos de uso que representan las interacciones entre los usuarios y el sistema.

2. Structure-Based Testing Techniques (Técnicas Basadas en la Estructura)

Estas técnicas se basan en la estructura interna del software, como el código:

  • Statement Testing (Pruebas de Sentencias)

    • Asegura que cada instrucción del código se ejecute al menos una vez.
  • Branch Testing (Pruebas de Ramas)

    • Garantiza que cada rama (if/else, switch cases, etc.) del código sea ejecutada al menos una vez.
  • Condition Testing (Pruebas de Condiciones)

    • Prueba cada condición (una parte de una declaración booleana) en una declaración de decisión.

    • Branch Condition Testing (Pruebas de Condición de Ramas)

      • Combina la prueba de ramas con la prueba de condiciones para asegurar que cada rama y condición se prueben.
    • Branch Condition Combination Testing (Pruebas de Combinación de Condición de Ramas)

      • Prueba todas las combinaciones posibles de condiciones en una rama.
  • Modified Condition/Decision Testing (Pruebas de Condiciones/Decisiones Modificadas)

    • Similar a las pruebas de condición de ramas, pero cada condición debe ser probada de tal manera que afecte independientemente el resultado de la decisión.
  • Loop Testing (Pruebas de Bucles)

    • Asegura que todos los bucles (for, while, etc.) en el código sean ejecutados y probados adecuadamente.

    • Simple Loop Testing (Pruebas de Bucle Simple)

      • Se centra en probar bucles simples con una sola entrada y salida.
    • Nested Loop Testing (Pruebas de Bucles Anidados)

      • Se utiliza para probar bucles que están anidados dentro de otros bucles.
    • Concatenated Loop Testing (Pruebas de Bucles Concatenados)

      • Para probar bucles que están concatenados o en serie.

3. Experience-Based Testing Techniques (Técnicas Basadas en la Experiencia)

Estas técnicas dependen de la experiencia del tester y del conocimiento del sistema:

  • Error Guessing (Adivinación de Errores)
    • El tester utiliza su experiencia para adivinar qué partes del sistema pueden contener defectos basándose en su conocimiento previo de errores comunes.

Comentario final

Si te ha servido este contenido basado en el programa de estudios del ISTQB CTFL v4.0, me alegro y mucho. También te cuento que me puedes seguir en LinkedIn e interactuar con otros colegas testers que me siguen y que están interesados en contenidos relacionados con agile testinginteligencia artificial y OKRs aplicado a testing. Muchas gracias

Gus Terrera

Apasionado por el agile testing y la ia.