Difference between revisions of "Testing Basado en Modelos para Genexus"
(→Referencias) |
|||
Line 1: | Line 1: | ||
+ | [[category: Testing]] | ||
+ | |||
El testing basado en modelos (o MBT de su sigla en inglés ''Model Based Testing'') es una técnica de testing que consiste en representar el comportamiento esperado con un modelo abstracto de la realidad. Luego, este modelo de alguna forma es ejecutado contra la aplicación, verificando así si el comportamiento esperado es el obtenido por la aplicación. | El testing basado en modelos (o MBT de su sigla en inglés ''Model Based Testing'') es una técnica de testing que consiste en representar el comportamiento esperado con un modelo abstracto de la realidad. Luego, este modelo de alguna forma es ejecutado contra la aplicación, verificando así si el comportamiento esperado es el obtenido por la aplicación. | ||
Revision as of 18:14, 9 December 2009
El testing basado en modelos (o MBT de su sigla en inglés Model Based Testing) es una técnica de testing que consiste en representar el comportamiento esperado con un modelo abstracto de la realidad. Luego, este modelo de alguna forma es ejecutado contra la aplicación, verificando así si el comportamiento esperado es el obtenido por la aplicación.
La idea es aplicar la filosofía que Genexus tiene para crear aplicaciones, para automatizar el testing. De esta forma obtener las mismas ventajas y mejorar la productividad del testing.
Contents |
Usar modelos para testear
Por lo general cuando un tester se enfrenta a una aplicación a testear, este se arma un modelo mental el cual tiene información suficiente como para determinar cuál es la respuesta esperada ante cada una de las acciones que se pueden realizar sobre el sistema. La propuesta es materializar estos modelos, y transformarlos en algo computable, como para que una máquina sea capaz de interpretar estos modelos y ejecutar las pruebas por nosotros. A partir de un modelo que tenga la información de las acciones que se pueden ejecutar y de las respuestas a recibir, se pueden derivar automáticamente casos de prueba que cumplan un criterio determinado, como por ejemplo pasar por todas las pantallas, todos los ciclos que se puedan ejecutar, cubrir cierta cantidad de valores de entrada, etc.
Genexus a partir modelos que representan la realidad permite construir aplicaciones. El MBT a partir de modelos que representan la realidad y la aplicación a testear, permiten crear casos de prueba abstractos, que luego se pueden convertir en ejecutables.
Ventajas
Independencia de la Tecnología
MBT plantea implementar "adapters" (adaptadores) que sean capaces de abstraer a los modelos de la tecnología sobre la que se ejecuta. Esto da como resultado que los casos de prueba sean totalmente independientes de la tecnología sobre la que se ejecutan.
GXtest implementa la capa de adaptación para todas las tecnologías en las que genera Genexus, y de esa forma el tester sólo se concentra en diseñar los casos de prueba, sin importar en qué plataforma se generará la aplicación. Esto permite también
Productividad
Podemos generar cientos de casos de prueba en forma automática a partir de los modelos definidos. Siguiendo criterios inteligentes de cubrimiento sobre los modelos podemos generar y seleccionar casos de prueba interesantes, y no simplemente tener miles de casos de prueba irrelevantes.
Simplicidad
Es más simple trabajar con modelos que trabajar con scripts (tal como pasa en el esquema tradicional de automatización de pruebas). Esto hace que no se requieran mayores conocimientos en informática para poder realizar estas tareas.
Mantenibilidad
Es más factible mantener modelos que están directamente asociados al modelo de la aplicación (KB de Genexus) que mantener scripts que no tienen una asociación automática con la aplicación.
Creatividad
Genexus logra que nos concentremos en las tareas mas creativas de la construcción de la aplicación, dejando a Genexus las tareas automatizables. En el MBT el objetivo es que el tester se pueda dedicar solo a describir el comportamiento que espera de la aplicación y que tareas como la generación de los casos de prueba y ejecución de los mismos se puedan hacer de manera automática.
Modelar
Tiempo de modelado < tiempo de diseño manual de un test.
Detección temprana de ambiguedades en los requerimientos.
Rápida respuesta al cambiar requerimientos:
- Cambiar modelo -> Regenerar casos de pruebas -> Verificar impacto
Referencias
- Harry Robinson: El gurú del MBT
- En esta página podrán encontrar una serie amplia de artículos publicadas por Harry Robinson, donde explica el testing basado en modelos, mostrando incluso ejemplos en donde lo ha aplicado, en empresas donde ha trabajado, como por ejemplo Google, Microsoft, HP, etc.
- Charla "Testing Basado en Modelos para Genexus"
- Este artículo está basado en la charla expuesta por Abstracta en el Evento Genexus 2008, en el cual se presentó GXtest a la comunidad Genexus.