Pruebas controladas por datos
Las pruebas controladas por datos son una metodología de pruebas en la que los valores de entrada y salida de una prueba están separados del código. Este formalismo normalmente significa que una pequeña inversión en hacer que el código de prueba sea un poco más genérico permite escribir un gran número de casos de prueba simplemente identificando los datos implicados.
Las pruebas controladas por datos son excelentes para las áreas de prueba que funcionan con un conjunto de valores de entrada que definen su comportamiento; por ejemplo, al probar una API, los parámetros de entrada y salida se pueden definir como origen de datos y el código de prueba consume los datos, realiza las llamadas API y valida los resultados.
Compatibilidad con pruebas controladas por datos en TAEF
TAEF ofrece una variedad de opciones para crear pruebas controladas por datos. Vamos a comprender estas opciones para que pueda elegir cuál se adapta mejor a su escenario de prueba.
La solución de pruebas controladas por datos basada en tablas permite controlar de forma específica las variaciones de los parámetros de datos, así como definir los tipos de parámetro. DataSource en este caso es una tabla definida en un archivo XML. Puede especificar los tipos de parámetro(int, unsigned int, size_t, bool, double, DWORD, __int64 etc y su variante de matriz homogénea) o tener el tipo predeterminado en WEX::Common::String (nativo) o cadena (administrado). Cada fila de la tabla es un conjunto de variaciones en los valores de parámetro. El método de prueba se volverá a invocar para cada fila de la tabla. Este es un fragmento de código de un origen de datos XML para las pruebas basadas en datos basadas en tablas:
1 <?xml version="1.0"?>
2 <Data>
3 <Table Id ="Table1">
4 <ParameterTypes>
5 <ParameterType Name="Size">Int32</ParameterType>
6 <ParameterType Name="Color">String</ParameterType>
7 </ParameterTypes>
8 <Row>
9 <Parameter Name="Size">12</Parameter>
10 <Parameter Name="Color">Blue</Parameter>
11 </Row>
12 <Row>
13 <Parameter Name="Size">4</Parameter>
14 <Parameter Name="Color">White</Parameter>
15 </Row>
16 <Row>
17 <Parameter Name="Size">9</Parameter>
18 <Parameter Name="Color">Black</Parameter>
19 </Row>
20 </Table>
21 </Data>
Para obtener más información: Pruebas basadas en datos basadas en tablas.
La compatibilidad con pruebas controladas por datos ligeras no proporciona la fidelidad completa que ofrece la solución de pruebas basadas en datos basadas en tablas. Para aclarar: las pruebas controladas por datos ligeras restringen los parámetros de datos para que sean WEX::Common::String(native) o String(managed) como en los distintos tipos admitidos por la solución de pruebas basadas en datos basadas en tablas. Pero si busca una variación de datos rápida y de bajo costo (por ejemplo, uno o dos parámetros) para realizar un método de prueba controlado por datos y agregar un archivo XML como DataSource parece no merece la pena el problema, las pruebas controladas por datos ligeras podrían ser exactamente lo que está buscando. Un buen ejemplo de esto es un desarrollador que escribe una prueba unitaria para una API, por ejemplo, OpenThemeData(...) y quiere comprobar la API con "Button", "Listbox" y "ScrollBar". Puede ser demasiado una sobrecarga para crear un archivo DataSource XML para esto, pero con compatibilidad con pruebas ligeras controladas por datos, esto podría realizarse de forma eficaz en el propio código fuente. Si se especifica más de un parámetro, TAEF generará una expansión combinatoria n-way de parámetros detrás de la escena y se invocará el método de prueba para cada combinación. Para obtener más información: Pruebas ligeras controladas por datos.
La expansión combinatorial de n vías que ofrecen las pruebas controladas por datos ligeras podría resultar costosa y proporcionar devoluciones decrecientes a medida que el escenario de prueba es más complejo. En este escenario de prueba complejo, Pairwise Independent Combinatorial Testing(PICT) ofrecido por la solución de pruebas basadas en datos basada en PICT puede ser lo que busca. PICT proporciona mucho valor mediante la generación de un conjunto compacto de resultados de parámetros para obtener una cobertura completa sobre los parámetros. Obtenga más información sobre PICT y cómo usar esta solución en la solución de pruebas basadas en datos basadas en PICT .
Con la compatibilidad con pruebas basadas en datos basadas en WMI , también puede agregar condiciones previas a las pruebas, así como obtener información (datos) en función de los recursos disponibles en la máquina de prueba. Por ejemplo, si desea ejecutar la prueba solo si la máquina está unida a un dominio y también necesita la información del nombre de dominio al ejecutar la prueba. DataSource en este caso es una consulta WQL. Obtenga más información sobre cómo aprovechar las pruebas basadas en datos basadas en WMI en el escenario de prueba.
Teniendo en cuenta todas las opciones enumeradas anteriormente, también puede aparecer un diseño en el que una combinación de las opciones anteriores puede parecer adecuada. Por ejemplo, es posible que desee usar una consulta WMI para obtener información sobre todas las impresoras conectadas a la máquina de prueba, pero podría haber otro conjunto de parámetros que se pueden definir por adelantado mediante una construcción de pruebas controladas por datos basada en tablas. Es posible que varias especificaciones dataSource también sean útiles si desea que los datos de la prueba provengan de dos tablas independientes, lo que permite que cada tabla se pueda volver a usar en otras pruebas. Lea los detalles sobre cómo especificar varios orígenes de datos para una prueba y qué restricciones se aplican al hacerlo: Especificar varios orígenes de datos.
En esta sección
- Pruebas controladas por datos en lenguajes de scripting
- Origen de datos de tabla
- Tipos de parámetros en orígenes de datos de tabla
- Ejemplo de prueba sencilla controlada por datos
- Ejemplo de prueba controlada por datos de invalidación de metadatos
- Ejemplo de prueba controlada por datos de compatibilidad con matrices
- Clase controlada por datos
- Origen de datos PICT
- Origen de datos WMI
- Pruebas controladas por datos ligeras
- Ejecución de pruebas controladas por datos
- Varios orígenes de datos