Las pruebas basadas en palabras clave , también conocidas como pruebas basadas en acciones (que no deben confundirse con las pruebas dirigidas por acciones ), son una metodología de pruebas de software adecuada tanto para pruebas manuales como automatizadas . Este método separa la documentación de los casos de prueba —incluidos los datos y la funcionalidad a utilizar— de la prescripción de la forma en que se ejecutan dichos casos. Como resultado, divide el proceso de creación de pruebas en dos etapas distintas: una etapa de diseño y desarrollo, y una etapa de ejecución. La subetapa de diseño abarca el análisis y la evaluación de los requisitos, así como el análisis , la definición y la introducción de los datos.
Descripción general
Esta metodología utiliza palabras clave (o verbos de acción) para simbolizar una funcionalidad que se va a probar, como «Ingresar cliente» . La palabra clave «Ingresar cliente» se define como el conjunto de acciones que deben ejecutarse para ingresar un nuevo cliente en la base de datos. Su documentación de palabras clave contendría:
- el estado inicial del sistema bajo prueba (SUT)
- la ventana o menú desde donde comenzar
- las teclas o los clics del ratón para llegar a la ventana de entrada de datos correcta
- los nombres de los campos a encontrar y qué argumentos ingresar
- acciones a realizar en caso de que aparezcan diálogos adicionales (como confirmaciones)
- el botón en el que debe pulsar para enviar
- una afirmación sobre cuál debería ser el estado del SUT después de la finalización de las acciones
La sintaxis de las pruebas basadas en palabras clave enumera los casos de prueba (datos y palabras de acción) en formato de tabla (véase el ejemplo a continuación). La primera columna (columna A) contiene la palabra clave «Introducir cliente», que es la funcionalidad que se está probando. Las columnas restantes (BE) contienen los datos necesarios para ejecutar la palabra clave: Nombre, Dirección, Código postal y Ciudad.
Para ingresar otro cliente, el evaluador crearía una nueva fila en la tabla con la palabra clave "Ingresar cliente" y los datos del nuevo cliente en las columnas siguientes. No es necesario volver a enumerar todas las acciones incluidas.
En él, puedes diseñar tus casos de prueba mediante:
- Indicar los pasos generales necesarios para interactuar con la aplicación y el sistema con el fin de realizar la prueba.
- Indicar cómo validar y certificar que las funciones operan correctamente.
- Especificar las condiciones previas para la prueba.
- Especificar los criterios de aceptación para la prueba.
Dada la naturaleza iterativa del desarrollo de software , el diseño de las pruebas suele ser más abstracto (menos específico) que una implementación manual de una prueba, pero puede evolucionar fácilmente hasta convertirse en una.
Ventajas
Las pruebas basadas en palabras clave reducen la sensibilidad al mantenimiento causada por cambios en el sistema/software bajo prueba (SUT). Si cambian los diseños de pantalla o se migra el sistema a otro sistema operativo, apenas será necesario modificar los casos de prueba: los cambios se realizarán en la documentación de las palabras clave, un documento por cada palabra clave, independientemente de la frecuencia con la que se utilice en los casos de prueba, lo que implica un proceso exhaustivo de diseño de pruebas.
Además, gracias a la descripción detallada de cómo ejecutar la palabra clave (en la documentación de la misma), la prueba puede ser realizada por casi cualquier persona. Por lo tanto, las pruebas basadas en palabras clave pueden utilizarse tanto para pruebas manuales como automatizadas . [ 1 ]
Además, este enfoque constituye un marco abierto y extensible que unifica todas las herramientas, recursos y datos relacionados con las pruebas. Bajo este marco único, todos los participantes pueden definir y perfeccionar los objetivos de calidad que persiguen. Es aquí donde el equipo define el plan que implementará para alcanzar dichos objetivos. Y, lo que es más importante, proporciona a todo el equipo un único lugar donde consultar el estado del sistema en cualquier momento.
Las pruebas son el mecanismo de retroalimentación en el proceso de desarrollo de software . Indican dónde se deben realizar correcciones para mantener el rumbo en cada iteración del desarrollo. También informan sobre la calidad actual del sistema en desarrollo. La implementación de pruebas implica el diseño y desarrollo de scripts de prueba reutilizables que implementan el caso de prueba. Una vez implementados, se pueden asociar con el caso de prueba.
La implementación es diferente en cada proyecto de pruebas. En un proyecto, podría decidir crear tanto scripts de prueba automatizados como manuales . [ 2 ] El diseño de pruebas, en cambio, es un proceso iterativo. Puede comenzar a diseñar pruebas antes de cualquier implementación del sistema, basando el diseño de pruebas en especificaciones de casos de uso , requisitos, prototipos, etc. A medida que el sistema se define con mayor claridad y se dispone de versiones del sistema con las que trabajar, se pueden elaborar los detalles del diseño. La actividad de diseñar pruebas responde a la pregunta: "¿Cómo voy a realizar las pruebas?". Un diseño de prueba completo informa a los lectores sobre las acciones que deben tomarse con el sistema y los comportamientos y características que deben esperar observar si el sistema funciona correctamente.
El diseño de una prueba es diferente del trabajo de diseño que debe realizarse para determinar cómo construir la implementación de la prueba.
Metodología
La metodología de pruebas basada en palabras clave divide la ejecución del proceso de prueba en varias etapas:
- Base del modelo/prototipado: análisis y evaluación de los requisitos.
- Definición del modelo de prueba: basándose en el resultado de la evaluación de requisitos, se elabora un modelo de software propio.
- Definición de datos de prueba: sobre la base del modelo propio definido, palabra clave de inicio y definición de datos principales/complementarios.
- Preparación para la prueba: base para la prueba de admisión, etc.
- Diseño de pruebas: análisis de la base de pruebas, diseño de casos/procedimientos de prueba, diseño de datos de prueba.
- Ejecución manual de pruebas: ejecución manual de los casos de prueba utilizando la documentación de palabras clave como guía de ejecución.
- Automatización de la ejecución de pruebas: creación de scripts automatizados que realizan acciones de acuerdo con la documentación de palabras clave.
- Ejecución automatizada de pruebas.
Definición
Una palabra clave o palabra de acción es una combinación definida de acciones sobre un objeto de prueba que describe cómo deben ejecutarse las líneas de prueba. Una palabra de acción contiene argumentos y la define un analista de pruebas.
La prueba es un paso clave en cualquier proceso de desarrollo y consiste en aplicar una serie de pruebas o verificaciones a un objeto (prueba de sistema/software — SUT). Siempre hay que recordar que la prueba solo puede mostrar la presencia de errores, no su ausencia. En la prueba de sistema en tiempo real, no basta con comprobar si el SUT produce las salidas correctas. También debe verificarse que el tiempo empleado para producir dicha salida sea el esperado. Además, la temporización de estas salidas puede depender de la temporización de las entradas. A su vez, la temporización de las futuras entradas aplicables se determina a partir de las salidas. [ 2 ]
Automatización de la ejecución de pruebas
La fase de implementación varía según la herramienta o el marco de trabajo. A menudo, los ingenieros de automatización implementan un marco de trabajo que proporciona palabras clave como "check" y "enter". [ 1 ] Los evaluadores o diseñadores de pruebas (que no necesitan saber programar) escriben casos de prueba basados en las palabras clave definidas en la fase de planificación que han sido implementadas por los ingenieros. La prueba se ejecuta mediante un controlador que lee las palabras clave y ejecuta el código correspondiente.
Otras metodologías emplean una fase de implementación integral. En lugar de separar las tareas de diseño y ejecución de pruebas, el diseño de pruebas se integra en la automatización de las mismas. Palabras clave como "editar" o "verificar" se crean con herramientas que ya incluyen el código necesario. Esto elimina la necesidad de ingenieros adicionales en el proceso de pruebas, ya que la implementación de las palabras clave forma parte de la herramienta. Algunos ejemplos son GUIdancer y QTP .
Ventajas
- El mantenimiento es bajo a largo plazo:
- Los casos de prueba son concisos.
- Los casos de prueba son legibles para las partes interesadas.
- Los casos de prueba son fáciles de modificar.
- Los nuevos casos de prueba pueden reutilizar las palabras clave existentes con mayor facilidad.
- Reutilización de palabras clave en múltiples casos de prueba
- No depende de una herramienta o lenguaje de programación específico.
- División del trabajo
- La construcción de casos de prueba requiere un conocimiento más profundo del dominio, y menos habilidades de programación o de herramientas.
- La implementación de palabras clave requiere mayores habilidades de programación/herramientas, con habilidades de dominio relativamente menores.
- Abstracción de capas
Desventajas
- Mayor tiempo de comercialización (en comparación con las pruebas manuales o la técnica de grabación y reproducción).
- Curva de aprendizaje moderadamente alta inicialmente
Véase también
Referencias
- 1 2 Faught, Danny R. (noviembre de 2004). "Pruebas basadas en palabras clave" . Sticky Minds . Ingeniería de calidad de software . Recuperado el 12 de septiembre de 2012 .
- ^ Mandurrino , José L. (julio de 2014). "Gestión y aplicación de la validación en el sistema RT (tiempo real)". UTIU.
{{cite web}}: Falta o está vacío|url=( ayuda )
Enlaces externos
- Pruebas basadas en acciones
- Factores de éxito para las pruebas basadas en palabras clave , por Hans Buwalda
- SAFS (Soporte para el marco de automatización de software)
- marcos de automatización de pruebas
- Marco de automatización - gFast: marco genérico para pruebas de software automatizadas - Marco QTP
- Pruebas de software