Está en la página 1de 13

Avanzar en la transformación digital por la vía rápida:

5 Cinco claves para lograr una


entrega de aplicaciones de
mayor calidad
La transformación digital se extiende por todo
el mundo
La conectividad omnipresente y los dispositivos su presencia digital. Sin embargo, son muy pocas las Según un reciente estudio de
32 % de
móviles lo han cambiado todo mediante la apertura organizaciones no tecnológicas que se han sometido
de los mercados para millones de nuevos clientes a una transformación digital completa. Al fin y al cabo, Gartner, Inc., un
de todo el planeta. En los últimos años, las empresas el cambio es difícil y para lograr una transformación
emergentes ágiles han creado aplicaciones móviles de estas características se requiere un cambio en la
los líderes de organizaciones
que han captado a clientes de banca, usuarios mentalidad del desarrollo para el que se precisan con ingresos anuales de
250 millones de
de taxis y huéspedes de hoteles en unos índices sin nuevas metodologías y mejores herramientas.
precedentes. Las grandes marcas establecidas están
La transformación digital no es un fenómeno puntual
luchando por transformar sus empresas a fin de
mantener la cuota de mercado. Para poder competir
por el que una empresa actualiza algunos procesos dólares o más afirmaron
de back-end o crea una aplicación móvil y lo da por
en esta economía de las aplicaciones, debe adaptarse,
finalizado. Se trata de un cambio permanente en las
que sus empresas eran
o se quedará atrás.
personas, los procesos y la tecnología, que le otorga digitales, lo que supone
Todas las organizaciones se encuentran en fases la máxima prioridad al cliente en todos los procesos
distintas de la transformación, y muchas están de diseño y prueba que conforman el ciclo de un aumento
examinando con detenimiento su progreso. Algunas
aún siguen intentando determinar sus prioridades con
desarrollo de software (SDLC). La práctica de
desarrollar aplicaciones de calidad se vuelve esencial
con respecto al
respecto a la tecnología digital, mientras que otras
ya han dado sus primeros pasos creando una o dos
para afianzar la fidelidad del cliente y mantenerse
a la cabeza de la competencia. Por tanto, la entrega
22 % del año anterior.
Fuente: Gartner, Inc., “Now Is the Time to Invest in Digital
aplicaciones móviles. Asimismo, algunas empresas han de aplicaciones de alta calidad con más rapidez Business”, 3 de septiembre de 2015.

adoptado efectivamente una perspectiva de prioridad y coherencia constituye la base de cualquier


digital y se encuentran en proceso de modernizar toda transformación digital.

2
El problema de lo mejor, lo más rápido
y lo más barato
Las empresas deben transformar continuamente sus aplicaciones y más baratos. Para ello, se requiere una colaboración y comunicación
en función de los cambios en las necesidades de los clientes, los más estrecha entre las partes interesadas durante todas las fases del
dispositivos y las expectativas. Hoy en día, las aplicaciones móviles son SDLC. Desde los requisitos de los usuarios hasta el desarrollo y las
una extensión de su marca y pueden ejercer un gran impacto en la forma pruebas, todos los implicados deben partir de los mismos criterios
en la que los clientes perciben la calidad y la entrega de sus productos de entrega de calidad.
y servicios. La entrega continua de aplicaciones está estrechamente
La entrega de calidad se consigue cuando su equipo cuenta con los
ligada a la entrega de calidad y, para conseguirla, las empresas deben
medios para comunicar y diseñar la experiencia de usuario a lo largo
adoptar una nueva mentalidad basada en ofrecer actualizaciones
de todo el proceso de desarrollo, lo que implica innovar y mejorar la
periódicas de las aplicaciones.
aplicación a fin de que satisfaga las necesidades y expectativas de los
La idea de que las aplicaciones de gran calidad se puedan implementar clientes. Para alcanzar este objetivo de entrega continua de calidad,
de forma rápida y asequible supone un desafío para el proceso de no basta con celebrar unas pocas reuniones de gestión. Las directivas
desarrollo de software tradicional, en el que la codificación, las pruebas corporativas por sí solas no son suficiente. Cada paso en el proceso
y las operaciones constituyen a menudo actividades aisladas con sus de SDLC, como la planificación empresarial, el desarrollo y las pruebas,
propios plazos. A menudo, crear una aplicación rápidamente implica se debe coordinar, automatizar y optimizar en su totalidad. Si está
recortar las pruebas o reducir el número de funciones planificadas a fin resuelto a completar la transformación digital, la comprobación de las
de cumplir una fecha de entrega objetivo. Contar con desarrolladores aplicaciones constituye el denominador común que debe extender
rápidos y competentes supone una gran ventaja, pero no basta para por todo el proceso de desarrollo.
resolver el problema de cómo lograr unos procesos mejores, más rápidos

3
El obstáculo de las pruebas
Las formas tradicionales de realizar las pruebas no se ajustan bien al modelo de entrega continua. Los equipos
de pruebas solían contar con entre dos y cuatro semanas para realizar sus tareas después de que los equipos
de desarrollo hubiesen finalizado su trabajo. Sin embargo, ahora la mayoría de los desarrollos están impulsados
por una serie de solicitudes de cambio, en lugar de una especificación definida al comienzo de un proyecto
tradicional en cascada. Los métodos de prueba manuales no pueden hacer frente al volumen o la velocidad
de las solicitudes de cambio que exige el mercado actual centrado en las aplicaciones. A continuación, se indican
algunos motivos por los que las pruebas manuales deben ceder el paso a nuevas soluciones:

Las pruebas tradiciones están desorganizadas.


En muchas organizaciones, el proceso de pruebas es poco sistemático y ad hoc.
Estas se acumulan, lo que provoca que se realicen precipitadamente y con demasiada
o escasa exhaustividad. De esta forma, se pierde tiempo y recursos, ya que los defectos no
se detectan hasta fases posteriores del SDLC, con lo que hay que repetir el trabajo, lo que
supone más costes y afecta a la experiencia de usuario.

Las pruebas manuales tienen un alcance limitado.


Las pruebas manuales limitan seriamente el número de casos de evaluación diseñados,
ya que los equipos de prueba no pueden anticipar todas las combinaciones posibles
necesarias. Existen muchas probabilidades de que se pasen por alto algunas pruebas
fundamentales, lo que provoca defectos y vulnerabilidades en la aplicación de producción.

Las pruebas manuales no son repetibles.


Las estructuras de pruebas manuales no reaccionan bien a los cambios de código. Cuando se
realiza una modificación, no existe ninguna forma de identificar automáticamente su impacto
en un sistema o de estimar su complejidad. El cambio de un fragmento aparentemente
inofensivo de código puede causar daños en todo el sistema.

4
El obstáculo de las pruebas (continuación)

Las pruebas tradiciones son lineales.


Se comparte un conjunto limitado de entornos configurados manualmente entre los equipos,
pero en muy pocas ocasiones está disponible para todos ellos. Los datos se transfieren de un
equipo a otro, por lo que los evaluadores dedican la mitad de su tiempo a esperar la subida
de los datos y luego manipularlos o crearlos a mano en los casos en los que no haya.

Los datos de prueba no presentan una calidad satisfactoria.


Normalmente, a los evaluadores se les proporcionan numerosas copias de datos de
producción ocultos, que abarcan solo entre un 10 y un 20 % de la cobertura de prueba
funcional. Estos tienen que elegir entre no probar todo el software, lo que puede dar lugar
a defectos, o crear los datos desde cero, lo que supone un proceso lento y propenso a errores.
Los datos recopilados a partir de los sistemas de producción tampoco presentan valores
atípicos y ni generan los resultados negativos o inesperados esenciales para llevar a cabo
una prueba exhaustiva.

En conclusión, los métodos de prueba heredados no pueden seguir el ritmo de los modelos de entrega continua de
aplicaciones. Los métodos tradicionales que se emplean en la actualidad frenan la velocidad de desarrollo y afectan
a la calidad. Algunas empresas pueden llegar a tener cientos de actualizaciones de código por día de decenas de
desarrolladores que realizan cambios en la misma aplicación. Sus equipos no disponen de semanas para realizar las
pruebas, sino horas. Puesto que es primordial evaluar la eficiencia y la eficacia, se requiere una nueva metodología
de prueba, combinada con una tecnología avanzada. Los modelos de entrega continua sólidos pueden satisfacer
los requisitos de la economía de las aplicaciones actual y ayudar a las empresas a adentrarse en la era digital.

5
Cinco claves para transformar su
metodología de desarrollo en un modelo
de entrega continua
Transformar el desarrollo de aplicaciones en la vía rápida representada por la entrega continua es posible, pero para ello las empresas deben adoptar
un nuevo modelo de pruebas. Este modelo exige el uso de nuevas herramientas de prueba que pueden simular y evaluar con exactitud numerosas
variables en cualquier punto del SDLC. La idea consiste en crear un ciclo de intercambio de impresiones continuo en cada fase del proceso de diseño
y desarrollo a fin de que los líderes empresariales, los desarrolladores y los evaluadores puedan estar en perfecta sintonía. Cuando el modelo
de pruebas forma parte de cada una de las fases del SDLC, es cuando se puede conseguir una entrega continua de las aplicaciones.

En las siguientes páginas, analizaremos cinco claves que pueden ayudar a su organización a realizar el cambio hacia una entrega continua:

1 2 3 4 5
Resolver en Realizar las Configurar el Recopilar los Automatizar el cambio
origen pruebas entorno de pruebas datos de prueba y el mantenimiento
adecuadas apropiado pertinentes de las pruebas

6
1 Resolver
en origen

El término “resolver en origen” hace referencia a la


práctica de centrarse en la calidad desde el primer
modelos de pruebas proporcionan un único punto
de referencia para las partes interesadas en todas
Cerca de un de las 80 %
momento a fin de identificar y corregir los defectos en las fases del SDLC, lo que fomenta una colaboración organizaciones creen que
cuanto surjan en los proyectos. Esto significa que la y comunicación más estrechas. De este modo, los hitos
calidad debe quedar reflejada en el software desde en la entrega continua pueden estar impulsados por la virtualización de servicios
la fase de recopilación de requisitos. Para ello, debe la experiencia de usuario en lugar de por una serie
puede ayudarles a lograr una
utilizar el modelado con el objetivo de elaborar un plan de iteraciones.
de pruebas preciso que se pueda aplicar a todo el SDLC. mayor satisfacción del cliente,
Un aspecto importante a la hora de aplicar la
Las pruebas basadas en modelos le permiten resolver
en origen eliminando evaluación manual y los cuellos
resolución en origen radica en poder simular sistemas reducir los costes y mejorar su
no disponibles o dependientes. La virtualización de
de botella asociados a esta.
servicios simula sistemas limitados o no disponibles
reputación en el mercado.
Pero para poner verdaderamente en práctica la en todo el SDLC, lo que permite que los equipos de
Fuente: “Service Virtualization: Moving from concept to real benefits”,
resolución en origen, debe pensar en términos de desarrollo, pruebas y rendimiento trabajen en paralelo seminario web conjunto de CA Technologies y Tata Consultancy Services,
25 de julio de 2013.
generación de datos, de concordancia/reserva de para realizar entregas más rápido, así como crear
pruebas, de concordancia de casos de prueba con aplicaciones de mayor calidad y fiabilidad. Además,
casos prácticos, y de flujo. Con un modelo, puede esta resulta fundamental para implementar el modelo
generar automáticamente activos de desarrollo de entrega continua. Al realizar evaluaciones en fases
y pruebas. Los casos de pruebas, los scripts y los datos tempranas usando pruebas basadas en modelos
(y los resultados previstos) pueden desprenderse de y la virtualización de servicios, puede eliminar defectos
un modelo accesible para todos los implicados en los mucho antes en el SDLC, cuando resulta más fácil
procesos de diseño, desarrollo y pruebas. Además, los y económico.

7
2 Realizar las pruebas adecuadas

No se limite a realizar pruebas; haga las Con un modelo de pruebas automatizado, se pueden realizar todas las
adecuadas. Los requisitos y las asignaciones de las pruebas pruebas posibles, con lo que se garantiza una evaluación exhaustiva de la
deben ser precisos. Al realizar las pruebas cuando ya se hayan recopilado aplicación. El enfoque automatizado mejora drásticamente la experiencia
los requisitos, se garantiza la exactitud. La cobertura funcional de las del cliente, puesto que contribuye a garantizar que se comprueban todos
pruebas puede ser del 100 % siempre que el modelo sea adecuado. los aspectos clave de la aplicación. En las comprobaciones tradicionales,
En otras palabras, las pruebas abarcarán forzosamente toda la lógica el evaluador tiene que dar prioridad a las pruebas más importantes
del sistema definida en el diagrama de flujo, puesto que constituyen que servirán para evaluar la mayor cantidad posible de lógica funcional.
rutas a través de este. Esta tarea es compleja y requiere mucho tiempo. Mediante la realización
de pruebas basadas en modelos, se puede crear y calcular
Los equipos ahorrarán tiempo realizando tareas específicas, significativas automáticamente y con eficacia la cobertura funcional de las pruebas.
y repetibles. Los modelos de pruebas pueden llevar a cabo evaluaciones
optimizadas que abarquen el 100 % de la funcionalidad utilizando
el conjunto de pruebas más reducido posible. Mediante algoritmos
Un 39 % de los participantes en la encuesta
matemáticos combinatorios, las pruebas se pueden diseñar rápidamente World Quality Report 2015-16 de Capgemini opinan
para que representen todas las posibles modificaciones. Cada ruta a través
que confiar en procesos de prueba manuales
del diagrama de flujo es una posible prueba. Al optimizar estas pruebas,
se pueden eliminar los casos de prueba redundantes, ya que una sola ruta constituye el principal reto tecnológico para
o un conjunto de estas pueden abarcar la lógica funcional equivalente
a varias rutas distintas. el desarrollo de aplicaciones hoy en día.
Fuente: World Quality Report 2015-16 de Capgemini.

8
3 Configurar el entorno de pruebas apropiado
Poner en marcha entornos de pruebas rápidamente supone un
gran reto. Algunas empresas dedican días solo a ordenar los datos Resulta 14 veces
más
de prueba y necesitan equipos encargados de preparar cada una de caro corregir errores en la fase
ellas. Una vez realizadas, deben volver a configurar los sistemas para
probarlos otra vez con el siguiente conjunto de criterios. Solo es
de producción que en la de
posible lograr una entrega continua cuando los entornos de pruebas desarrollo. Además, esta cifra
se pueden preparar y usar en horas, no semanas, y cuando se pueden
reconfigurar con flexibilidad.
no tiene en cuenta el impacto
en la reputación de la
La disponibilidad de los sistemas de back-end plantea otro importante
reto. A menudo, los sistemas de producción no están disponibles empresa o las pérdidas
cuando los evaluadores los necesitan o son inaccesibles por motivos provocadas por una
de seguridad y conformidad. Realizar pruebas repetidamente en
algunos sistemas de producción resulta demasiado costoso, lo que experiencia de usuario
supone un obstáculo para que estas se ejecuten rápido o en paralelo final negativa.
con otras actividades de desarrollo.
Fuente: Conway, Ash, “The real cost of production defects equals 14x

Las pruebas basadas en modelos que admiten la virtualización increase”, Bugwolf, 19 de diciembre de 2014.

de servicios permiten a los desarrolladores y evaluadores simular


entornos de producción. Así, se garantiza que los entornos de pruebas
sean siempre precisos. Además, con la virtualización de servicios,
no hay que esperar por los recursos de producción. Los evaluadores
pueden trabajar en paralelo con los equipos de desarrollo para
garantizar que el código se haya contrastado completamente con
los sistemas de back-end virtuales, como las bases de datos
y las aplicaciones de mainframe.

9
4 Recopilar los datos de
prueba pertinentes
El modelo de entrega continua precisa un acceso rápido a los datos de prueba
adecuados. Por lo general, los evaluadores solo tienen una oportunidad para probar
el código. Obtener los datos de prueba correctos puede resultar difícil por muchos
motivos. Muchas empresas tienen establecidas normativas de conformidad
y seguridad estrictas que prohíben el uso de datos activos de clientes, por ejemplo.
Algunas ocultan los datos de producción para simular la experiencia de prueba,
pero de esta forma no siempre se representan con exactitud todos los campos
y procesos que se deben evaluar.

Usar los datos de producción para realizar las pruebas no siempre resulta ideal,
ya que son “demasiado correctos”: no tienen en cuenta los valores atípicos
y otras anomalías que se deben incluir en los escenarios de prueba eficaces.
Unas entradas demasiado grandes o pequeñas, e incluso números negativos;
todo se debe probar en la aplicación para verificar su fiabilidad y su seguridad,
por ejemplo.

El tiempo de generación de datos de prueba también es un factor que se debe


tener en cuenta a la hora de intentar acelerar la entrega de aplicaciones. Esperar
que alguien le proporcione los datos de prueba puede tardar semanas y, además,
estos solo están disponibles para esa prueba específica, luego se descartan.

Lo que las empresas necesitan son datos de prueba a petición que puedan utilizar
todos los equipos siempre que los necesiten. Los modelos de prueba con capacidad
de gestión de datos de prueba le permiten ofrecer rápidamente datos seguros y de
alta calidad para conseguir mejores evaluaciones del software. Mediante el uso de
datos sintéticos, podrá generar con rapidez y desde cero datos de prueba
adecuados para una finalidad, con lo que se reducen los costes que conlleva una
evaluación más rigurosa. Asimismo, los datos se pueden reutilizar e incluir
en numerosas pruebas.

10
5 Automatizar el cambio y el mantenimiento
de las pruebas

Como se ha mencionado anteriormente, la entrega continua En el contexto de la entrega continua, no hay tiempo para
depende de la capacidad de las pruebas para reaccionar ante efectuar pruebas innecesarias o redundantes, ni para comprobar
el cambio continuo de los requisitos. Debido al estrecho vínculo y actualizar los casos de prueba manualmente.
introducido entre los datos, las pruebas y los requisitos en las
El nuevo modelo de pruebas es distinto, ya que recopila
pruebas basadas en modelos, el impacto del cambio también
información de todos los requisitos; todo ello de forma
se debe automatizar completamente. Por ejemplo, cuando
simultánea. Los ciclos de prueba de este nuevo modelo dejan
los requisitos cambian, las pruebas deben actualizarse
de ser secuenciales y no consumen una gran cantidad de
automáticamente.
recursos humanos y capital. El proceso de pruebas se lleva
El impacto de un cambio en el sistema se debe identificar de a cabo de manera virtualizada y automatizada, y en paralelo.
forma automática para que los evaluadores sepan con exactitud Al automatizar el último paso manual, el proceso de pruebas
qué componentes están en riesgo. Estos tienen que saber qué puede ejecutarse de forma totalmente automatizada.
partes de la aplicación se deben volver a evaluar y qué pruebas
concretas se deben realizar para validar el cambio.

11
Hacia dónde avanzar
desde este punto
Los enfoques impulsados por requisitos y basados en modelos introducen un alto grado
de automatización, con lo que crean un canal de desarrollo completamente automatizado
que puede llevar una idea desde la fase de requisitos hasta la etapa de pruebas
e implementación. Desde un modelo de los requisitos, se puede generar automáticamente
todo lo necesario para realizar pruebas eficaces: datos de prueba, resultados previstos,
casos de prueba y datos virtuales. Los cambios se pueden automatizar aún más gracias
a la trazabilidad introducida entre los requisitos, los datos y los casos de prueba.

Para conseguir una entrega continua y de alta calidad de sus aplicaciones, debe pasar
de las pruebas manuales tradicionales a un enfoque basado en modelos. La cartera de
CA Devcenter permite a las organizaciones implementar aplicaciones desde el diseño hasta
el desarrollo y la producción mediante una organización automatizada. Con CA, podrá:

• coordinar la planificación empresarial con las pruebas gracias a CA Agile


Requirements Designer (anteriormente, Agile Designer de Grid Tools).
• crear datos de prueba virtuales y exactos con CA Test Data Manager.
• simular servicios de back-end con CA Service Virtualization.
• crear servicios virtuales automáticos por medio de un análisis de transacciones
exhaustivo con CA Continuous Application Insight.
• crear y reutilizar pruebas con rapidez y facilidad gracias a CA Application Test.
• automatizar el proceso de prueba completo con CA Release Automation.

12
Aceleración de la entrega de aplicaciones
de calidad
CA ofrece soluciones integrales que le permiten avanzar por la vía rápida hacia la transformación digital
ayudándole a acelerar la entrega de aplicaciones de calidad.

Potencie su transformación digital hoy mismo; obtenga más información sobre cómo puede
desarrollar, probar, lanzar e implementar productos con soluciones de CA.

CA Technologies (NASDAQ: CA) crea software que impulsa la transformación de las empresas y les permite aprovechar las oportunidades que brinda la economía
de las aplicaciones. El software se encuentra en el corazón de cada empresa, sea cual sea su sector. Desde la planificación hasta la gestión y la seguridad, pasando
por el desarrollo, CA trabaja con empresas de todo el mundo para cambiar la forma en que vivimos, realizamos transacciones y nos comunicamos, ya sea a través
de la nube pública, la nube privada, plataformas móviles, entornos de mainframe o entornos distribuidos. Para obtener más información, visite ca.com/es.

© Copyright CA 2016. Todos los derechos reservados. Todas las marcas, nombres comerciales, logotipos y marcas de servicio a los que se hace referencia en este documento pertenecen
a sus respectivas empresas.

CS200-196732

También podría gustarte