Elige una herramienta para una aplicación exigente.

blog-entry
23/09/2016

WAdminIT

Comentarios: 0

Elige una herramienta para una aplicación exigente

Elija una herramienta para una aplicación exigente – La automatización de pruebas funcionales está en la lista de todos estos días para cualquier implementación de desarrollo de software, especialmente cuando se utilizan metodologías Ágil. Todos queremos mejorar la calidad de nuestro producto de software mediante pruebas previas y con mayor frecuencia, ¿cuál es la mejor herramienta de prueba funcional para usted?
Hay muchos factores a considerar cuando se selecciona una herramienta de automatización de pruebas apropiada para la dirección técnica corporativa, inventario actual de herramientas, habilidades de los trabajadores y más. A menudo son bastante difíciles de manejar estas dimensiones, ahora añada el desafío de la una pobre efectividad de su herramienta de prueba. ¿Cómo cambia esto la estrategia de pruebas o la herramienta que selecciona? Cada oportunidad de selección de herramientas es diferente y también los aspectos para incluir en sus criterios de selección; Discutiremos algunas áreas comunes de enfoque para cualquier evaluación y selección de herramientas de prueba. Revisemos la selección de una herramienta de prueba para una aplicación poco reconocida.
Partes vitales:
-Entorno de Windows con una aplicación cliente-servidor de más de 25 años
-Hodge-podge de nuevas tecnologías (.Net) y viejas (C ++, etc.) dentro de un contenedor anticuado que oculta la mayoría de las propiedades habituales utilizadas para reconocer los controles en la pantalla
-La aplicación se está reescribiendo ahora, pero tardará unos 3 años, por lo que la automatización del antiguo sistema si tiene valor
-Adoptar un marco de desarrollo ágil como Scrum, con el deseo de automatizar las pruebas funcionales dentro de los sprints
-Actualmente no se usan herramientas de automatización de pruebas
Primero lo primero, definir objetivos – nuestros objetivos clave para la herramienta de prueba son:
-Fase de uso – Al usuario no se le muestra e código de automatización de prueba
– Reconoce la mayor parte de la aplicación (tanto como sea posible)
-Fácil mantenimiento
-Necesita proveer un valor en los primeros 3 meses
La facilidad de uso es un objetivo obvio, pero también estamos interesados en acercar las pruebas a la empresa, por lo que la herramienta debe trabajar a un nivel superior de abstracción del código de automatización de la prueba. El personal no técnico estará creando scripts de prueba para que la herramienta tenga un marco que proteja al tester. Una ventaja adicional de usar un marco como este es que al documentar su caso de prueba con la herramienta estás creando la automatización de pruebas. Por supuesto necesitamos la herramienta para reconocer la aplicación que queremos probar, lo cual es un verdadero desafío cuando la tecnología utilizada para desarrollarla es muy antigua y no tiene mantenibilidad en mente cuando fue originalmente escrita. Nos damos cuenta de que ninguna herramienta en el mercado puede reconocer todos los controles en la aplicación.
Navegar por el mar de herramientas
Hay muchas herramientas de automatización funcional en el mercado, jugadores importantes como HP e IBM. Ahora que tenemos nuestros objetivos clave establecidos, podemos aprovecharlos durante nuestra revisión de herramientas y reducir el número de herramientas de 20 a 3. Lo que nos pareció interesante durante nuestra revisión fue que con tantas aplicaciones que se basan en la web, muchos vendedores de herramientas han eliminado o reducido el soporte cliente-servidor. Las 3 herramientas restantes se ajustan a nuestra lista de objetivos cada uno de ellos con un enfoque ligeramente diferente. Esto sería una buena solución para la mayoría de las empresas, ya que por lo general ya tienen esta herramienta popular, pero no lo hacemos.
Finalistas:
Con sólo dos herramientas dejadas en la lista las medimos en función de nuestra lista de 73 criterios detallados con áreas de interés como:
-Facilidad de uso
-Licencias – flexible para apoyar las ubicaciones multinacionales
-Extensibilidad – Capaz de ampliar y personalizar las capacidades de la herramienta
– Reconocimiento de la aplicación – lista de todos los controles conocidos en la aplicación
– Mejores soluciones para realizar pruebas automáticas contiguas – pruebas de extremo a extremo
-Integración a otras herramientas – Integración continua
-Plataformas compatibles – SO, entornos, Citrix
-Capacidades de la herramienta
-Empresa
-Apoyo
-Métrica
Se programaron visitas POC en el sitio para que los vendedores de herramientas vinieran y nos mostraran qué tan bien su herramienta funcionó en la aplicación que tiene más de 25 años. Una de las herramientas ofreció una presentación descargable con una guía de tutorial para obtener una ventaja en la familiarización de la funcionalidad básica. Esto a veces puede ser contraproducente, ya que el autoaprendizaje sin instrucción adecuada puede conducir a una mala experiencia y descartar injustamente la herramienta para la selección.
Ambos proveedores proporcionaron un POC exitoso ya que tenían aproximadamente el mismo nivel de reconocimiento de la antigua aplicación. La facilidad de uso era similar, aunque sus enfoques de presentación de la interfaz de usuario eran diferentes. Con un ganador no definido, agregamos la ponderación de cada uno de los 3 evaluadores a los criterios de 1 a 5 con el fin de puntuar las herramientas y ver si podemos determinar la mejor herramienta. Nos enfocamos en la ponderación de criterios que tenía conflictos, p. 1 evaluador anotó un criterio particular a 1 mientras que otro anotó los mismos criterios a 5. Lamentablemente, la ponderación no fue fructífera, ya que no cambió nada, ya que ambas herramientas hicieron o no incluyeron ese criterio en su oferta, negando el enfoque de ponderación.
Después de revisar los criterios que obtuvieron puntajes altos (5, la calificación más alta), era evidente que el reconocimiento de nuestra antigua aplicación era el área que debíamos apuntar. Dado que ambas herramientas tenían el mismo nivel de reconocimiento, observamos cómo realizaríamos la automatización en las áreas en las que la herramienta no reconoce bien los controles de la pantalla. Esto comenzó la Batalla de las Soluciones, reconociendo y validando funcionalmente las áreas de la aplicación que son desafíos para la herramienta. ¿Qué significa esto? … cuando se presenta con un área de pobre reconocimiento, usamos “enviar-claves” por ejemplo, para aprovechar los equivalentes de teclas al navegar por la funcionalidad. Técnicas de verificación utilizadas para la captura de imágenes o OCR, que añade sobrecarga de mantenimiento. Esta técnica se basa en los píxeles de la pantalla para la identificación y la comparación de configuraciones de pantalla tan diferentes, además de la configuración puede producir resultados negativos falsos. El enfoque de evaluación parecía un comportamiento irracional, ya que la selección de herramientas se basa ahora en cuál de ellos tiene el método de uso de la no tan mejor práctica… pero eso sólo lo consiguió un ganador.
Usuarios reales – nuestro ganador también fue validado por nuestras sesiones con los probadores que estarían usando la herramienta. Queríamos asegurarnos de que nuestras actividades de selección incluyeran “pruebas de campo” por lo que la decisión no se hizo al vacío. Nuestro objetivo era introducir la herramienta a ellos y tener una idea de su percepción inicial para la facilidad de uso y les pedimos que pensaran en cómo la herramienta se integraría en sus pruebas. Obviamente nuestros testers no fueron entrenados adecuadamente, pero los guiamos a través de las funcionalidades de cada herramienta y escribimos un guión de prueba juntos. Cada una de las sesiones duró aproximadamente 4 horas, asignando 2 horas para cada herramienta. El consenso fue unánime de los evaluadores. Por cierto, nos mantuvimos neutrales durante nuestras sesiones de pruebas de campo.
Nos sentimos muy satisfechos de haber podido identificar la mejor herramienta de prueba dados nuestros objetivos y limitaciones. Otro factor importante que vale la pena mencionar es el apoyo y la experiencia general proporcionados por los dos proveedores de herramientas durante nuestro proceso de selección. El proveedor de la herramienta seleccionada fue extremadamente perceptivo e incluso lanzó un mes de tiempo libre de consultas para ayudar a aumentar la capacidad de herramientas para así reconocer nuestra aplicación de más de 25 años de antigüedad.
Nuestro viaje de selección de herramientas tomó alrededor de 4 semanas ya que nuestra actividad se llevó a cabo desde mediados de diciembre hasta enero (sin contar los días de vacaciones). Para cualquier herramienta de evaluación y selección, aquí están las áreas clave de enfoque para ayudar a reducir el campo de las herramientas y seleccionar la mejor herramienta de automatización de pruebas funcionales para usted:
-Define los Objetivos para asegurarse de que la herramienta esté alineada con las necesidades corporativas
-Define los criterios de evaluación para detallar las áreas de interés de la herramienta
-Los Criterios de Evaluación de Peso y Puntuación de Resultados ayudan a determinar la mejor herramienta para usted
-Soluciones (concentrar la evaluación en torno a las capacidades de la herramienta que son más importantes para usted)
– Pruebas de campo para comenzar a introducir herramientas en la ronda final de selección y obtener una opinión sobre la facilidad de uso
Espero que este post sea útil para proporcionar orientación básica a su proceso de evaluación de herramientas de automatización de pruebas y proceso de selección con un ejemplo de un esfuerzo difícil.
¿Qué herramienta fue seleccionada? Contáctenos: sales@arcsona.com o déjenos un comentario!

Comentarios

¡Sé el primero en dejar una respuesta!