Documente Academic
Documente Profesional
Documente Cultură
Bienvenida
Bienvenidos al séptimo tema del curso, en el que vamos a ver Estándares relativos a las pruebas de software, entre ellos el
proceso de pruebas, Principios de pruebas, el plan de calidad, el plan de pruebas, técnicas de verificación, así como también el
Software CAST (Computed Aided Software Testing) y una metodología de pruebas.
Introducción al tema
Observa detenidamente el siguiente esquema, en el encontrarás de un “vistazo” de manera sintetizada los principales concepto
de la temática que abordaremos. ¿Qué conceptos o categorías te llaman la atención?
7.1. Estándares relativos a las pruebas de software.
ISO / IEC / IEEE 29119: Pruebas de Software es un conjunto de normas acordada internacionalmente para pruebas de software que se pueden utilizar
dentro de cualquier ciclo de vida de desarrollo de software o de la organización. Con el uso de estas normas, se propicia que las organizaciones den
un enfoque de alta calidad a las pruebas. (software testing standard, 2014). Actualmente hay cinco normas:
• ISO / IEC 29119-1: Conceptos y Definiciones (publicado en septiembre de 2013)
• ISO / IEC 29119-2: Procesos de prueba (publicado en septiembre de 2013)
• ISO / IEC 29119-3: Documentación de prueba (publicado en septiembre de 2013)
• ISO / IEC 29119-4: Técnicas de prueba (publicado a finales de 2014)
• ISO/ IEC 29119-5: Pruebas guiadas por palabras clave (en la etapa de CD, anticipándose a la publicación en 2015)
6.1.1 ISO/IEC/IEEE 29119-1: Conceptos y definiciones.
El objetivo de la norma ISO / IEC / IEEE 29119-1 es facilitar la comprensión y el uso de todos los otros estándares de la serie
29119. ISO / IEC / IEEE 29.119-1 introduce el vocabulario en el que todas las normas de la serie 29119 se construyen y
proporciona ejemplos de la aplicación de cada concepto en la práctica. Parte 1 es informativo y proporciona definiciones, una
descripción de los conceptos de pruebas de software y la forma de aplicar los procesos, documentos y técnicas definidas en la
serie 29119 (software testing standard, 2014).
El objetivo de esta norma es definir un modelo de proceso genérico para las pruebas de software que se puede utilizar dentro de cualquier ciclo
de vida de desarrollo de software. El modelo especifica los procesos de prueba que se pueden utilizar para gobernar, administrar y ejecutar las
pruebas de software en cualquier actividad de la organización, proyecto o pruebas. El proceso de prueba se basa en un modelo de proceso de
tres capas que cubre:
Pruebas basadas en riesgos es un enfoque de mejores prácticas para la formulación de estrategias y la gestión de las pruebas, ya que permite a
las pruebas que se prioricen y centrarse en las características y atributos más importantes de calidad de cada sistema bajo prueba. (software
testing standard, 2014)
Los siguientes diagramas ilustran las capas del modelo de proceso de prueba que se define en la norma ISO / IEC / IEEE 29119-2 (pero no son
exactas copias de las que se encuentran en las normas oficiales) (software testing standard, 2014)
6.1.2.1. Vista detalle del modelo de procesos de prueba.
6.1.2.2. Proceso de gestión de pruebas.
6.1.2.3. Procesos de Planificación de prueba
6.1.2.4. Proceso de seguimiento y control de pruebas.
6.1.2.5. Proceso de prueba dinámica
6.1.3 ISO/IEC/IEEE 29119-3: Documentación de prueba
El objetivo de la norma ISO / IEC / IEEE 29119-3 es definir plantillas para la documentación de prueba que cubren todo el ciclo de vida de las pruebas
de software. Cada plantilla se puede adaptar para satisfacer las necesidades únicas de cada organización de aplicación de la norma, para apoyar la
implementación de la norma dentro de cualquier modelo de ciclo de vida de desarrollo de software. Todas las plantillas se alinean con el proceso de
prueba definido en la norma ISO / IEC / IEEE 29119-2 y pueden ser producidos por la aplicación de los procesos que se definen en esa norma.
El estándar IEEE 829 Documentación de prueba conocido y ampliamente utilizado se utilizó como base para la presente norma, y como tal, la norma
ISO / IEC / IEEE 29119-3 sustituye IEEE 829. (IEEE XPLORE Digital Library, 2015)
Los documentos que se definen en la norma ISO / IEC / IEEE 29119-3 son los siguientes:
6.1.4 ISO/IEC/IEEE 29119-4: Técnicas de pruebas.
El objetivo de esta norma es definir un estándar internacional que cubre las técnicas de diseño de pruebas de software (también
conocidas como técnicas de diseño de casos de prueba o métodos de prueba) que se pueden utilizar durante el proceso de
diseño de la prueba y la aplicación dentro de cualquier organización o modelo de ciclo de vida de desarrollo de software. Las
técnicas de diseño de pruebas que se presentan en la presente norma se pueden utilizar para derivar casos de prueba que se
pueden usar para recoger evidencia de que los requerimientos de cada sistema bajo prueba se han cumplido y / o que detecta
están presentes. De acuerdo con la norma ISO / IEC / IEEE Procesos 29119-2 de prueba, un enfoque basado en el riesgo de la
prueba se debe utilizar para determinar el conjunto de técnicas que se aplican en situaciones específicas y dar prioridad a los
casos de prueba derivados y procedimientos de prueba (pruebas basado en el riesgo es descrito en detalle en la norma ISO /
IEC / IEEE 29119-1 e ISO / IEC / IEEE 29119-2). Las técnicas de prueba en sí también se pueden adaptar para satisfacer las
necesidades únicas de cada organización y cada sistema bajo prueba. (software testing standard, 2014)
La base de esta norma es la norma BS-7925-2 pruebas de componentes, que es sustituida por la norma ISO / IEC / IEEE 29119-
4.
6.1.4.1 Técnicas basadas en especificaciones
6.1.4.2 Técnicas basadas en estructura
6.1.4.3 Técnicas de prueba basada en la experiencia
Esta norma también proporciona definiciones informativas de una variedad de tipos relacionados con la calidad de las pruebas y
ofrece ejemplos de cómo las técnicas de diseño de casos de prueba en las listas anteriores se pueden aplicar dentro de los
siguientes tipos de pruebas:
6.1.5 ISO/IEC/IEEE 29119-5: Pruebas guiadas por palabras clave.
Pruebas guiadas por palabras clave es la técnica de creación de scripts que utiliza archivos de datos para contener no
solamente datos de prueba y resultados esperados, sino también palabras claves que están relacionadas con la aplicación que
está siendo probada. Las palabras claves son interpretadas por scripts especiales de soporte que son invocados por el script de
control para la prueba.
El objetivo de la norma es definir un estándar internacional para apoyar a describir los casos de prueba mediante el uso de un
conjunto predefinido de palabras clave. Estas palabras clave son nombres que están asociados con un conjunto de acciones que
se requieren para realizar un paso específico en un caso de prueba. Mediante el uso de palabras clave para describir las
medidas de prueba en lugar de lenguaje natural, los casos de prueba pueden ser más fáciles de entender, mantener y
automatizar.
7.2. El proceso de pruebas.
El proceso de prueba conlleva la realización de un conjunto de tareas a lo largo del ciclo de vida el desarrollo del producto de
software, puede considerarse como un subproyecto dentro del proyecto sobre el cual se están ejecutando las pruebas, y como
tal requiere la definición de un plan a seguir. Cuando el proceso de pruebas existe dentro del contexto del proyecto, debería
prestarse atención a la efectividad y eficiencia de las pruebas desde la perspectiva del proyecto y no desde la perspectiva del
propio subproyecto de pruebas.
En la figura anterior se observa un modelo de cómo las etapas de pruebas se integran en el ciclo de vida de desarrollo de
software genérico. Durante la etapa de planificación es importante establecer una buena estrategia de pruebas y seleccionar las
técnicas adecuadas de estimación en función de los factores que afecten a las pruebas del proyecto. La siguiente fase de
desarrollo es el diseño del producto, que trae consigo el diseño de casos de prueba, Durante las siguientes fases de codificación
y pruebas del producto, se ejecutan las pruebas unitarias, de sistemas, de integración, etc
7.2.1. Enfoques de diseño de pruebas.
La disciplina de pruebas es una de las más costosas del ciclo de vida software. En sentido estricto, deben realizarse las pruebas
de todos los artefactos generados durante la construcción de un producto, lo que incluye especificaciones de requisitos, casos
de uso, diagramas de diversos tipos y, por supuesto, el código fuente y el resto de productos que forman parte de la aplicación
(por ejemplo, la base de datos), e infraestructura. Obviamente, se aplican diferentes técnicas de prueba a cada tipo de producto
software.
A continuación, se describirá los tipos de pruebas en función de qué conocemos, según el grado de automatización y en función
de qué se prueba.
7.3. Software CAST (Computed Aided Software Testing)
IBM Rational Functional Tester (RFT) es una herramienta automatizada para la realización de pruebas funcionales y de
regresión. Permite probar aplicaciones Java, .NET y basadas en Web.
Con la tecnología de grabación, se puede generar scripts mediante la ejecución y el uso de la aplicación bajo prueba. Los scripts
del RFT son implementados como programas Java. Asimismo, crea una vista que muestra las acciones del usuario sobre la
aplicación. Durante el proceso de grabación, se puede añadir comandos controlados por datos que permitirán probar, durante el
proceso de reproducción, otros datos provenientes de un pool de datos. Otra característica importante del RFT que pueden ser
añadidos en un script, son los puntos de verificación que permiten evaluar los datos y propiedades de los objetos de la aplicación
y confirman el estado de dichos objetos probándolas aún en versiones posteriores. Esto es posible gracias a la tecnología
ScriptAssure que permite crear scripts de prueba más resistentes a los cambios en los objetos de las aplicaciones. Los objetos
que son referenciados por las aplicaciones son almacenados automáticamente en un mapa de objetos de prueba al crear el
script. (IBM, 2015)
7.3.1. Arquitectura de Rational Functional Tester.
7.3.2. Herramientas de Apoyo a las Pruebas de software.
7.4. Una metodología de pruebas.
Metodología de pruebas.
Preguntas de análisis
Después de haber leído los contenidos explicados anteriormente, quizás te estas preguntando lo
siguiente:
Al respecto para conocer un poco más sobre este tema, y dar respuesta a las preguntas planteadas a continuación te
invitamos a leer analíticamente la siguiente lectura.
Serna, E., & Arango, F. (2011). Prueba del software: más que una fase en el ciclo de vida. (Spanish). Revista De Ingeniería, (35), 34-40.
Bibliografía
01.ibm.com/support/knowledgecenter/SSMMM5_8.1.0/com.ibm.rational.test.lt.accessibility.doc/helpindex_rpt.html?
cp=SSMMM5_8.1.0%2F0
IEEE XPLORE Digital Library. (12 de Setiembre de 2015). Obtenido de http://ieeexplore.ieee.org/Xplore/home.jsp
software testing standard. (2014). Obtenido de http://www.softwaretestingstandard.org/
Lecturas recomendadas
Documento 2: Prueba del software: más que una fase en el ciclo de vida
URL: http://search.ebscohost.com/login.aspx?direct=true&db=zbh&AN=79108965&lang=es&site=ehost-live
Breve descripción:
En este trabajo, mediante una propuesta metodológica de cuatro fases, se muestra por.qué es difícil detectar y eliminar errores,
por qué es complejo el proceso de realizar pruebas y por qué es necesario prestarle más atención.
Documento 3: Propuesta para incorporar evaluación y pruebas de usabilidad dentro de un proceso de desarrollo de software
URL: http://search.ebscohost.com/login.aspx?direct=true&db=zbh&AN=70086164&lang=es&site=ehost-live
Breve descripción:
Este artículo expone una propuesta para introducir la evaluación y pruebas de usabilidad dentro de un desarrollo de software,
basándose en la reutilización de artefactos de software. Adicionalmente, propone la introducción de un auditor dentro de la
clasificación de actores para las pruebas de usabilidad y una mejora de las listas de chequeo utilizadas para evaluación
heurística, agregándoles aspectos cuantitativos y cualitativos.
Conclusiones