7 factors affecting test estimation selenium automation project selenium tutorial 32
En los últimos dos tutoriales de Selenium, aprendimos sobre pruebas de automatización con la herramienta Pepino y Selenio . También discutimos sobre el integración de Selenium WebDriver con Cucumber .
En este tutorial, discutiremos diferentes factores que afectan la estimación del esfuerzo de la automatización del selenio .
La planificación y la estimación son los dos aspectos más importantes del ciclo de vida de un desarrollo de software.
Personalmente, creo que en la industria del software hay sin métodos a prueba de balas de hacer cualquier cosa. Dado que cada proyecto es exclusivo y tiene diferentes conjuntos de complejidad y factores ambientales, la implementación de la estrategia de estimación y planificación debe ser un esfuerzo de colaboración de los equipos individuales con las intervenciones adecuadas de las personas mayores y el apoyo de la gerencia.
Antes de comenzar con la estimación de cualquier proyecto, es fundamental comprender todas y cada una de las fases por las que atravesará su proyecto, para que pueda dar una estimación correcta y justificada.
La estimación no solo se puede realizar para el proceso de prueba manual, sino que en esta era de automatización, las técnicas de estimación también se aplican a la automatización de pruebas. Ahora que Selenium está ganando impulso y popularidad en el mercado, estoy tratando de escribir sobre algunos factores que deben tenerse en cuenta al estimar un proyecto de Selenium.
¡¡Empecemos!!
Supongo que estamos comenzando la iniciativa de Automatización desde cero y que no tenemos un marco listo para usar.
Lo que vas a aprender:
- Factores que afectan la estimación de la automatización del selenio
- # 1 Alcance del proyecto
- # 2 Complejidad de la aplicación
- # 3 Uso de herramientas / tecnologías de apoyo
- # 4 Implementación del marco
- # 5 Aprendizaje y formación
- # 6 configuración del entorno
- # 7 Codificación / scripting y revisión
- Conclusión:
- Lectura recomendada
Factores que afectan la estimación de la automatización del selenio
Los diversos factores que afectan y que debe considerar para la estimación de un proyecto específico de “Selenio” se explican a continuación:
# 1 Alcance del proyecto
El alcance normalmente significa identificar los casos de prueba correctos para la automatización. Aplique la estrategia 'Dividir y gobernar' para lograrlo. Divida su aplicación en pequeños fragmentos o módulos y analice cada uno de ellos para obtener los casos de prueba adecuados para la automatización.
Los pasos involucrados son:
- Identifique los diversos factores que formarán la base para identificar los casos de prueba candidatos.
- Divida la aplicación en módulos más pequeños
- Analice cada módulo para identificar los casos de prueba candidatos
- Calcular el ROI
Para obtener más detalles sobre cómo identificar el caso de prueba correcto, consulte mi artículo anterior: Selección de casos de prueba correctos para automatización
# 2 Complejidad de la aplicación
Los pasos involucrados aquí son:
- Determine el tamaño de la aplicación según la cantidad de casos de prueba que deben automatizarse.
- Complejidad de tamaño a través de la serie de Fibonacci.
- Identificar el punto de verificación y el punto de control de cada caso de prueba.
Aquí tenemos que establecer la definición de aplicación de tamaño grande / mediano y pequeño. Esta definición difiere de una perspectiva individual / grupal. La forma en que clasifique su aplicación también puede depender del número de casos de prueba.
Por ejemplo:
Si su aplicación tiene entre 300 y 500 casos de prueba para automatizar, puede considerarla como una aplicación de tamaño pequeño. Si los casos de prueba superan los 1500, se puede clasificar como complejo. Este factor puede ser diferente para las distintas aplicaciones. Para algunos, 1500 casos de prueba para automatizar se pueden considerar de pequeña / mediana escala. Entonces, una vez que haya identificado el número exacto de casos de prueba, escale a pequeño / mediano o grande. Su estrategia para estimar el esfuerzo dependerá en gran medida de estos criterios.
También debe considerar los diferentes puntos de control y puntos de verificación para su caso de prueba. Un caso de prueba puede tener más de 1 punto de control
pero tendrá solo 1 punto de verificación. En caso de que tenga más de 1 punto de verificación, se recomienda bifurcarlo en casos de prueba separados. Esto también facilitará el mantenimiento y la mejora de su conjunto de pruebas.
# 3 Uso de herramientas / tecnologías de apoyo
Los pasos involucrados aquí son:
- Identificar el marco y las necesidades de automatización.
- En función de las necesidades, analizar e identificar las herramientas a utilizar.
- Identifique las dependencias / implicaciones del uso de la herramienta.
El selenio por sí solo no es suficiente para construir un marco o completar la automatización. Selenium (controlador web) solo escribirá el caso de prueba, pero también hay otras tareas, como informar el resultado, rastrear los registros, tomar capturas de pantalla, etc.
Para lograr esto, necesita herramientas independientes que se integrarán con su marco. Por lo tanto, aquí es importante identificar las entidades de apoyo que mejor se adapten a sus necesidades y ayudarán a obtener un ROI positivo.
# 4 Implementación del marco
¡Aquí viene la parte complicada J son los pasos involucrados!
- Identifique la entrada (patrón en el que los datos se introducen en el script) y la salida (informes / resultados de pruebas) de su suite de automatización.
- Diseñe sus archivos de entrada. Esto puede variar desde un archivo de texto simple hasta un archivo de Excel complejo. Básicamente es el archivo que tendrá sus datos de prueba.
- Diseñe la estructura de carpetas en función de sus parámetros de entrada y
- Implementar la función de informes (ya sea en algún archivo de Excel o usando cualquier herramienta como ReportNG)
- Determine / implemente el registrador en su marco
- Implemente la herramienta de construcción en su marco
- Implementar el marco de pruebas unitarias (Junit o TestNG)
Hay muchos otros requisitos además de la creación de scripts en la automatización de pruebas con Selenium, como leer los datos de un archivo, informar / rastrear los resultados de la prueba, rastrear registros, activar los scripts basados en las condiciones de entrada y el entorno, etc. Por lo tanto, necesitamos una estructura que se encargará de todos estos scripts. Esta estructura no es más que su Framework.
Las aplicaciones web son complejas por naturaleza porque implican muchas herramientas de apoyo y tecnología para implementar. De manera similar, implementar el framework en Selenium también es complicado (no diré complejo) ya que involucra otras herramientas para integrar. Como sabemos que Selenium NO es una herramienta, sino en realidad una colección / grupo de archivos jar, está configurado y no “Instalado”, Selenium en sí no es lo suficientemente fuerte como para construir un marco complejo. Requiere una lista de herramientas de terceros para crear un marco.
Tenemos que recordar aquí que no hay nada 'Ready-made' en Selenium. Para todo, tenemos que codificar, por lo que las provisiones en la estimación deberían estar ahí para buscar en Google los errores y la resolución de problemas.
Aquí tenemos que entender que la construcción de Framework es el aspecto más importante de su esfuerzo de Automatización. Si su marco es sólido como una roca, el mantenimiento y la mejora se vuelven más fáciles, especialmente en la era de Agile, si su marco es bueno, puede integrar sus pruebas en todos los sprints fácilmente.
No me equivocaré si digo que este factor particular del diseño del Marco debería ser el aspecto más importante de la estimación. Si es necesario (como en una aplicación compleja), este factor debe dividirse nuevamente en una WBS separada y se debe realizar una estimación.
# 5 Aprendizaje y formación
Aprender Selenium es un poco diferente a aprender cualquier otra herramienta de automatización. Básicamente, implica aprender un lenguaje de programación que solo un lenguaje de secuencias de comandos (aunque el lenguaje de secuencias de comandos ayuda al crear un marco como si desea escribir una secuencia de comandos que invoque sus secuencias de comandos automatizadas después de realizar los cambios de configuración del entorno).
En caso de que estemos combinando WebDriver con Java, diría que si uno está bien versado en Core Java, está en muy buena forma para comenzar con la automatización de Selenium.
Junto con el aprendizaje de Java, debe haber disposiciones para aprender otras tecnologías como ANT / Maven (para la construcción), TestNG / jUnit (marco de prueba unitario), Log4J (para el registro), informes (para informes), etc. esta lista puede crecer en función de el nivel del marco. Cuanto más crezca esta lista, más tiempo tomará.
Si la dirección ha decidido optar por el selenio, estas actividades de aprendizaje se pueden realizar en paralelo con la actividad de planificación. Debido a que no hay límite para aprender estas tecnologías, se sugiere tener un plan definido (plan de estudios) listo para el equipo para que puedan iniciar su proceso de aprendizaje en una dirección definida y todos estén en la misma página.
En términos prácticos, los probadores no tenemos mucho interés en aprender un lenguaje de programación completo y creemos que esto es pan comido para los desarrolladores. Pero ahora tenemos que cambiar esta mentalidad y debemos considerar que aprender el lenguaje de programación es tan importante como aprender el nuevo proceso de prueba. Esto no solo aumentará el conocimiento del evaluador sobre el lenguaje y la automatización, sino que también le dará la oportunidad de comprender cómo funciona la aplicación internamente, lo que puede aumentar su alcance para encontrar nuevos errores.
# 6 configuración del entorno
La configuración del entorno trata con (no limitado a): -
- Configurar el código en el entorno de prueba
- Configurar código en el entorno de producción
- Redacción de guiones para activar las pruebas automatizadas.
- Desarrollar la lógica para informar
- Establecer la frecuencia de ejecución de los scripts y desarrollar la lógica para su implementación.
- Creación de archivos de texto / Excel para ingresar datos de prueba y casos de prueba
- Crear archivos de propiedades para rastrear los entornos y las credenciales.
# 7 Codificación / scripting y revisión
Antes de comenzar a escribir sus pruebas, existen 2 requisitos previos:
- Los casos de prueba candidatos deben ser útiles
- El marco está listo
Identifica las diferentes acciones que realiza tu aplicación web. Pueden ser acciones simples como navegar, hacer clic, ingresar texto; o una acción compleja como conectarse a una base de datos, manejar flash o Ajax. Tome un caso de prueba a la vez e identifique todas las acciones que realiza ese caso de prueba en particular y calcule las horas en consecuencia para cada caso de prueba. La suma de todas las horas de todo el conjunto de pruebas le dará el número exacto.
También debe haber una disposición para revisión. Las revisiones son simplemente la revisión del código que puede realizar un compañero o un desarrollador. La programación en pareja es la mejor opción, que es rápida, pero si no es posible, según los recursos disponibles o la estrategia de revisión de las organizaciones, se deben asignar horas para ello.
Más detalles sobre cada factor que afecta la estimación:
Factor # 1: Alcance
Sentido : Identificación de los casos de prueba candidatos para la automatización a través del ROI
Pasos involucrados:
- Identifique los diversos factores que formarán la base para identificar los casos de prueba candidatos.
- Divida la aplicación en módulos más pequeños
- Analice cada módulo para identificar los casos de prueba candidatos
- Calcule el ROI
Entregable: Lista de casos de prueba que deben automatizarse.
Observaciones: Es importante congelar su alcance una vez que continúe con otros pasos de estimación.
Factor # 2: Complejidad
Sentido: Establecer la definición de aplicación sencilla y de pequeño tamaño.
Pasos involucrados:
- Dimensione la aplicación en función de la cantidad de casos de prueba que deben automatizarse.
- Complejidad de tamaño a través de la serie de Fibonacci.
- Identifique el punto de verificación y el punto de control de cada caso de prueba.
Entregable: Tamaño de la aplicación: pequeño, mediano o grande.
Varios casos de prueba y su correspondiente punto de control y punto de verificación.
Observaciones : Recomendado: un caso de prueba puede tener varios puntos de control, pero solo un punto de verificación. Si un caso de prueba tiene más de 1 punto de verificación, debe bifurcarse en un caso de prueba separado.
Factor # 3: herramientas de apoyo
Sentido: El selenio en sí no es lo suficientemente fuerte para construir un marco complejo. Requiere una lista de herramientas de marco para construir un marco.
Pasos involucrados:
- IDE finalizado
- Herramienta de prueba unitaria finalizada
- Registrador finalizado
- Herramienta de informes finalizada
- Herramienta de construcción finalizada
Entregable: Lista de herramientas necesarias para crear el marco.
Observaciones:
Ejemplos:
- Eclipse / RAD - como IDE
- Ant / Maven: como herramienta de construcción
- jUnit / TestNG - como marco de prueba unitaria
- Log4j - como Logger
- ReportiNG - como herramienta de informes
- Archivos de texto: para rastrear los entornos / credenciales
- Archivos de Excel: para rastrear los datos de la prueba
- Perl / Python: para configurar un entorno y activar los scripts de prueba.
Factor # 4: Marco de implementación
Sentido: Creación de estructura
Pasos involucrados:
- Diseñe sus archivos de entrada.
- Diseñar la estructura de carpetas
- Determine / implemente el registrador en su marco de trabajo
- Implemente la herramienta de construcción en su marco
- Implementar el marco de pruebas unitarias
Entregable:
- Marco y estructura de carpetas creados en el IDE.
- Hojas de Excel que contienen sus datos de entrada
- Archivos de propiedades que contienen datos y credenciales relacionados con el medio ambiente.
Observaciones: Este es el paso más importante. Es aconsejable incluir algo de tiempo de búfer al realizar la estimación, ya que la resolución de problemas lleva más tiempo del esperado.
Factor # 5: Configuración del entorno
Sentido: Se ocupa de la configuración del código y la descarga / preparación para la implementación del código
Pasos involucrados:
- Prepare el archivo de entrada y los informes
- Crea el script de activación
Entregable: Listo para el medio ambiente
Observaciones: Deberíamos intentar construir nuestro marco de tal manera que con la menor molestia, nuestro código se implemente en dicho entorno / caja.
No debería estar equivocado si digo que con entradas mínimas en nuestros archivos de texto (que tienen la URL y las credenciales), nuestro código debería estar listo para ejecutarse y ¡ROCK!
Factor # 6: aprendizaje y formación
Sentido: Aprender un lenguaje de programación y otras tecnologías de apoyo.
Pasos involucrados: Prepare un plan de acuerdo con sus necesidades de automatización y compártalo con el equipo y anímelos a aprender y proceder según el plan de estudios.
Entregable: Plan de entrenamiento y su rastreador que hará un seguimiento del progreso del equipo.
Observaciones: Se debe hacer hincapié en la construcción de lógicas en lugar de aprender la sintaxis.
Factor # 7: Codificación / scripting y revisión
Sentido: Escribir los guiones de prueba reales y revisarlos.
Pasos involucrados:
- Los casos de prueba y el marco están listos.
- Tome / divida los casos de prueba y conviértalos en scripts automatizados y realice un seguimiento de su progreso
Entregable: Scripts de prueba automatizados
Observaciones: el Todo el equipo debe participar en la redacción de los scripts de prueba utilizando el marco implementado. Entonces, al realizar la estimación, se deben tener en cuenta los esfuerzos de todo el equipo.
Conclusión :
Habiendo dicho todos estos puntos, no olvide incluir la sobrecarga de administración y algo de tiempo de búfer en su estimación final de automatización de Selenium. La mejor y más probada forma de hacer cualquier estimación es seguir el mecanismo WBS (Work Breakdown Structure). Esto es sencillo y tiene el propósito de implementar las necesidades de estimación de automatización.
Los factores mencionados anteriormente son los que se basan en mi experiencia, pero también puede haber otras entidades que podrían afectar la estrategia.
La regla del pulgar aquí es “Identifique ciertos criterios, divida sus módulos o casos de prueba según esos criterios; y escalarlo ”. Según su cifra escalada, puede llegar a una estimación precisa.
mejor software de captura de pantalla para Windows 10
Siguiente tutorial n. ° 33 : Estaremos concluyendo nuestro la serie de tutoriales gratuitos de capacitación en línea más completa de Selenium con el último tutorial, es decir, ' Preguntas de la entrevista de prueba de selenio con respuestas ”.
Háganos saber si tiene otros consejos para la estimación del esfuerzo de los proyectos de Selenium.
Lectura recomendada
- Introducción a Selenium WebDriver - Tutorial de Selenium n. ° 8
- Scripts eficientes de Selenium y escenarios de resolución de problemas - Tutorial de Selenium n. ° 27
- Depuración de scripts de Selenium con registros (Tutorial de Log4j) - Tutorial de Selenium n. ° 26
- Más de 30 mejores tutoriales de selenio: aprenda selenio con ejemplos reales
- Tutorial de Cucumber Selenium: Integración de Cucumber Java Selenium WebDriver
- Cómo localizar elementos en los navegadores Chrome e IE para crear scripts de Selenium - Tutorial de Selenium n. ° 7
- Los marcos de automatización de pruebas más populares con ventajas y desventajas de cada uno: tutorial de Selenium n. ° 20
- Implementación de nuestro primer script de WebDriver - Tutorial de Selenium WebDriver # 10