Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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:
4
El obstáculo de las pruebas (continuación)
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
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.
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.
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á:
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