Uploaded by Hervin Camargo

AUTOMATIZACIÓN v1

advertisement
AUTOMATIZACIÓN TCS
VERSIÓN : 1
AUTOMATIZACIÓN DE PRUEBAS FUNCIONALES
Automatización de pruebas funcionales V 1
AUTOMATIZACIÓN TCS
VERSIÓN : 1
Contenido
Que es la Automatización .......................................................3
Como iniciar una automatización de pruebas funcionales
sobre una aplicación? .............................................................3
Niveles de automatización ......................................................6
Beneficios de la automatización .............................................6
Cuando realizar automatización de pruebas de software? ....8
Herramientas de automatización de pruebas.........................9
Serenity + cucumber ...............................................................9
Características de una historia de usuario escrita en Gherkin
..............................................................................................11
Configuración de entorno de automatización ......................12
Enlaces ..................................................................................18
Automatización de pruebas funcionales V 1
AUTOMATIZACIÓN TCS
VERSIÓN : 1
Que es la Automatización
La automatización es la forma de evaluar un sistema para
validar que satisface los requisitos esperados, o para
identificar diferencias entre los resultados esperados y los
reales. La automatización supone realizar tareas de pruebas
desatendidamente, esto permite al analista realizar
actividades adicionales durante las etapas de pruebas de
software y aumentar el tiempo de eficiencia y respuesta en
la entrega de resultados utilizando herramientas de software
que reproduzcan los script con las instrucciones dadas
Como iniciar una automatización de pruebas
funcionales sobre una aplicación?
1. Analizar las necesidades y el proceso de prueba:
Identificar si existe pruebas funcionales, la necesidad de
automatización
2. Analizar la vialidad técnica: Disponibilidad de
ambientes, entornos de espacio para analista de
automatización, infraestructura
Automatización de pruebas funcionales V 1
AUTOMATIZACIÓN TCS
VERSIÓN : 1
3. Adherencia: Proceso que permite indicar la viabilidad de
automatizar una aplicación o funcionalidad teniendo
encuenta el tipo, ambientes y demás características
(front-end, back-end), objetos de la interface gráfica de
usuario (front-end), propiedades de los objetos,
acciones etc.
4. Selección de la herramienta de automatización: Utilizar
la mejor herramienta de automatización es el principal
objetivo en las tareas de inicio de proyecto, teniendo en
cuenta herramientas open source o licenciadas.
5. Documento de visión: Este documento indicara con
detalle la necesidad de la prueba en un alto nivel, dando
detalles del proceso automatizado, alcance,
restricciones, riesgos,
6. Estimación de automatización: se deben tener en
cuenta interface gráfica, objetos de la interface
(radiobutton, checkbox, iframe, textbox, listbox,
combobox, contenedores (div), dataPicker
7. Diseño de casos de prueba: Diseñar los casos de prueba
de acuerdo al modelo planteado
Automatización de pruebas funcionales V 1
AUTOMATIZACIÓN TCS
VERSIÓN : 1
8. Indicadores de eficiencia: Mostrar la eficiencia del
pruebas automatizadas vs pruebas manuales
9. Hardware : Se recomienda utilizar procesadores CoreI 5
o CoreI7 desde la 6th generación, memoria ram minimo
8 gb, programas ofimáticos, ide(visual studio, eclipse
oxigen 4.7, soapUI, silktest 18.1, UFT)
Automatización de pruebas funcionales




Automatización
Automatización bajo Framework de trabajo
Alta automatización
Conocimiento en desarrollo de software, sentencias de
control, bases de datos (crud)
 Conocimientos básicos de pruebas de software (ISTQB
fundation level)

Eficiencia en automatización de pruebas
 Cobertura
 Selección de pruebas
Automatización de pruebas funcionales V 1
AUTOMATIZACIÓN TCS
VERSIÓN : 1
Niveles de automatización
Esta pirámide propuesta por Mike Cohn, sirve para explicar
las
diferencias del Software Testing trabajando con
metodologías convencionales y trabajando con metodologías
ágiles o de forma iterativa
Beneficios de la automatización
La automatización de pruebas puede traer consigo una serie
de beneficios que podrían ayudar a elevar el nivel de calidad
del producto software y también a disminuir su coste. Los
más destacados podrían ser:
Automatización de pruebas funcionales V 1
AUTOMATIZACIÓN TCS
VERSIÓN : 1
 Se pueden ejecutar un número mayor de pruebas.
Una vez que se ha automatizado un determinado caso de
prueba, es fácil ejecutarlo sucesivas veces variando solo
sus datos de entrada. Consecuencia: la cobertura
aumenta, se prueban muchas mas combinaciones,
aumentando el nivel de confiabilidad del producto
software.
 Se puede ejecutar pruebas de forma desatendida.
Las ejecución se puede lanzar a cualquier hora del día,
durante la noche, en periodos no laborales, etc.
Consecuencia: Se reduce considerablemente el tiempo
de ejecución pruebas. Menor coste.
 Reducción de costes durante la ejecución de pruebas
Una prueba automatizada se ejecuta siempre de una
misma manera, mientras que una ejecución manual se
puede cometer errores, sobre todo, dependiendo del
nivel del tester que realice dicha ejecución y de la
complejidad de la prueba. Consecuencias: Aumenta la
calidad de las pruebas. Posible aumento de la calidad
general del producto software.
 Facilita las pruebas de regresión
Automatización de pruebas funcionales V 1
AUTOMATIZACIÓN TCS




VERSIÓN : 1
La automatización de pruebas favorece aque las pruebas
de regresión se realicen reutilizando casos ya diseñados
y que fueron probados previamente esto ayuda a
identificar si se han introducidos errores
Aprovechamiento de RRHH
Mayor cobertura en los casos de prueba
Apoyo en la estrategia del cliente, cumpliendo con sus
compromisos
Reutilización de casos de prueba
Cuando realizar automatización de pruebas de
software?
 Casos de prueba que se deban ejecutar en cada nueva
versión de la aplicación.
 Casos de prueba que utilicen distintos datos de prueba
para las mismas acciones - Data Driven Testing.
 Funcionalidades que no cambiaran en un periodo de
tiempo relativamente corto
Automatización de pruebas funcionales V 1
AUTOMATIZACIÓN TCS
VERSIÓN : 1
Herramientas de automatización de pruebas
 Selenium webDriver
 Serenity+ cucumber
 Silktest 18.0
 Ranorex
 SoapUI
 Testcomplete
 UFT –HP
 Katalon Studio
Serenity + cucumber
Gherkin, es un lenguaje comprensible por humanos y por
ordenadores, con el que vamos a describir las
funcionalidades, definiendo el comportamiento del software,
sin entrar en su implementación. Se trata de un lenguaje fácil
de leer, fácil de entender y fácil de escribir. Es un lenguaje de
los que Martin Fowler llama 'Business Readable DSL', es
decir, 'Lenguaje Específico de Dominio legible por Negocio'.
Automatización de pruebas funcionales V 1
AUTOMATIZACIÓN TCS
VERSIÓN : 1
Automatización de pruebas funcionales V 1
AUTOMATIZACIÓN TCS
VERSIÓN : 1
Características de una historia de usuario escrita en
Gherkin
Independientes: Deben ser atómicas en su definición. Es
decir, se debe intentar que no dependa de otras historias
para poder completarla.
Valoradas: Deben ser valoradas por el cliente. Para poder
saber cuánto aporta al valor de la aplicación y junto con la
estimación convertirse en un criterio de prioridad.
Estimables: Tener su alcance lo suficientemente definido
como para poder suponer una medida de trabajo en la que
pueda ser completada.
Pequeñas: Para poder realizar una estimación con cierta
validez y no perder la visión de la Historia de Usuario, se
recomienda que sean mayores de dos días y menores de dos
semanas.
Verificables: Este es el gran avance de las Historias de
Usuario. Que, junto con el cliente, se acuerdan unos Criterios
Automatización de pruebas funcionales V 1
AUTOMATIZACIÓN TCS
VERSIÓN : 1
de Aceptación que verifican si se ha cumplido con las
funcionalidades descritas y esperadas.
Configuración de entorno de automatización
Verifique la versión de Eclipse que tenga instalada, si aún no
la ha instalado descarguela de la siguiente página :
http://www.eclipse.org/downloads/eclipse-packages/
Automatización de pruebas funcionales V 1
AUTOMATIZACIÓN TCS
VERSIÓN : 1
1. JAVA
Verifique la versión de Java que tenga instalada, se
recomienda la versión 1.8, página de Oracle:
http://www.oracle.com/technetwork/java/javase/downlo
ads/jre8-downloads-2133155.html
Automatización de pruebas funcionales V 1
AUTOMATIZACIÓN TCS
VERSIÓN : 1
2. Instalación de MAVEN
Descargue
Maven
desde
http://maven.apache.org/index.html, y descomprimir en
una ruta C\: o D:\
Automatización de pruebas funcionales V 1
AUTOMATIZACIÓN TCS
VERSIÓN : 1
3. Crear o actualizar las siguientes variables de entorno,
debemos ingresar a la maquina con privilegios de
administrador:
Tutorial:
https://medium.com/@01luisrene/comoagregar-variables-de-entorno-s-o-windows-10e7f38851f11f
MAVEN_HOME
D:\Maven\apache-maven-3.5.0
MAVEN
%MAVEN_HOME%\bin
JAVA_HOME
C:\Program Files\Java\jdk1.8.0_144 ‘Ruta del JDK
Agregar al path lo siguiente:
Path
%JAVA_HOME%\bin;%MAVEN%
Automatización de pruebas funcionales V 1
AUTOMATIZACIÓN TCS
VERSIÓN : 1
4. Verificar la instalación de Maven: ingresa al cmd y
escribe “mvn -version”
Si quedó bien instalada debe mostrarse el siguiente
resultado, de lo contrario reinicia la máquina y repite
esta instrucción.
Consultar las variables de entorno registradas en el
sistema
Automatización de pruebas funcionales V 1
AUTOMATIZACIÓN TCS
VERSIÓN : 1
5. Instalar plugin Cucumber
Utilizar el siguiente tutorial como guía de instalación:
https://www.toolsqa.com/cucumber/install-cucumbereclipse-plugin/
Automatización de pruebas funcionales V 1
AUTOMATIZACIÓN TCS
VERSIÓN : 1
Enlaces
 Automatización de pruebas funcionales basadas en BDD,
url: https://johnfergusonsmart.com/
 Automatización scripting estructurado licenciado,
Silktest
,
url:
https://www.microfocus.com/eses/products/silk-test/overview
 Automatización
con
JavaScript,
url:
https://nightwatchjs.org/
 Pruebas funcionales bajo el estándar internacional ITQB,
url: http://www.sstqb.es/recursos/descargas.html
Automatización de pruebas funcionales V 1