Documentos de Académico
Documentos de Profesional
Documentos de Cultura
(Business Analysis)
Presentación de la Unidad:
En esta unidad presentaremos el proceso de ejecución de las pruebas de acuerdo al plan
de evaluación que hemos construido, el cual culmina con la decisión de implementar la
solución en producción.
También analizaremos qué ocurre con la solución una vez implantada en el ambiente
productivo, ya que es necesario continuar evaluando su funcionamiento en el mediano y
largo plazo, para controlar a lo largo del tiempo que satisface los objetivos de negocio
para los cuales fue concebida.
Objetivos
Que los participantes
Puedan definir cómo validar los resultados producidos por la solución de negocio
Puedan desarrollar criterios para registrar, priorizar y resolver los defectos de acuerdo
a los criterios de aceptación definidos
Bloques temáticos:
En esta Unidad los participantes se encontrarán con diferentes tipos de actividades que,
en el marco de los fundamentos del MEC*, los referenciarán a tres comunidades de
aprendizaje, que pondremos en funcionamiento en esta instancia de formación, a los
efectos de aprovecharlas pedagógicamente:
Es importante que todos los participantes realicen algunas de las actividades sugeridas y
compartan en los foros los resultados obtenidos.
El carácter constructivista y colaborativo del MEC nos exige que todas las actividades
realizadas por los participantes sean compartidas en los foros.
Tomen nota:
Las actividades son opcionales y pueden realizarse en forma individual, pero siempre es
deseable que se las realice en equipo, con la finalidad de estimular y favorecer el trabajo
colaborativo y el aprendizaje entre pares. Tenga en cuenta que, si bien las actividades
son opcionales, su realización es de vital importancia para el logro de los objetivos de
aprendizaje de esta instancia de formación. Si su tiempo no le permite realizar todas las
actividades, por lo menos realice alguna, es fundamental que lo haga. Si cada uno de los
participantes realiza alguna, el foro, que es una instancia clave en este tipo de cursos,
tendrá una actividad muy enriquecedora.
Asimismo, también tengan en cuenta cuando trabajen en la Web, que en ella hay de todo,
cosas excelentes, muy buenas, buenas, regulares, malas y muy malas. Por eso, es
necesario aplicar filtros críticos para que las investigaciones y búsquedas se encaminen a
la excelencia. Si tienen dudas con alguno de los datos recolectados, no dejen de consultar
al profesor-tutor. También aprovechen en el foro proactivo las opiniones de sus
compañeros de curso y colegas.
Esta prueba unitaria permite detectar y corregir defectos en forma temprana, evitando
que los mismos se propaguen en el resto de los módulos o piezas de la solución.
Ya una vez finalizada esta etapa de integración, nos encontramos en la etapa final donde
deberemos decidir la puesta en producción de la solución. Aquí tendremos la última etapa
de testeo denominada la prueba de aceptación del usuario o cliente (UAT por su sigla
en inglés “User Acceptance Test”). Esta prueba se realiza en un ambiente similar al de
producción (llamado “pre-productivo), es decir con idénticas condiciones de
comportamiento: desempeño, capacidad y velocidad de procesamiento, conectividad,
comunicación, capacidad de almacenamiento de datos, condiciones ambientales, etc.,
para simular situaciones reales escogidas especialmente por el cliente y el equipo de
testeo.
Esas condiciones deben apuntar a que las funciones normales y habituales del producto
puedan ejecutarse satisfactoriamente, en concordancia con los requerimientos, y que
además la solución implantada en producción no provoque alteraciones o disrupciones en
los sistemas o eco sistemas relacionados.
En esta etapa y en este ambiente se suelen realizar pruebas más específicas como las de
volumen o desempeño que describimos en la Unidad 1 de este módulo, ya que es en este
ambiente donde reunimos las condiciones necesarias para evaluar este tipo de aspectos.
Cuando se trata de proyectos de software, este tipo de pruebas implica una conversión de
datos desde la antigua solución a la nueva, para que se pueda comenzar el paralelo
Esta conversión implica el desarrollo de código fuente específico para transportar los
datos de un sistema a otro, y completar con algún valor por omisión los datos que son
nuevos. Además se debe ejecutar una cantidad casos de pruebas para verificar que los
datos han sido correctamente migrados y completados para que puedan ser utilizados en
la nueva solución.
Previo a cada etapa de prueba deberemos obtener o construir los datos específicos
de prueba que cumplan con esas pre-condiciones para cada uno de los casos, y con
esos datos describir los resultados exactos que pretendo obtener.
Por ejemplo, supongamos que tengo un caso de prueba en el que quiero verificar que un
cliente nuevo (pre-condición) no puede efectuar compras en un sistema en línea por
encima de un determinado monto, digamos 10.000 pesos (este es el evento a evaluar), y
que si lo intentara le debe dar un mensaje de aviso explicándole la situación y enviarle un
e-mail recordándole los montos máximos por tipo de producto (estos serían los resultados
esperados).
Para ejecutar este caso tengo que tener creado en el sistema un usuario con sus datos de
registro que no haya efectuado ninguna compra anteriormente, y tener cargados en el
sistema ítems de compra cuyo precio conjunto superen al menos los 10.000 pesos.
Supongamos que he creado 3 ítems por 5.000, 4.000 y 3.000 pesos respectivamente y
luego intento efectuar una compra de los 3 ítems simultáneamente, el sistema debería
emitir un mensaje de error avisándome que me excedido en 2.000 pesos de mi límite de
compra y sugerirme que elimine alguno de los ítems, además de enviar el e-mail a la
casilla de correo que he creado para ese usuario entre los datos de registro, detallando
las condiciones de venta y montos máximos de compra.
En estos casos en que pueden quedar parte de los requerimientos para ser completados
en una etapa posterior, debe documentarse cuándo se completará y cuál será su fecha
estimada de prueba y puesta en producción.
En el ejemplo que planteamos, podría ocurrir que el e-mail con las condiciones de venta y
los montos máximos por producto fuera algo que se debe enviar cuando el usuario se
registra por primera vez en el sitio, en lugar de enviarlo con cada intento de compra por
encima del tope máximo establecido.
Por otro lado al evaluar cierto tipo de requerimientos, en general los no funcionales, nos
encontramos con rangos de valores en los criterios de aceptación. Es decir se define
un “peor caso” que se corresponde con el valor mínimo aceptado, un “mejor caso”
correspondiente al valor máximo deseado o esperable dadas las características del
producto, y un valor “más probable” que se corresponde con el valor objetivo buscado.
Luego el resultado esperado del caso de prueba podrá variar entre el peor caso y el mejor
caso, con el valor objetivo situado en algún lado entre medio de ambos.
Por debajo del peor caso la solución no será aceptada en lo que respecta a ese
requerimiento. Si el valor resultante luego de ejecutar el caso de prueba estuviera por
encima del peor caso, pero aún por debajo del valor objetivo, la solución será aceptada
pero esta situación deberá representar una toma de conciencia para el equipo de
proyecto, y se deberá registrar un compromiso de tiempo y esfuerzo para poder satisfacer
la necesidad de negocio establecida por el caso objetivo.
Este tipo de rangos de valores de aceptación es muy común encontrarlos en los casos de
testeo que miden requerimientos de performance o de volumen.
Continuando con el ejemplo del sitio on line de compras, podría tener un requerimiento de
tiempo de respuesta en la búsqueda de productos en el catálogo que no fuera superior a
5 segundos, considerándose el objetivo 2 segundos y el mejor caso 1 segundo.
Ante requerimientos de este tipo es conveniente definir en el caso de prueba los máximos
de volumen exigidos para un desempeño determinado, y efectuar el caso de prueba en
forma individual, es decir midiendo un solo evento ejecutado en forma aislada, y luego ver
cómo se desempeña la solución con simultaneidad de casos, hasta un tope máximo
requerido.
En el ejemplo que describimos, podría requerirse ese tiempo de respuesta aun cuando
hubiera como máximo 200 usuarios concurrentes, permitiéndose valores superiores en
caso de existir mayor cantidad de usuarios realizando compras en forma simultánea en el
sitio.
Además de los criterios de aceptación, para evaluar los resultados reales producidos por
nuestra solución, deberemos considerar las métricas y KPIs que definimos en el plan.
Estos indicadores nos permitirán saber si el producto cumple con las metas y objetivos
organizacionales, más allá de los requerimientos funcionales o no funcionales requeridos.
Así por ejemplo podríamos haber definido para nuestro caso del sitio on line una serie de
métricas, que ahora debemos chequear que se cumplan, o bien que serán evaluadas a lo
largo del tiempo durante la vida útil de la solución.
Toda vez que al comparar los resultados o el funcionamiento real de la solución exista
una discrepancia con los resultados esperados, estaremos ante una situación que
deberemos analizar sus causas para determinar si se trata de un defecto a corregir, de
una situación anormal de la prueba, o bien de un cambio a los requerimientos planteados.
Puede ocurrir que efectivamente los resultados no satisfagan los criterios de aceptación,
las métricas o los KPIs definidos, con lo cual deberemos registrar la situación como
defecto.
Pero podría ocurrir que los elementos de medición estuvieran errados, se hubiera
efectuado la medición en forma incorrecta, o que los datos de prueba y sus pre-
condiciones no se ajustaran a lo especificado por el caso de prueba, invalidando en esos
casos los resultados obtenidos, no pudiendo caracterizarse por tanto la discrepancia
como defecto.
También podría darse la situación que los requerimientos no estén definidos por el cliente
con el suficiente nivel de detalle como para producir los resultados esperados o que las
condiciones del mercado hayan cambiado respecto del momento en que se definieron los
requerimientos produciendo con los datos actuales situaciones inesperadas.
No se definieron las suficientes reglas de negocio que contemplen todos los tipos
de situaciones para producir tal nivel de automatización de resolución
Una vez que el equipo de pruebas detecta la causa de la discrepancia, si estamos ante un
defecto, deberemos ejecutar el proceso definido en el plan de evaluación o el que posea
la organización para lograr la efectiva resolución de los mismos.
Ese proceso es ejecutado por el equipo de seguimiento de las pruebas y supervisado por
el comité de pruebas si lo hubiera y por el analista de negocios y el gerente de proyecto.
En ocasiones de proyectos muy grandes se define un centro de comando y control de las
pruebas con varios roles permanentes operando en algún lugar específico.
Este proceso de gestión y resolución de defectos podría incluir entre otros los siguientes
pasos:
1. Captura y registro: Se debe tomar de la fuente que ejecutó la prueba una cantidad
de datos que permitan evaluar y categorizar el defecto, y al equipo de desarrollo
tener los elementos para entenderlo y resolverlo. Esos datos se vuelcan a un
registro de defectos que puede instrumentase en una planilla o en algunos de los
muchos sistemas disponibles para el registro y seguimiento de problemas. En
cualquier caso debería ser una herramienta compartida por todo el equipo y los
usuarios de fácil actualización y que permita la elaboración de algunos reportes
para el seguimiento. Entre los datos que se registran podemos mencionar:
a. la descripción del defecto
b. el caso de prueba utilizado
c. las condiciones y datos de prueba
d. los resultados esperado y los obtenidos
e. capturas de pantallas o de reportes que ayuden a la clarificación del
problema
f. severidad (ver punto 2)
g. prioridad (ver punto 2)
h. tiempo requerido de resolución
i. solución alternativa o “workaround” (ver punto 4)
A su vez cada defecto tendrá un estado que permitirá efectuar el seguimiento del
defecto desde que fue abierto hasta que logró resolverse, que indicará por ejemplo,
si está abierto (estado inicial), en análisis, en resolución, en prueba de
comprobación de resolución, entregado para el equipo de pruebas, solucionado /
cerrado o re-abierto para volver a analizar y resolver.
7. Entrega para nueva prueba: Una vez comprobada la solución del defecto por parte
del responsable, se entrega al equipo de pruebas para ser verificado en el
ambiente y en las condiciones de la prueba real. Si se comprueba que el defecto
ha sido efectivamente solucionado se modifica su estado a” resuelto”. Caso
contrario se re-abre y se vuelve a pasar al responsable para su revisión.
Una vez que se han cumplido las etapas de prueba definidas en el plan y se han
solucionado los defectos considerados críticos o importantes por el Comité de Pruebas,
los interesados definidos en el Plan de Análisis como los responsables de tomar la
decisión de implementar la solución en producción deben reunirse a tal fin.
Para facilitar esa reunión deberemos presentar los resultados de las pruebas en una
manera ejecutiva, incluyendo los resultados generales de las pruebas y los defectos o
problemas (“issues”) abiertos que aún queden por resolver. En general, como los
resultados de las evaluaciones suelen ser voluminosos, sumarizaremos y resumiremos
los resultados en la forma más concisa y clara posible, ayudándonos de tablas y gráficos.
Dada la importancia de esta reunión es conveniente prepararla con antelación con una
agenda ajustada a tiempo (los ejecutivos que participen por lo general tienen escaso
tiempo), asegurarse la presencia de todos los involucrados en la decisión (o en su defecto
de ejecutivos alternativos que los puedan suplantar con el mismo nivel de decisión
delegada) y de anticiparles el resumen que hemos confeccionado, cerciorándose que lo
han leído y comprendido antes de la reunión, aclarando las dudas que sean necesarias en
forma previa.
Es importante que la decisión se tome en una reunión cara a cara donde los responsables
tengan la oportunidad de dar su opinión basada en los resultados presentados y que
puedan explicar sus razones para sostener la implantación de la solución, la
desaprobación o la recomendación de diferir la puesta en producción.
Los individuos que participaron de la evaluación de los resultados producidos y los que
analizaron los resultados esperados versus los reales deberían participar como soporte a
la reunión, ya que inevitablemente surgirán preguntas y dudas que sólo ellos pueden
contestar. A su vez la persona que conduzca la reunión debe tener experiencia como
facilitador y grandes habilidades de comunicación y negociación.
Debemos considerar que los resultados si bien pueden ser satisfactorios para el comité de
pruebas en forma global, pueden ser analizados desde otras ópticas por los interesados
claves. Por ejemplo alguna regulación nueva del mercado, alguna alteración importante
en la política del país, o algún defecto considerado menor por el comité de pruebas pero
clave para los intereses de negocio de la organización, podrían ser razones más que
suficientes para que la decisión de la mayoría de los decisores se volcara por demorar la
implementación y recomendar la introducción de cambios específicos en el producto para
atender esos nuevos escenarios.
Por último en cualquier escenario de decisión algo que estará siempre presente será la re-
evaluación de los riesgos y parámetros del negocio, para determinar si es viable para la
organización implementar la solución con el nivel de exposición o de incertidumbre que
plantee el estado de la solución y las variables del negocio actuales.
También deberá estar definido el formato y contenidos del documento que formaliza la
aprobación, quién lo debe emitir, cómo debe ser archivado, y que tipo de firmas son
requeridas, si precisa ser firmado en forma física presencial o son admitidas firmas
remotas mediante algún mecanismo de firma electrónica autenticada o enviada la
conformidad por e-mail de la compañía.
Dependiendo el ciclo de vida que se utilice puede haber una sola aprobación formal al
final del proyecto, en ciclos predictivos, o varias aprobaciones más informales al final de
cada incremento, en ciclos iterativos o adaptativos, que además incluyan una aprobación
formal al finalizar con el desarrollo completo de la solución, coincidiendo con su liberación
a producción.
4. 3 Estrategias de implementación
Ya sea que la solución objeto de nuestro proyecto reemplace a otra existente, o bien que
se trate de un producto totalmente nuevo y diferente de cualquier otro, se deberá tener en
cuenta la estrategia de implementación, y/o de eventual discontinuación de la solución
anterior. Esta estrategia deberá considerar los procesos o sistemas tanto automáticos
como manuales existentes, que pudieran ser reemplazados por la nueva solución.
Implementación de una sola vez en forma masiva: también llamada “big bang”,
significa que en un solo momento se implementa la nueva solución y se discontinúa
en forma simultánea la anterior si existiera.
lógica y proceso de comparación ya que los resultados producidos por una solución
pueden tener que combinarse para poder ser comparados contra la otra. Esta
estrategia es utilizada a menudo en proyectos de software que implican
conversiones de bases de datos o cambios de arquitectura.
Cuál es el impacto organizacional de tener dos soluciones? Puede que sea muy
laborioso desde el punto de vista operativo pero menos riesgoso desde el punto de
vista del negocio. A veces migrar de una solución a otra puede ser complejo y
existen pocas operaciones en la actual solución, con lo cual conviene que
convivan, con la premisa de gestionar las nuevas operaciones en la nueva
solución.
Existen condiciones de marketing o de cara al cliente que requieren que todos los
clientes trabajen con la nueva solución al mismo tiempo? Por ejemplo cambios de
marca o de logo de la empresa.
Esta comunicación deberá tener en cuenta entre otros los siguientes factores:
Las métricas, los KPIs y los SLAs que definimos en el plan de evaluación cobran mucho
sentido en esta etapa, porque van a ser los parámetros de nuestra medición.
Las métricas, los KPIs y los SLAs deben ser recolectadas periódica y regularmente
(semanal, mensual, trimestral o anualmente), para poder ir comparando los resultados de
cada período con los anteriores, y poder elaborar curvas acumulativas de
comportamiento.
A través del análisis de las mediciones a lo largo del tiempo es posible identificar:
- Hay una mayor complejidad en los incidentes actuales debido a una inundación en
la región
- La solución no provee el suficiente soporte o la suficiente cantidad de datos para
ayudar a los agentes
- La solución provee el soporte suficiente pero es muy incómoda para usar (poco
“user friendly” una característica de calidad muy buscada)
- Confirmar los daños del incidente toma mucho tiempo a los agentes
- Hay otros trabajos que surgieron que están ocupando progresivamente más
cantidad del tiempo diario de los agentes
Una vez analizadas las métricas y las causas raíces de la desviación del comportamiento
deseado de la solución, se pueden utilizar las mismas técnicas usadas para entender el
Luego de entender las causas de las desviaciones y haber efectuado las investigaciones
necesarias para entender los problemas, usaremos las técnicas empleadas en el análisis
para recomendar las mejoras a implementar. El trabajo resultante debe ser aprobado y
priorizado dentro del marco del proceso de Control de Cambios y del resto de las
actividades de mejora que la organización está llevando a cabo.