Documentos de Académico
Documentos de Profesional
Documentos de Cultura
“Testing Automatico”
Alumnos:
● Maira Monzón
● Marcos Lugones
● Flavio Salas
● Gonzalo Copes
Universidad Nacional Guillermo Brown
TECNICATURA EN PROGRAMACIÓN
RESUMEN:
El objetivo de ésta investigación es encontrar una alternativa para que los
estudiantes puedan verificar si los ejercicios escritos en Python funcionan de
manera esperada. Para esto, el encargado de pensar y crear los ejercicios utilizará la
librería pytest, la cual le permitirá al estudiante probar su código a la hora de
realizar un ejercicio o trabajar en un proyecto. Como resultado, tendremos una
solución rápida y relativamente sencilla para evaluar y validar el código que los
estudiantes escribirán en sus futuras tareas. Además, se llevarán a cabo otros
testeos para expandir y comprender la automatización.
ABSTRACT:
The objective of this research is to find an alternative so that students can verify if
the exercises written in Python are working as expected. With this in mind, the
person in charge of creating the exercises will use the pytest library which will
allow the student to test their code when writing an exercise or working on a
project. As a result, we will have a quick and relatively simple solution for evaluating
and validating the code that students will write in their future assignments. In
addition, we will run other tests to expand and understand the functionality of
automation.
Introducción
En algunas ocasiones, mientras estudiamos se nos puede pedir que realicemos algunos
ejercicios escritos en Python. Si bien ésto puede no suponer un mayor problema, los
alumnos no tienen una forma de saber si lo que están escribiendo es válido. Para
validar estos ejercicios, podemos hacer uso de la librería pytest, la cual le permitirá al
docente poner una serie de instrucciones para comprobar si lo que escribe el alumno
es correcto o no. En esta oportunidad, vamos a ver el flujo de trabajo a la hora de
recibir un ejercicio, resolverlo y posteriormente testearlo a través de una línea en la
consola de comandos (cmd)
Problema
Tenemos que resolver una actividad provista por el equipo docente. Para ello, se
respetarán los siguientes pasos:
Diagrama de Flujo
Implementación en código
Requisitos previos
● Python
Lo principal para poder realizar estos test es tener la última versión de Python
instalada en su sistema. La misma se puede descargar desde la página oficial.
https://www.python.org/downloads/
Para comprobar que la instalación haya sido exitosa, abriremos la consola de
comandos y escribiremos:
python --version
● Pytest
Para poder utilizar las herramientas que ofrece la librería pytest, primero es
necesario descargarla. Luego de haber instalado Python correctamente,
abriremos la consola de comandos (cmd) y escribiremos:
pytest --version
Ejercicio 01
En este caso, se le entregará al alumno un sólo archivo .py que contendrá la consigna a
realizar junto al comando para testearlo.
Resolución:
Lo que realizamos es crear una función tal que, para cuando corramos el pytest, nos
devuelva un resultado positivo.
Ejercicio 02
Archivo del ejercicio, en este caso mal realizado para mostrar el error en consola
Para correr el pytest, lo que debemos hacer es abrir la consola de comandos en la
carpeta donde se encuentran los archivos del ejercicio, y escribir la siguiente línea:
Ahora bien, dejando de lado los ejercicios, pasemos a un ejemplo un poco más
complejo en el cual testeamos varios parámetros en un único archivo:
En este caso, las funciones test_dividible_por_4 y test_dividible_por_8 marcarán
error (ya que el resto del dividendo es distinto de cero), mientras que las restantes se
llevarán a cabo satisfactoriamente.
Si bien la implementación de una librería para realizar test como pytest, la cual
implementamos en ésta investigación, trae grandes beneficios a la hora de testear y
evaluar los ejercicios, también tiene ciertos desafíos para el encargado de escribir
tanto los ejercicios como los test. Dado que es una librería precisa, tanto en lo que pide
como en sus resultados, hay que ser sumamente cuidadosos a la hora de escribir el
algoritmo que nos permitirá realizar los testeos. En caso contrario, nos encontraremos
con diversos errores que podrían dificultar nuestro flujo de trabajo. Hay que tener en
cuenta que, dado que es una librería que para realizar los testeos utiliza rutinas
especiales, a veces puede ser difícil para integrar con otros frameworks llegando a ser
necesario la reescritura de todo el código para que pueda adaptarse a la librería.
Conclusión
Python Functions
https://www.programiz.com/python-programming/function
Pytest automation
https://pypi.org/project/pytest-automation/
Create a repo
https://docs.github.com/es/get-started/quickstart/create-a-repo