EJEMPLO PRUEBAS:
Proyecto de construcción de software para apoyo al
Juego Gerencial
Rubby Casallas – Nicolás López – Rafael Meneses
Departamento de Sistemas y Computación
Facultad de Ingeniería
Universidad de los Andes
Agenda
 Contexto Proyecto
 Estrategia desarrollo
 Estrategia Pruebas
 Carga de Datos
 Validación de simulaciones
 Pilotos pruebas
Proyecto Juego Gerencial
 Simular una situación de mercado
 Grupos corporativos toman decisiones de negocio
 Efecto en la participación de mercado
 Las decisiones son simuladas de acuerdo con un
entorno de negocio
Proyecto Juego Gerencial
 Ciclo 1: Junio - Julio Equipo mixto Lidie-Qualdev:
Análisis y estrategia global
 Diagrama de procesos
 Glosario
 Descripciones de requerimientos
 Propuesta de arquitectura global
 Estudio de tecnologías
 Prototipos: de análisis y de tecnologías
 Identificación de riesgos
 Estrategia de desarrollo
Configuración de la industria
Definición de las reglas de juego:
{Decisión-Consecuencias}
Configuración del entorno
Definición empresas, usuarios, etc.
Toma de decisiones
Asignación participación
mercado
Simulación
Consolidación
Requerimientos y Restricciones
 Volumen de estudiantes
 Acceso Internet
 Desarrollo incremental – versiones funcionales y
utilizables en el contexto del curso
 Lo más importante:
 Separación del conocimiento (las reglas del juego)
del procesamiento
Agenda
 Contexto Proyecto
 Estrategia desarrollo
 Estrategia Pruebas
 Carga de Datos
 Validación de simulaciones
 Pilotos pruebas
Administrador/Profesor
- Crear la industria
- Crear las reglas del juego
- Configurar el entorno
- Administrar las empresas,
- los estudiantes
- Participar en el Juego:
- Resolver peticiones
- Hacer anuncios
- Ver avances
- Repartir el mercado
- simular
- Ver info consolidada
Estudiante/Empresa
Estudiante/Empresa
Estudiante/Empresa
Estrategia de desarrollo
 Separación de las reglas del juego del
procesamiento
 Generación de código
 Ciclos incrementales y alcance
Lenguaje de definición de decisiones
-Información de entrada:
-Valores ingresados por
quien toma la decisión
-Selecciones
-Cálculos (fórmulas)
-Transacciones Financieras
-Transacciones Operativas
Experto en
Producción
Experto en
Finanzas
…
Experto en
Mercadeo
Separación de las reglas del juego del
procesamiento
Separación de las reglas del juego del
procesamiento
Reglas del juego
Empresa
Estados Financieros
Estados Operativos
Decisiones tomadas
durante el período
Estados Financieros
Estados Operativos
Motor de
simulación
Agenda
 Contexto Proyecto
 Estrategia desarrollo
 Estrategia Pruebas
 Carga de Datos
 Validación de simulaciones
 Pilotos pruebas
 Pruebas de rendimiento
Estrategia de Pruebas
 Facilitar la carga de datos para probar el sistema
en un estado no inicial
 Ofrecer un mecanismo para validar la simulación
 Poder ejecutar varios pilotos antes de poner en
producción
Carga de datos
 Escenario cargado desde archivos Excel a BD
Carga de datos
 Simular la configuración del profesor de TODA la
industria para poder probar:
 Capa web
 Decisiones
 Simulación
 1 a 1.5 personas dedicadas completamente a estas
tareas
 Desarrollo de una Infraestructura completa para
soportar la carga de datos
Carga de datos
 Retos:
 Alto volumen de tablas
 Mas de 250 entidades, con muchas relaciones
 Validar que datos son correctos antes de cargar
 Validar completitud de datos al cargar
 Cambios en el modelo y su impacto en la BD
Reto: Alto volumen de tablas
 Reto principal: entender los archivos
 Estrategia solución
 Una pestaña por tabla
 Dividir en varios archivos
Reto: Validar
 Validar que datos son correctos antes de cargar
 Validador revisa que las pestañas estén correctas antes
de cargar
 Validar completitud de datos al cargar
 Después de cargar, mensajes de warning indican que
tablas no tienen datos creados
Cambios en el modelo
 Como mantener la validez del escenario
 Generador de pestañas genera esqueletos de Excel a
partir de la BD
 Definición de proceso de cambios en modelo que
incluye mantenimiento de pruebas
Cambios en el modelo
Cambios en el modelo
Agenda
 Contexto Proyecto
 Estrategia desarrollo
 Estrategia Pruebas
 Carga de Datos
 Validación de simulaciones
 Pilotos pruebas
 Pruebas de rendimiento
Validar la Simulación
 Cómo facilitar a los profesores validar que las
decisiones SI tienen el efecto esperado?
 El mecanismo además debe poder ser útil para los
USUARIOS finales
Validar la Simulación
 Estrategia general
Sistema
Oráculo Excel
Def Decisiones
Instancias
Decisiones
(ejemplos)
Reportes
EXCEL
Reportes
Sistema
Validar la Simulación
 Restricciones: No atar el oráculo a las instancias
particulares de las decisiones
 Oráculo:
 Lee el mismo archivo de instancias de decisiones que se
cargan al sistema
 Procesa las decisiones en archivos con fórmulas
 Saca los resultados en otro archivo de Excel
Validar la Simulación
 Archivo resultados Oráculo
Agenda
 Contexto Proyecto
 Estrategia desarrollo
 Estrategia Pruebas
 Carga de Datos
 Validación de simulaciones
 Pilotos pruebas
 Pruebas de rendimiento
Pilotos
 Probar escenarios completos de ejecución
 Varios pilotos:
1. Recolectar datos de los profesores y poblamos
escenarios para ejecución
– Comparar ejecución con el oráculo a partir de reportes
– Ajustar lógica de negocio
2. Definir con profesores un grupo piloto de estudiantes
– Ejecutar el juego de manera controlada con los estudiantes
– Ajustar aspectos de usabilidad
Piloto 1
 6 semanas recolectando datos de industria con los
profesores
 2 semanas definiendo empresa y decisiones a
ejecutar
 1 semana en ejecución
 4 semanas de ajustes con respecto a la ejecución
Agenda
 Contexto Proyecto
 Estrategia desarrollo
 Estrategia Pruebas
 Carga de Datos
 Validación de simulaciones
 Pilotos pruebas
 Pruebas de rendimiento
Pruebas de rendimiento
 Pruebas de rendimiento:
 A nivel de consulta de EJB (EJB Tests)
 Pruebas Web (Web Tests)
EJB Tests
 Consiste en acceder directamente a los Entity y
Session beans para ver cómo reacciona glassfish
al ser consultado por varios clientes
simultáneamente
 Se usó el framework Grinder, que funciona con un
nodo principal al que se conectan workers y a cada
uno se le envían las instrucciones a ejecutar
 Hyperic HQ es una plataforma basada en Java
para monitorear y administrar recursos de software
EJB Tests
 Topología
Variables a Evaluar
Glassfish
Uso de CPU
Uso de memoria RAM
Uso de disco I/O
Mysql
Uso de cpu
Uso de memoria ram
Uso de disco I/O
EJB Tests
 Vista de Despliegue
EJB Tests
 Los resultados de estas pruebas nos permitieron:
 Ajustar los valores de la configuración de glassfish. Por
ejemplo: Pool Settings (Maximum Pool Size, Pool Idle
Timeout, etc.), Cache Settings (Max Cache Size, Cache
Resize Quantity, etc.)
 Especificar una configuración hardware adecuada para los
requerimientos actuales de desempeño. Esta configuración
soporta escalabilidad en cuanto al número de usuarios
concurrentes.
Web Tests
 Consisten en que cada cliente hace login y luego
crea una serie de instancias de una decisión
 Permiten verificar el desempeño de la capa Web
al ser utilizada por varios usuarios
concurrentemente
 Se utilizó el framework de pruebas de aplicaciones
Web SeleniumHQ. Utilizado para automatizar
aplicaciones Web utilizando múltiples navegadores
y plataformas.
Web Tests
 Estas pruebas permitieron identificar pantallas
ineficientes con un nivel muy alto de información
(i.e. muchas instancias de decisión).
 Con esta información optimizamos el despliegue
Web (jsf) de dichas pantallas e identificamos
algunos algoritmos de la capa Web que deberían
ser trasladados a la capa de sesión.
Preguntas
 Clasifique los 4 tipos de pruebas del juego
gerencial (Carga de Datos, Validación de
simulaciones, Pilotos pruebas, Desempeño) en las
categorías clásicas de pruebas:
 Unitarias
 Integración
 Sistema
 Usuario
Material elaborado por:
 Rafael Meneses
 Nicolás López

Ejemplo pruebas de software

  • 1.
    EJEMPLO PRUEBAS: Proyecto deconstrucción de software para apoyo al Juego Gerencial Rubby Casallas – Nicolás López – Rafael Meneses Departamento de Sistemas y Computación Facultad de Ingeniería Universidad de los Andes
  • 2.
    Agenda  Contexto Proyecto Estrategia desarrollo  Estrategia Pruebas  Carga de Datos  Validación de simulaciones  Pilotos pruebas
  • 3.
    Proyecto Juego Gerencial Simular una situación de mercado  Grupos corporativos toman decisiones de negocio  Efecto en la participación de mercado  Las decisiones son simuladas de acuerdo con un entorno de negocio
  • 4.
    Proyecto Juego Gerencial Ciclo 1: Junio - Julio Equipo mixto Lidie-Qualdev: Análisis y estrategia global  Diagrama de procesos  Glosario  Descripciones de requerimientos  Propuesta de arquitectura global  Estudio de tecnologías  Prototipos: de análisis y de tecnologías  Identificación de riesgos  Estrategia de desarrollo
  • 6.
    Configuración de laindustria Definición de las reglas de juego: {Decisión-Consecuencias} Configuración del entorno Definición empresas, usuarios, etc.
  • 7.
  • 8.
  • 9.
    Requerimientos y Restricciones Volumen de estudiantes  Acceso Internet  Desarrollo incremental – versiones funcionales y utilizables en el contexto del curso  Lo más importante:  Separación del conocimiento (las reglas del juego) del procesamiento
  • 10.
    Agenda  Contexto Proyecto Estrategia desarrollo  Estrategia Pruebas  Carga de Datos  Validación de simulaciones  Pilotos pruebas
  • 11.
    Administrador/Profesor - Crear laindustria - Crear las reglas del juego - Configurar el entorno - Administrar las empresas, - los estudiantes - Participar en el Juego: - Resolver peticiones - Hacer anuncios - Ver avances - Repartir el mercado - simular - Ver info consolidada
  • 12.
  • 13.
    Estrategia de desarrollo Separación de las reglas del juego del procesamiento  Generación de código  Ciclos incrementales y alcance
  • 14.
    Lenguaje de definiciónde decisiones -Información de entrada: -Valores ingresados por quien toma la decisión -Selecciones -Cálculos (fórmulas) -Transacciones Financieras -Transacciones Operativas Experto en Producción Experto en Finanzas … Experto en Mercadeo Separación de las reglas del juego del procesamiento
  • 15.
    Separación de lasreglas del juego del procesamiento Reglas del juego Empresa Estados Financieros Estados Operativos Decisiones tomadas durante el período Estados Financieros Estados Operativos Motor de simulación
  • 16.
    Agenda  Contexto Proyecto Estrategia desarrollo  Estrategia Pruebas  Carga de Datos  Validación de simulaciones  Pilotos pruebas  Pruebas de rendimiento
  • 17.
    Estrategia de Pruebas Facilitar la carga de datos para probar el sistema en un estado no inicial  Ofrecer un mecanismo para validar la simulación  Poder ejecutar varios pilotos antes de poner en producción
  • 18.
    Carga de datos Escenario cargado desde archivos Excel a BD
  • 19.
    Carga de datos Simular la configuración del profesor de TODA la industria para poder probar:  Capa web  Decisiones  Simulación  1 a 1.5 personas dedicadas completamente a estas tareas  Desarrollo de una Infraestructura completa para soportar la carga de datos
  • 20.
    Carga de datos Retos:  Alto volumen de tablas  Mas de 250 entidades, con muchas relaciones  Validar que datos son correctos antes de cargar  Validar completitud de datos al cargar  Cambios en el modelo y su impacto en la BD
  • 21.
    Reto: Alto volumende tablas  Reto principal: entender los archivos  Estrategia solución  Una pestaña por tabla  Dividir en varios archivos
  • 22.
    Reto: Validar  Validarque datos son correctos antes de cargar  Validador revisa que las pestañas estén correctas antes de cargar  Validar completitud de datos al cargar  Después de cargar, mensajes de warning indican que tablas no tienen datos creados
  • 23.
    Cambios en elmodelo  Como mantener la validez del escenario  Generador de pestañas genera esqueletos de Excel a partir de la BD  Definición de proceso de cambios en modelo que incluye mantenimiento de pruebas
  • 24.
  • 25.
  • 26.
    Agenda  Contexto Proyecto Estrategia desarrollo  Estrategia Pruebas  Carga de Datos  Validación de simulaciones  Pilotos pruebas  Pruebas de rendimiento
  • 27.
    Validar la Simulación Cómo facilitar a los profesores validar que las decisiones SI tienen el efecto esperado?  El mecanismo además debe poder ser útil para los USUARIOS finales
  • 28.
    Validar la Simulación Estrategia general Sistema Oráculo Excel Def Decisiones Instancias Decisiones (ejemplos) Reportes EXCEL Reportes Sistema
  • 29.
    Validar la Simulación Restricciones: No atar el oráculo a las instancias particulares de las decisiones  Oráculo:  Lee el mismo archivo de instancias de decisiones que se cargan al sistema  Procesa las decisiones en archivos con fórmulas  Saca los resultados en otro archivo de Excel
  • 30.
    Validar la Simulación Archivo resultados Oráculo
  • 31.
    Agenda  Contexto Proyecto Estrategia desarrollo  Estrategia Pruebas  Carga de Datos  Validación de simulaciones  Pilotos pruebas  Pruebas de rendimiento
  • 32.
    Pilotos  Probar escenarioscompletos de ejecución  Varios pilotos: 1. Recolectar datos de los profesores y poblamos escenarios para ejecución – Comparar ejecución con el oráculo a partir de reportes – Ajustar lógica de negocio 2. Definir con profesores un grupo piloto de estudiantes – Ejecutar el juego de manera controlada con los estudiantes – Ajustar aspectos de usabilidad
  • 33.
    Piloto 1  6semanas recolectando datos de industria con los profesores  2 semanas definiendo empresa y decisiones a ejecutar  1 semana en ejecución  4 semanas de ajustes con respecto a la ejecución
  • 34.
    Agenda  Contexto Proyecto Estrategia desarrollo  Estrategia Pruebas  Carga de Datos  Validación de simulaciones  Pilotos pruebas  Pruebas de rendimiento
  • 35.
    Pruebas de rendimiento Pruebas de rendimiento:  A nivel de consulta de EJB (EJB Tests)  Pruebas Web (Web Tests)
  • 36.
    EJB Tests  Consisteen acceder directamente a los Entity y Session beans para ver cómo reacciona glassfish al ser consultado por varios clientes simultáneamente  Se usó el framework Grinder, que funciona con un nodo principal al que se conectan workers y a cada uno se le envían las instrucciones a ejecutar  Hyperic HQ es una plataforma basada en Java para monitorear y administrar recursos de software
  • 37.
    EJB Tests  Topología Variablesa Evaluar Glassfish Uso de CPU Uso de memoria RAM Uso de disco I/O Mysql Uso de cpu Uso de memoria ram Uso de disco I/O
  • 38.
    EJB Tests  Vistade Despliegue
  • 39.
    EJB Tests  Losresultados de estas pruebas nos permitieron:  Ajustar los valores de la configuración de glassfish. Por ejemplo: Pool Settings (Maximum Pool Size, Pool Idle Timeout, etc.), Cache Settings (Max Cache Size, Cache Resize Quantity, etc.)  Especificar una configuración hardware adecuada para los requerimientos actuales de desempeño. Esta configuración soporta escalabilidad en cuanto al número de usuarios concurrentes.
  • 40.
    Web Tests  Consistenen que cada cliente hace login y luego crea una serie de instancias de una decisión  Permiten verificar el desempeño de la capa Web al ser utilizada por varios usuarios concurrentemente  Se utilizó el framework de pruebas de aplicaciones Web SeleniumHQ. Utilizado para automatizar aplicaciones Web utilizando múltiples navegadores y plataformas.
  • 41.
    Web Tests  Estaspruebas permitieron identificar pantallas ineficientes con un nivel muy alto de información (i.e. muchas instancias de decisión).  Con esta información optimizamos el despliegue Web (jsf) de dichas pantallas e identificamos algunos algoritmos de la capa Web que deberían ser trasladados a la capa de sesión.
  • 42.
    Preguntas  Clasifique los4 tipos de pruebas del juego gerencial (Carga de Datos, Validación de simulaciones, Pilotos pruebas, Desempeño) en las categorías clásicas de pruebas:  Unitarias  Integración  Sistema  Usuario
  • 43.
    Material elaborado por: Rafael Meneses  Nicolás López