898 visualizaciones desde el 26 de Septiembre del 2018
1.004,7 KB
14 paginas
Creado hace 9a (21/12/2015)
Pruebas SQL, NoSQL
y Multidispositivo
Javier Tuya
Universidad de Oviedo
Grupo de Investigación en Ingeniería del Software (GIIS)
http://giis.uniovi.es/
Alianza Española de Innovación en Software Testing
San Sebastián, 15 de Diciembre de 2015
Qué hacemos
GIIS (Grupo de Investigación
en Ingeniería del Software)
Pruebas de Aplicaciones con Bases
de datos
Evaluación, generación, reducción
Pruebas con tecnologías usadas en
Big Data Engineering
Almacenamiento (NoSQL)
Procesamiento (MapReduce)
Estándares (ISO/IEC/IEEE 29119)
Formación
Acknowledgements:
Test4SOA - Techniques for Functional
Testing in Service Oriented
Architectures (TIN2007-67843-C06-
01)
Test4DBS - Test methods for
applications with databases and
services (TIN2010-20057-C03-01)
Acknowledgements:
PERTEST - Testing of data persistence
and user perspective for new
paradigms (TIN2013-46928-C3-1-R)
J. Tuya (2015)
Pruebas SQL y NoSQL
2
Puedes conocer la cobertura de
las pruebas de tu aplicación
Un fragmento simple de un programa Java…
El salario es calculado como un salario base más el promedio de los
bonus generados por los proyectos en los que el empleado ha participado
Ejecutando esta función se cubren
todas las ramas
100% de cobertura?
J. Tuya (2015)
Pruebas SQL y NoSQL
3
... y la cobertura de tus SQL?
Qué pasa si…
… Todos los proyectos asignados a un
empleado dado tienen bonus > 0?
El promedio de
bonus es correcto
… Algún proyecto asignado
tiene bonus = 0?
… Todos los proyectos asignados
tienen bonus = 0?
… El empleado no está
asignado a ningún
proyecto?
El promedio de bonus
NO es correcto
La sentencia SQL NO
devuelve filas:
RuntimeException
J. Tuya (2015)
Pruebas SQL y NoSQL
4
... and your SQL test coverage?
Cómo plantearíamos la prueba?
Identificar las diferentes situaciones que pueden
ocurrir (Test Coverage Items según ISO/IEC/IEEE
29119) y Preparar la Base de Datos de Prueba
Para estas tareas Test4Data proporciona
automatización como ayuda al
desarrollador y al tester
+
J. Tuya (2015)
Pruebas SQL y NoSQL
5
(1) Herramientas
test4data.com
giis.uniovi.es/tools/
Técnica/Criterio
de prueba
Generación
BD pruebas
SQL
(filas generadas)
BD
Producción
Aplicación
BD
Pruebas
(filas seleccionadas)
SQL
Reducción
BD pruebas
SQLFpc/SQLRules (web, ws / Java)
•
Identifica Situaciones
de interés a probar
• Evalúa cobertura
respecto BD de pruebas
QAGrow
• Crea nuevas filas y las
(Java)
inserta en la BD de pruebas
• Para alcanzar la cobertura
SQLFpc
QAShrink
•
Inserta en la BD de pruebas
filas de la BD de producción
No Relational Model
No Transactional
(eventual consistency)
No Normalized
Replication/Distribution
Multiple Technologies
Complex
Massive Data
Processing
Data
Analytics
e.g. Hadoop/MapReduce
Apoyo al desarrollador y tester
• Modelar para derivar las pruebas
• Cambios de los programas
• Consistencia de información replicada
• Eficiencia (minimizar datos)
• Efectividad (detección defectos)
J. Tuya (2015)
Pruebas SQL y NoSQL
11
(3) Testing en Big Data Engineering
Other
Data
Sources
NoSQL
Database(s)
Complex
Massive Data
Processing
Data
Analytics
Investigación en curso:
Tipo almac. Tecnología Objetivo
Hadoop
MapReduce Elaborar Técnicas de prueba: data-flow & fault-based
Realizar pruebas aplicaciones mejora calidad datos
Columnas
Cassandra
Facilitar mantenimiento: detección impacto cambios
al cambiar la estructura lógica de datos
Clave-Valor
Riak
Modelar y probar transacciones
Grafos
n/d
Evaluar grado de completitud de pruebas en
aplicaciones ETL
J. Tuya (2015)
Pruebas SQL y NoSQL
12
Evidencias: Usar SQLFpc para crear
una BD de pruebas
Proceso iterativo (ejemplo en ERP Compiere)
SQLFpc proporciona reglas ejecutables (SQL) por cada situación a probar
Comentarios de: Pruebas SQL, NoSQL y Multidispositivo (0)
No hay comentarios