PDF de programación - Pruebas SQL, NoSQL y Multidispositivo

Imágen de pdf Pruebas SQL, NoSQL y Multidispositivo

Pruebas SQL, NoSQL y Multidispositivográfica de visualizaciones

Publicado el 26 de Septiembre del 2018
780 visualizaciones desde el 26 de Septiembre del 2018
1.004,7 KB
14 paginas
Creado hace 8a (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

(Java)

• Para alcanzar la cobertura

SQLFpc

• Minimizando el tamaño de la BD

J. Tuya (2015)

Pruebas SQL y NoSQL

7

(2) Entrenamiento (SQLTest)
http://in2test.lsi.uniovi.es/sqltest/

 Objetivo: Realizar pruebas EFECTIVAS

 Facilidad para

introducir datos
de prueba y
casos

 Evaluación

automática de la
efectividad de las
pruebas

 Comparación con

otros
participantes y
ranking

J. Tuya (2015)

Pruebas SQL y NoSQL

9

(3) Testing en Big Data Engineering

Relational Model

Star Model

Busines Intelligence

Online
Applic.

OLTP Database

OLAP Database
(Data Warehouse)

Visualization,

Manual
Analysis

J. Tuya (2015)

Pruebas SQL y NoSQL

10

(3) Testing en Big Data Engineering

Online
Applic.

Other
Data

Sources

Relational Model

Star Model

Busines Intelligence

OLTP Database

OLAP Database
(Data Warehouse)

Visualization,

Manual
Analysis

NoSQL

Database(s)

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

 Ejecutar reglas no cubiertas

 Seleccionar una regla no cubierta

24 condiciones, 5 tablas → 64 filas

 Crear filas en BD para cubrir

15 CASE, 20 tablas → 89 filas

J. Tuya (2015)

Pruebas SQL y NoSQL

13

C_Invoice_Candidate_v020406080100161116212631364146Step% Coverage / Mut. ScoreRows (%)FPC coverageMutation ScoreC_Invoice_LineTax_vt020406080100161116212631364146515661Step% Coverage / Mut. ScoreRows (%)FPC coverageMutation ScoreC_RfQResponseLine_v020406080100135791113Step% Coverage / Mut. ScoreRows (%)FPC coverageMutation ScoreC_RfQResponseLine_vt02040608010013579111315Step% Coverage / Mut. ScoreRows (%)FPC coverageMutation ScoreM_InOut_Candidate_v02040608010013579111315171921Step% Coverage / Mut. ScoreRows (%)FPC coverageMutation ScoreRV_BPartnerOpen0204060801001357Step% Coverage / Mut. ScoreRows (%)FPC coverageMutation ScoreRV_OpenItem0204060801001357911Step% Coverage / Mut. ScoreRows (%)FPC coverageMutation ScoreRV_WarehousePrice020406080100135791113Step% Coverage / Mut. ScoreRows (%)FPC coverageMutation Score Evidencias: Reducción de una BD de
100GB (benchmark TPC-H)

 Efectividad: Preserva la

cobertura respecto de la BD
de producción

 Eficiencia: Reducción de

tamaño independiente del de
la BD de producción

 Eficiencia: Tiempo

proporcional al de ejecución
de las consultas

 Funcionalidad: Soporta BD
grandes, queries complejas.
Totalmente automatizado

J. Tuya (2015)

Pruebas SQL y NoSQL

14

0200400600800100012001400160018002000Size of Reduced Database (Rows)SequentialSeq (x1000)Seq (x100)Seq (x10)ParallelPar (x1000)Par (x100)Par (x10)00,511,522,533,54Normalized Execution TimeSequentialSeq (x1000)Seq (x100)Seq (x10)ParallelPar (x1000)Par (x100)Par (x10) Cómo podemos ayudarnos
mutuamente?

- Coste pruebas

 SQL - Test4Data

 Utilizarlas en la empresa

 Obtener feedback

- Tamaño BD pruebas

+ Significativa

+ Calidad y Cobertura

+ Productividad (automatización)

- Tareas manuales (creación BD)

 NoSQL - Big Data Engineering

 Identificar problemática en las empresas

 Adaptación de nuestra investigación

 Entrenamiento

 SQLTest

 Formación Técnicas de Prueba

 Divulgación ISO/IEC/IEEE 29119.

Viabilidad aplicación/adaptación a PYMES

J. Tuya (2015)

Pruebas SQL y NoSQL

15

Contacto

 GIIS (Grupo de Investigación en Ingeniería del Software),

Universidad Oviedo
 http://giis.uniovi.es/

 Javier Tuya

 http://giis.uniovi.es/tuya/

 tuya at uniovi.es

J. Tuya (2015)

Pruebas SQL y NoSQL

16
  • Links de descarga
http://lwp-l.com/pdf13618

Comentarios de: Pruebas SQL, NoSQL y Multidispositivo (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad