getting started with fitnesse collaboration tool
Ahora el mundo se está moviendo hacia Agile. La retroalimentación temprana y continua es fundamental para cualquier equipo de scrum. Debido a que el mundo está cambiando, la mentalidad de los evaluadores también debe cambiarse.
En lugar de 'encontrar errores, romper el software, medir los requisitos', los evaluadores ahora están pensando en 'entregar la calidad, justo a la primera, probar sin la interfaz de usuario o probar incluso antes de que la interfaz de usuario esté disponible'.
Ahora también se requiere que los probadores respondan al cambio y, por lo tanto, es importante salir de la técnica de prueba de caja negra y no esperar hasta que se desarrolle la interfaz de usuario; en su lugar, comience a probar también los entregables intermedios.
Lo que vas a aprender:
cómo usar el selector css en selenium
- ¿Pero por qué?
- ¿Qué es FitNesse?
- ¿Por qué debería usar FitNesse?
- Entonces, ¿qué puedo crear?
- Descarga y configuración de FitNesse:
- Ejemplo de FitNesse: lo que se debe probar:
- Escribiendo su prueba en FitNesse:
- Algunas ideas sobre los estilos de accesorios / mesas:
- Recomendación:
- Conclusión
- Lectura recomendada
¿Pero por qué?
“AHORA ESTA ES UNA PERSPECTIVA MUY ÁGIL”.
Siempre que creamos software, las capas más bajas de pruebas se mantienen a nivel de unidad / componente. Las pruebas unitarias las realiza el equipo de desarrollo. Estas pruebas unitarias están muy orientadas a la tecnología y en su mayoría están escritas en el mismo idioma en el que está escrito el sistema bajo prueba.
Estas pruebas unitarias están escritas con ' Unidad X ”Herramienta de prueba. Decimos en el mundo de las pruebas que si nuestra prueba unitaria es sólida como una roca , los defectos se identifican mucho antes y las pruebas por encima de la capa de pruebas unitarias se vuelven fáciles en un entorno estable. Y cuando hablamos en Agile, decimos que si un equipo domina el arte de TDD (Test Driven Development), las pruebas de nivel de unidad proporcionan la retroalimentación más rápida.
La capa sobre la capa de unidad / componente es la capa de pruebas de aceptación que se lleva a cabo en el negocio. Estas son pruebas funcionales que tienen más cobertura que las pruebas unitarias y, con mayor frecuencia, las ejecutan quienes no son desarrolladores. Estas pruebas prueban la capa detrás de la capa de presentación o las API. Estas API o métodos, cuando se prueban, brindan una respuesta rápida y, cuando se desarrolla la GUI, se prueban la mayoría de las funcionalidades.
FitNesse es un ejemplo de esta capa de pruebas de aceptación automatizadas.
¿Qué es FitNesse?
FitNesse es “un wiki independiente totalmente integrado y un marco de pruebas de aceptación”. Es el servidor web wiki de código abierto. Wiki- porque permite crear tus propias páginas web en las que se crean tablas de prueba. Estas tablas de prueba no son más que datos de prueba .
Su intención es apoyar el estilo ágil de aceptación de caja negra y pruebas de regresión. También es una herramienta de colaboración porque los evaluadores colaboran con los desarrolladores para preparar el conjunto de pruebas.
¿Por qué debería usar FitNesse?
El equipo de prueba ágil puede usar FitNesse para preparar trajes de prueba que probarán los métodos en el código. FitNesse es análogo a Junit de una manera que también prueba los métodos, pero es diferente a Junit porque las pruebas son en forma de tablas simples que pueden ser utilizadas tanto por desarrolladores como por no desarrolladores.
Beneficios:
- Retroalimentación temprana, mediante la ejecución de pruebas de aceptación automatizadas con la frecuencia necesaria.
- Los resultados de las pruebas son deterministas porque están resaltados en rojo o verde.
- Los datos de prueba se pueden diseñar para satisfacer las necesidades de calidad.
- Las pruebas están escritas en un lenguaje sencillo y fácil de entender, ya que están escritas en forma de tabla.
- Estas tablas se definen en términos de entradas y salidas esperadas.
- Ver todo FitNesse presenta aquí.
Entonces, ¿qué puedo crear?
En FitNesse, puede crear pruebas y suite. Los términos son muy parecidos a los que se utilizan en el mundo de las pruebas. Las pruebas son de un solo guión y el juego es una colección / grupo de pruebas. Cuando creas un palo y lo ejecutas, la ventaja es que se ejecutan todas las pruebas en ese palo. Por lo que necesita una planificación adecuada para organizar sus pruebas en un traje.
Descarga y configuración de FitNesse:
=> Para descargar FitNesse, Haga clic aquí
(Nota: Haga clic en cualquier imagen para ampliarla)
Descargue la última versión de fitnesse-standalone.jar y guárdela en su unidad local.
Abra un símbolo del sistema y ejecute el archivo jar. Para mayor facilidad, he creado un archivo por lotes:
Una vez que se ejecuta el archivo jar, FitNesse se inicia como se muestra a continuación: (Pulsa sobre la imagen para agrandarla)
Para abrir FitNesse, abra su navegador y escriba: http: // localhost: . En este caso, el número de puerto es 2222.
La página recibida se muestra a continuación: (Pulsa sobre la imagen para agrandarla)
Así que aquí, si puede ver el menú desplegable de Pruebas, podemos crear una 'página de la suite' así como una 'página de prueba'. Cuando crea una suite, se ejecutarán todos los scripts de prueba dentro de esa suite.
Para fines de explicación, estoy tomando un ejemplo de página de prueba.
Ejemplo de FitNesse: lo que se debe probar:
A partir de ahora, estamos probando un programa de calculadora simple que se muestra a continuación.
Aquí está el código en Java, que tiene 4 métodos:
- adición ()
- menos ()
- multiplicar ()
- divide ()
(Por favor, vea que FitNesse funciona con cualquier idioma de su elección. Para una explicación, he usado Java)
Este código en el mundo de FitNesse se llama 'Fixture'.
Los accesorios no son más que el código de muestra - o un enlace entre FitNesse y la aplicación bajo prueba. Entonces, siempre que queramos probar un método, tenemos que escribir un accesorio y este accesorio invocará y probará el método.
Entonces, el código de 'Fixture' para nuestro ejemplo es el siguiente:
|_+_| El código en eclipse se muestra como: (Pulsa sobre la imagen para agrandarla)
Necesitaríamos el archivo de clase, así que asegúrese de compilarlo.
Escribiendo su prueba en FitNesse:
Paso 1) Volvamos al navegador donde tenemos la página principal de FitNesse.
En la página principal, haga clic en 'Página de prueba', introduzca el nombre de la prueba y haga clic en el botón 'Guardar'. En nuestro caso, es 'Calculadora'
Paso 2) En su URL, agregue el nombre de su prueba con un punto '.' Operador.
Me gusta: http: // localhost: 2222 / FrontPage.Calculator
Paso 3) Haga clic en el botón Editar e ingrese las líneas que se muestran a continuación
Aquí están las líneas ingresadas:
! define TEST_SYSTEM {slim}
! ruta F: Eclipse TestFitness bin
! | Calculadora |
| primera | segunda | adición? | ¿menos? | ¿multiplicar? | dividir? |
|4 |2 |6 |2 |8 |2.0 |
|10 |5 |15 |5 |50 |2.0 |
|10 |10 |20 |0 |100 |1.0 |
Entendamos las líneas una por una.
a) La primera línea dice FitNesse para usar el sistema de prueba SLIM.
( DELGADO - Significa Método de invocación de lista simple. Al decir sistema de prueba SLIM, todo el procesamiento de la tabla lo realiza FitNesse. SLIM tiene SLIM Runner y SLIM Executer. SLIM Runner divide las páginas de prueba en instrucciones simples y estas instrucciones se pasan a SLIM Executer, que dirige el código del dispositivo para llamar al sistema bajo pruebas)
b) La segunda línea define la ubicación del archivo de clase. En este caso, el código java se compila y el archivo de clase se guarda en la ubicación 'ruta F: Eclipse TestFitness bin”
c) La tercera línea indica el nombre de la clase. En nuestro caso es 'Calculadora”
D) Ahora viene la cuarta línea:
el mejor software gratuito para mejorar el rendimiento de la PC
Las dos primeras columnas| primero | segundo |son los parámetros o las entradas al método java.
Las siguientes 4 columnas seguidas de '?'¿adición? ¿menos? ¿multiplicar? ¿dividir? son los métodos de la clase java. Estos métodos devolverán un valor que se compararía con los valores esperados.
es) Las líneas:
|4 |2 |6 |2 |8 |2.0 |
|10 |5 |15 |5 |50 |2.0 |
|10 |10 |20 |0 |100 |1.0 |
Son los casos de prueba o debería decir Datos de prueba para nuestro método.
La primera línea:
| primera | segunda | adición? | ¿menos? | ¿multiplicar? | dividir? |
|4 |2 |6 |2 |8 |2.0 |
Tomará 4 como primer parámetro y 2 como segundo parámetro y pasará estos dos valores en el método de suma de la clase java. El método se ejecutará y devolverá un valor. Este valor devuelto se comparará con el valor esperado escrito debajo de '¿adición?' cual es|6 |
De manera similar, FitNesse pasará los primeros 2 parámetros en el signo menos? Método de la clase java y devuelve un valor. Este valor se comparará con el valor esperado con |2 |
De la misma manera, ¿multiplicar? y dividir? funcionará tomando los valores del primer y segundo parámetro y devuelve el valor que se compara con|8 |2.0 |respectivamente
De manera similar, se ejecutan las 2 filas siguientes (o debería decir los casos de prueba).
|10 |5 |15 |5 |50 |2.0 |
|10 |10 |20 |0 |100 |1.0 |
Paso 4) Una vez que haya editado sus pruebas, haga clic en el botón Guardar y su página se verá así:
Paso # 5) Para ejecutar las pruebas, haga clic en el botón Prueba y obtenemos el resultado de la siguiente manera: (Pulsa sobre la imagen para agrandarla)
Para la primera fila (que es nuestro primer caso de prueba), el color verde resalta que los valores, devueltos por el método suma (), menos (), multiplicar () y dividir () coinciden con lo esperado, es decir, 6, 2 , 8 y 2.0 respectivamente. De manera similar, para la segunda fila (que es el segundo caso de prueba), todos los valores devueltos por los métodos coinciden.
Paso # 6) Ahora, para demostrarlo, permítanme cambiar algunos de los valores esperados a otros valores (los valores son incorrectos, pero lo he hecho a propósito para una explicación)
A partir de ahora, tengo:
- Se modificó el valor esperado para la adición () para el primer caso de prueba a 7
- Se modificó el valor esperado de menos () para el segundo caso de prueba.
- Se modificó el valor esperado de divide () para el tercer caso de prueba.
Paso # 7) Ejecute la prueba haciendo clic en el botón 'Prueba'. Las pruebas anteriores deberían fallar. (Pulsa sobre la imagen para agrandarla)
El color rojo resalta que estas pruebas fallaron.
Algunas ideas sobre los estilos de accesorios / mesas:
Hemos visto que en FitNesse las pruebas se ejecutan ejecutando filas en una tabla. Por lo tanto, para ejecutar diferentes tipos de pruebas (o debería decir para probar diferentes tipos de métodos), necesitaríamos usar diferentes tipos de tablas. Usamos los siguientes estilos de accesorios / mesas con mayor frecuencia:
- Accesorio de columna - es el más utilizado (y se utiliza en el ejemplo anterior). Aquí las filas de datos representan diferentes conjuntos de entrada y su salida esperada.
- Accesorios de fila - Se utiliza para probar consultas que devuelven algún conjunto de valores.
- Accesorios de acción - Se utiliza para ejecutar pruebas para una secuencia de eventos. Estos eventos pueden ser como hacer clic en un botón, verificar valores
Recomendación:
He intentado demostrar los conceptos para que podamos comenzar a explorar más en FitNesse. La mentalidad del evaluador también debe cambiarse y debe ampliarse. Tenemos que dejar de restringirnos a mirar dentro del código. Siento; en última instancia, estamos probando el código, entonces, ¿por qué no intentamos ver el código y probarlo allí mismo?
Empiece a agudizar sus habilidades de programación y enfóquese más en construir la lógica y más bien en aprender la sintaxis. Una vez que esté bien versado en los conceptos de programación y tenga práctica en su implementación, explorar FitNesse será más fácil.
Conclusión
Las pruebas en ágil vienen en 4 sabores:
- Pruebas unitarias automatizadas: mediante el uso de Junit
- Prueba de verificación de aceptación automatizada: mediante el uso de FitNesse
- Pruebas automatizadas de IU / regresión: mediante el uso de Selenium o QTP
- Prueba manual
Deberíamos intentar impulsar al máximo nuestras pruebas en la unidad y la capa de aceptación . Hasta ahora, hemos intentado mantener la mayor parte de nuestras pruebas para la capa de la interfaz de usuario utilizando herramientas como QTP y Selenium, pero la desventaja aquí es que estas funcionalidades no se pueden probar a menos que se desarrolle la interfaz de usuario. Para cuando encuentre un defecto, los desarrolladores se han movido hacia el desarrollo de alguna otra característica.
Por otro lado, si podemos probar las API poco después de que se hayan escrito, los desarrolladores pueden solucionarlo al instante. Esto también resultaría en menos esfuerzo cuando probamos la GUI. Debido a que se prueban todas las funcionalidades, probar la GUI se vuelve fácil.
Con Agile, la mentalidad de los probadores también necesita un cambio y tienen que salir de su conjunto de pruebas rutinarias y ahora debe mirar el código e intentar identificar defectos, incluso la interfaz de usuario no está disponible.
Sobre el Autor: Este es un artículo invitado por el miembro del equipo de STH, Shilpa C. Roy. Trabaja en el campo de las pruebas de software durante los últimos 9 años en dominios como publicidad en Internet, banca de inversión y telecomunicaciones.
Háganos saber sus consultas en los comentarios a continuación.
Lectura recomendada
- Los desarrolladores no son buenos probadores. ¿Que dices?
- Útil herramienta gratuita de captura de pantalla y anotador para los probadores - Revisión de qSnap
- Las 10 herramientas de revisión de código más populares para desarrolladores y probadores
- Revisión de WebLOAD: introducción a la herramienta de prueba de carga WebLOAD
- Las 15 mejores herramientas de prueba SOA para probadores
- ¿Cómo mantener viva la motivación en los probadores de software?
- Revisión de la herramienta de gestión de pruebas TestLodge
- Soft Skill for Testers: Cómo mejorar la habilidad de comunicación