Está en la página 1de 6

Onboarding Test Automation

Funciones del Rol


Metodologías de trabajo
Tecnologías implementadas
WORKSHOP
WorkShop - Writing and simplyfing scenario
Workshop screenplay front
workshope2e-master@d502471415e.zip Workshop Api
workshopapi-master@44ebce86b5e.zip
Workshop Rest assured
Workshop Appium
Glosario de términos

Funciones del Rol


1. Maintenance: Cada sprint el ingeniero de Test Automation debe validar que los scripts que existen no se vean afectados por cambios en el
código del sistema ni por cambios en los scripts de prueba.

2. Ejecución Manual del caso a automatizar: El ingeniero de Test Automation debe identificar manualmente primero el escenario automatizar
usando ya sea un browser en caso de ser pruebas web o postman en caso de ser una prueba API para validar que realmente el caso es
automatizable es decir que sea repetible y que no necesite intervención humana.

3. Revisión de las ejecuciones diarias en Jenkins: El ingeniero de Test Automation debe destinar un porcentaje del tiempo en cada sprint en la
revisión de las ejecuciones e informar el equipo acerca de estas para conocer el estado de la aplicación.

4. Automatización de pruebas: El ingeniero debe realizar la automatización de los casos que sean considerados candidatos durante el sprint ,
utilizando las herramientas indicadas

5. Creación de mocks: El ingenierio debe crear los mocks que sean solicitados por parte los equipos de desarrollo o actualizar alguno de los
mocks existentes.

6. Revisión de Pull Requests: El ingeniero debe realizar revisión par con sus compañeros para garantizar que la calidad de código es óptima y
velar porque se cumplan los estándares definidos para la codificación.

7. Testeo de bugs: En caso de que el ingeniero de Test Automation reporte un bug este llevara a cabo la ejecución de las pruebas manuales y
determinará si el caso debe ser automatizado para nuevas regresiones.

Metodologías de trabajo
Se trabajo con la metodología scrum en donde se tiene un sprint de 2 semanas y en el cual se realiza la puntuación de las tareas con base al esfuerzo
requerido para culminar cada una de ellas .

se recomienda ver el siguiente video:

BDD(Behavior Driven Development) : Es una estrategia de desarrollo dirigido por comportamiento la cual busca que todos manejen el mismo idioma al
momento de realizar cualquier definición

Se recomienda la lectura del libro Bdd In Action en las páginas: 13-29


Páginas: 121(The "given..When..Then" structure) - 128
Tecnologías implementadas
gerkin: es un DSL o Lenguaje Específico de Dominio (Domain-Specific Languaje), es decir, un lenguaje que está creado para resolver un problema.

Tiene una estructura generada por varios elementos, como vemos en la siguiente imagen.

cucumber: es una de las herramientas que podemos utilizar para automatizar nuestras pruebas en BDD. Cucumber nos va permitir ejecutar
descripciones funcionales en texto plano como pruebas de software automatizadas

patron de desarrollo screen play: Es la aplicación de principios de diseño SOLID a las pruebas de aceptación automatizadas.

se recomienda la lectura de https://www.infoq.com/articles/Beyond-Page-Objects-Test-Automation-Serenity-Screenplay/

https://dzone.com/articles/the-5-solid-principles-explained

lenguajes de programacion java ,kotlin

serenity bdd: Es una librería de código abierto que ayuda a escribir pruebas de aceptación automatizadas de mayor calidad y más rápido.

Sus principales características son:

Escribir test flexibles y fáciles de mantener


Generar informes ilustrativos sobre las pruebas
Ajustar las pruebas automatizadas a las necesidades del proyecto
Ver cuanto de la aplicación se está probando

restassured: Es un Java DSL (Domain Specific Language) construido sobre la capa HTTP Builder que permite simplificar la construcción de test sobre
una API REST.

WORKSHOP
WorkShop - Writing and simplyfing scenario
Escribir las características en un lenguaje común permite a los stakeholders no técnicos participar y comprender las pruebas, lo que da como resultado la
colaboración y acortar la brecha de comunicación.
Para escribir las características se recomienda usar un estilo declarativo. El estilo declarativo permite describir un comportamiento a alto nivel, lo cual
permite mejorar la legibilidad de la característica abstrayendo los detalles de implementación de la aplicación

Esta es la estructura básica de un escenario simple. Este se compone por:

DECLARATIVO IMPERATIVO

Scenario: User logs in Scenario: User logs in

Given I am on the homepage Given I am on the homepage


When I log in When I click on the "Login" button
Then I should see a login notification And I fill in the "Email" field with "me@example.com"
And I fill in the "Password" field with "secret"
And I click on "Submit"
Then I should see "Welcome to the app, John Doe"

Ejemplos:

ESCENARIOS NO CLAROS

Digamos que tenemos el siguiente escenario:

Dado que bill quiere registrar una cuenta bancaria en línea. PRE-CONDICIONES
Y Bill abre las siguientes cuentas
|cuenta| tipo| balance
123456| ahorros| 1000
1234567| corriente|10
Cuando Bill inicia sesión ACCIÓN BAJO PRUEBA ?????
Y Bill va a la página inicial
Y Bill visualiza sus cuentas
Entonces Bill debería ver sus cuentas RESULTADO ESPERADO
|cuenta| tipo| balance
123456| ahorros| 1000
1234567| corriente|10

Esto podría ser reescrito de la siguiente manera:

Dado que Bill quiere registrar una cuenta bancaria en línea. PONER ESTO EN PASADO, HACE QUE SE ENTIENDAN COMO PRE-CONDICIONES
And Bill tiene abierta las siguientes cuentas:
|cuenta| tipo| balance
123456| ahorros| 1000
1234567| corriente|10

Cuando Bill visualiza su estado de cuenta ASUME QUE PARA VER LAS CUENTAS PRIMERO DEBE HABER INICIADO SESIÓN
Entonces Bill debería ver todas sus cuentas NO HAY NECESIDAD DE REPETIR LA TABLA

Dados los siguientes escenarios, revisar y reescribirlos, usando las cosas aprendidas en los ejemplos anteriores:

Escenario 1

Escenario: Inicio de sesión


Dado que Julian Cho quiere iniciar sesión en la Banca virtual
Cuando ingresa en el campo nombre de usuario el valor "julian"
Y ingresa en el campo contraseña el valor "secretpassword"
Y el hace click en el botón ingresar
Entonces el deberia tener acceso a la visualización de sus productos

Escenario 2

Escenario: Creación de una cuenta con un No Cliente, sin telefono, con salario, con impuestos internacionales y operaciones extranjeras.
Dado que Luis quiere crear una cuenta de Ahorros
Y el no es un cliente
Cuando el ingresa la información requerida para la validación de su cuenta
Entonces el debería ver el mensaje de saludo "Hola Luis!"
Cuando el selecciona las respuestas 1,3,2,1 para validar su identidad
Y el ingresa su fecha de nacimiento
Y el ingresa su direccion
Y el ingresa su ocupación
Y el ingresa el nombre de la compañia donde trabaja
Y el selecciona la opción de Impuestos internacionales
Y el acepta los terminos y condiciones
Entonces el debería ver el mensaje ""¡Felicitaciones! Tu cuenta fue aprobada""
Yel deberia ver el número de cuenta
Yel debería ver el nombre del cliente
Y el debería ver el botón de Pse

References: https://saucelabs.com/blog/write-great-cucumber-tests

Workshop screenplay front


descargar el siguiente proyecto

Workshop Api
descargar el siguiente workshop

en caso de no tener accesos realizar el siguiente ejercicio


Workshop Rest assured
Realizar el consumo de los siguientes endpoints usando rest assured

uri

https://reqres.in/api/users?page=1

https://reqres.in/api/users?page=2

https://reqres.in/api/users?page=3

https://reqres.in/api/users?page=4

Realizar las siguientes validaciones :

validar códigos de respuesta al realizar cada consumo


validar la estructura de respuesta

Workshop Appium
Descargar el siguiente proyecto y realizar

Glosario de términos
Octopus ,data on demand: Es un proyecto el cual consiste en la generación de data de manera dinámica consumiendo Core.
Core: Hace referencia al sistema interno que maneja el banco
Onebank: Es el proyecto el cual consiste en la creación de un sistema de ventas para cada una de las oficinas existentes del banco
Sales: Es el proyecto enfocado en la venta de tarjetas crédito de varias franquicias.
Jump: Es el proyecto de modernización de la banca personal que se tenia implementado en la actualidad
passport: Es la plataforma utiliza para generar el token o llave que se utiliza para realizar la autorizacion de consumo entre las apis
Gorillaz : Es el equipo encargado de realizar el desarrollo de las aplicaciones mobiles android y IOS
Correr suite: realizar la ejecución de la suite automatizada por medio de la herramienta de integracion continua jenkins
Pegarle a : realizar el consumo de un servicio expuesto por parte de los sistemas internos o del core bancario
SAT: Es la plataforma donde se relaciona el cliente con su tarjeta credito
AS400: Es un sistema integrado muy complejo que incluye el hardware, el software, la seguridad, una base de datos y otros componentes. La
arquitectura avanzada AS/400 es única en que es extremadamente adaptable y puede incorporar fácilmente nuevas tecnologías
Tandem: Es la plataforma donde se realiza el proceso de realce de las tarjetas crédito
Otp: Es el sistema de autenticación utilizado en las plataformas como jump para verificar que al realizar alguna transacción bancaria sea la
persona que esta realizado la operación, esto envia un mensaje de texto al celular registrado
Mock: Es la respuestas predefinidas a las llamadas realizadas durante la prueba, por lo general no responden en absoluto a nada fuera de lo
programado para la prueba
CRM: Plataforma donde se encuentra la informacion personal de cada cliente registrado en el banco

También podría gustarte