¿Qué es una prueba funcional?
Definición de Wikipedia: “Una prueba funcional es una prueba basada en la ejecución, revisión y retroalimentación de las funcionalidades previamente diseñadas para el software. Las pruebas funcionales se hacen mediante el diseño de modelos de prueba que buscan evaluar cada una de las opciones con las que cuenta el paquete informático.”
¿Qué es vEST?
vEST es el conjunto de aplicaciones y scripts que permiten realizar pruebas funcionales de Velneo en distintos sistemas operativos y relacionado con el sistema de integración continua. Se distinguen pruebas funcionales de pruebas de interfaz debido a su distinto tratamiento. vEST sólo realiza comprobaciones de tareas sin interfaz.
¿Qué es vJavaScript?
vJavaScript es la implementación realizada en Velneo sobre el lenguaje de programación JavaScript al que se le han añadido un conjunto de clases que aportan objetos y funciones adicionales para obtener una integración completa en la plataforma de desarrollo de aplicaciones empresariales Velneo.
VTableInfo
Los objetos de esta clase contienen la información de la estructura de una tabla. Tiene funciones generales de la tabla, como ver su id o su tipo, y funciones para obtener información de sus subobjetos: campos, indices e históricos. También nos permite obtener otros VTablaInfo de las tablas enlazadas como maestros o históricos. En el blog del vArquitecto encontrarás la información detallada sobre esta clase y sus funciones «Class VTableInfo para vJavaScript«.
Testeo de las funciones
En vEST se ha incluido el testeo de un grupo de funciones de la clase VTableInfo. A continuación se muestran las capturas de los códigos de las pruebas que espero te puedan ayudar como material de consulta sobre la codificación de estas funciones.
vEST graba en la tabla LOG los resultados de las pruebas. Por ese motivo el script comienza abriendo la transacción en la que se incluirán las altas de los registros con los resultados de las pruebas. La tabla de entrada del proceso que ejecuta el script es precisamente la tabla LOG, es precisamente contra esta tabla contra la que se lanzarán las funciones.
Todos los testeos se realizan de la misma forma:
- 1º Se guarda en una variable el resultado de la ejecución de la función.
- 2º Se modifica el campo NAME de la tabla LOG con la descripción de la función testada.
- 3º Se modifica el campo RESULTADO de la tabla LOG con el resultado de la comparación del valor retornado por la función y la constante que contiene el resultado esperado.
- 4º Se añade el nuevo registro en la tabla LOG.
id()
// Devuelve el valor de la propiedad identificador de la tabla.
VTableInfo.id()
var resultado = VRegisterListIn.tableInfo().id();
registro.setField("NAME", "VJS_TBI_001 - Tabla VTableInfo.id()");
registro.setField("RESULTADO", String(resultado == "LOGS"));
registro.addRegister();
name()
//Devuelve el valor de la propiedad nombre plural de la tabla.
VTableInfo.name()
var resultado = VRegisterListIn.tableInfo().name();
registro.setField("NAME", "VJS_TBI_002 - Tabla VTableInfo.name()");
registro.setField("RESULTADO", String(resultado == "Logs"));
registro.addRegister();
singleName()
var resultado = VRegisterListIn.tableInfo().singleName();
registro.setField("NAME", "VJS_TBI_003 - Tabla VTableInfo.singleName()");
registro.setField("RESULTADO", String(resultado == "Log"));
registro.addRegister();
type()
// Devuelve el valor de la propiedad tipo de tabla.
VTableInfo.type()
var resultado = VRegisterListIn.tableInfo().type();
registro.setField("NAME", "VJS_TBI_004 - Tabla VTableInfo.type()");
registro.setField("RESULTADO", String(resultado == 0));
registro.addRegister();
isInMemory()
// Devuelve un 1 si la tabla está definida con persistencia en memoria.
// Devuelve un 0 si la tabla está definida con persistencia en disco.
VTableInfo.isInMemory()
var resultado = VRegisterListIn.tableInfo().isInMemory();
registro.setField("NAME", "VJS_TBI_005 - Tabla VTableInfo.isInMemory()");
registro.setField("RESULTADO", String(resultado == 0));
registro.addRegister();
registerLength()
// Devuelve el tamaño del registro de la tabla en bytes.
VTableInfo.registerLength()
var resultado = VRegisterListIn.tableInfo().registerLength();
registro.setField("NAME", "VJS_TBI_006 - Tabla VTableInfo.registerLength()");
registro.setField("RESULTADO", String(resultado == 142));
registro.addRegister();
fieldCount()
// Devuelve el número de campos de la tabla.
VTableInfo.fieldCount()
var resultado = VRegisterListIn.tableInfo().fieldCount();
registro.setField("NAME", "VJS_TBI_007 - Campos VTableInfo.fieldCount()");
registro.setField("RESULTADO", String(resultado == 6));
registro.addRegister();
fieldId()
// Devuelve el valor de la propiedad identificador de un número de campo.
VTableInfo.fieldId( Number nCampo );
// Se hace un bucle concatenando el valor de la propiedad identificador de todos los campos de la tabla.
var resultado = ""
for (var x=0; x < VRegisterListIn.tableInfo().fieldCount(); x++)
{
var resultado = resultado + VRegisterListIn.tableInfo().fieldId(x) + " ";
}
registro.setField("NAME", "VJS_TBI_008 - Campos VTableInfo.fieldId()");
registro.setField("RESULTADO", String(resultado == "ID NAME RESULTADO EQUIPO TIEMPO VALOR "));
registro.addRegister();
fieldName()
// Devuelve el valor de la propiedad descripción de un número de campo.
VTableInfo.fieldName( Number nCampo )
// Se hace un bucle concatenando el valor de la propiedad descripción de todos los campos de la tabla.
var resultado = ""
for (var x=0; x < VRegisterListIn.tableInfo().fieldCount(); x++)
{
var resultado = resultado + VRegisterListIn.tableInfo().fieldName(x) + " ";
}
registro.setField("NAME", "VJS_TBI_009 - Campos VTableInfo.fieldName()");
registro.setField("RESULTADO", String(resultado == "Codigo Nombre Resultado Equipo TIEMPO Valor "));
registro.addRegister();
fieldType()
// Devuelve el tipo de campo de un número de campo.
VTableInfo.fieldType( Number nCampo )
// Se hace un bucle concatenando el valor del tipo de campo de todos los campos de la tabla.
var resultado = ""
for (var x=0; x < VRegisterListIn.tableInfo().fieldCount(); x++)
{
var resultado = resultado + VRegisterListIn.tableInfo().fieldType(x) + " ";
}
registro.setField("NAME", "VJS_TBI_010 - Campos VTableInfo.fieldType()");
registro.setField("RESULTADO", String(resultado == "6 1 10 3 9 6 "));
registro.addRegister();
Deja una respuesta