Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PRUEBA UNITARIA
Clase con método Suma
Este método, recibe como parámetro dos valores enteros y devuelve la suma ambos.
Cuando hemos creado el proyecto de Test, en la solución han aparecido dos nuevos
ficheros:
Sample.vsmdi y LocalTestRun.testrunconfig.
Cristopher Coronel N5A
Desde aquí podremos ver, lanzar o depurar todas las pruebas unitarias que contiene
la solución. Y digo que contiene la solución, porque este fichero es común para todos
los proyectos de Test de la solución. Si éste contiene 2 proyectos de Test, desde la
lista de
pruebas unitarias veremos todas las pruebas de los dos proyectos.
El fichero LocalTestRun.testrunconfig lo que nos va a permitir es configurar algunos
aspectos relacionados con la ejecución de las pruebas, como activar el análisis de la
cobertura de código.
Una vez que tenemos la estructura de nuestro método de prueba tendremos que
implementar la prueba. Si pasamos 1 y 2 en los parámetros de entrada el método
sumar nos tiene que devolver 3. Es decir, sabiendo los parámetros de entrada y lo que
hace el método que estamos probando, sabremos lo que tiene que devolver.
El objetivo de la prueba es comprobar que el método Sumar hace exactamente lo que
se espera de él. Si el método Sumar en lugar de 3 devolviese 7, porque se ha
equivocado al sumar, la prueba unitaria fallaría.
Una vez hecha prueba recuerda eliminar la sentencia Assert.Inconclusive . Esta
sentencia se incluye cuando se crea la prueba e indica que el resultado de la prueba
no es concluyente. De
Cristopher Coronel N5A
Una vez, hecha la prueba sólo tenemos que ejecutarla. Desde la ventana de lista de
pruebas podemos ejecutar todas las pruebas o sólo aquellas que seleccionemos. En
la parte inferior, en la
ventana de resultados de la prueba veremos el resultado de la ejecución de los
mismos.
Por ejemplo, vamos a modificar nuestro método suma para que sólo sume valores
positivos y si alguno de los parámetros que recibe es menor que 0, que devuelva una
excepción.
Cristopher Coronel N5A
En este caso, nos podría interesar hacer una prueba dónde comprobemos que no se
genera una excepción cuando los parámetros sean mayores que 0. En esa prueba no
sería necesario incluir ninguna sentencia de comprobación. Si le pasamos valores
positivos la prueba será correcta siempre y cuando no genera una excepción.
Del mismo modo, nos interesará hacer una prueba para comprobar que la validación
se hace correctamente y que se devuelve la excepción ArgumentException.
.
En este caso, deberemos decorar el método de prueba con el atributo
ExpectedException. Con este atributo estamos especificando que el resultado
esperado de la ejecución de la prueba es la
excepción ArgumentException. Si no se genera la excepción o la excepción no es
del tipo esperado, la prueba fallará.
PRUEBA DE INTEGRACION
Crear la aplicación
$ composer create-project laravel/laravel laravel-example-software-testing
$ cd laravel-example-software-testing
$ php artisan serve
Se creará un campo Estudiante con los campos solicitados, para poder almacenar en una base de datos.
Prueba de Integración
Un ejemplo de prueba de integración es usar más de 1 componente, en este caso podemos probar el uso de
la clase Estudiante ya en el contexto de creación desde un controlador. Para lo cual crearemos uno usando
php artisan make:controller --model=Estudiante EstudianteController y comenzaré a probar
la función create. Pero antes de comenzar en el controlador crearé una prueba de integración con php
artisan make:test CrearEstudianteTest. Al realizar un post con datos a /estudiantes que es donde
montamos el recurso en app/routes/web.php el error fallará con error status code 200 es diferente a 201
esperado.
Implemento la función store en el controlador tomando los datos del request y creando un estudiante.
Pero aún nos falta realizar la prueba con un estudiante que quiera registrarse que no sea menor de edad.
Actualizamos el test para enviar una persona adulta y al ejecutar va a funcionar sin problema, debemos
cambiar el test para esperar un resultado 422 entidad no procesable.
PRUEBA DE ACEPTACION
Cristopher Coronel N5A
Los resultados que se muestran en la tabla, son los obtenidos en Venezuela al realizar las pruebas con el
usuario final. Como se puede apreciar en la segunda revisión del módulo pasaporte solo se encontraron 19
señalamientos de 82 realizados en la primera etapa de pruebas, lo que demuestra la utilidad de las pruebas,
el resultado satisfactorio de las mismas así como la calidad lograda.
Como solución se propone una aplicación WEB cliente-servidor, ya que proporciona las siguientes
ventajas:
En la versión inicial se realizara la aplicación Web de forma tal que se recojan los resultados y las no
conformidades obtenidas luego de aplicar las pruebas, se podrá saber que ingeniero de prueba aplico cada
prueba; los demás ingenieros de pruebas podrán ver los señalamientos hechos por otros, y los miembros de
equipo de desarrollo también podrán hacerlo, esto no sustituye los documentos que se generan,
independientemente de esto se realizaran los documentos que corresponden al proceso, esto puede cambiar
en versiones posteriores, pues se quiere lograr que el sistema genere automáticamente los documentos de no
conformidades, el sumario de evaluación de pruebas y de listas de chequeo, así como las solicitudes de
cambio.
Con la automatización de este proceso se logra la eficacia de una forma más eficiente, es decir, se logran
realizar las pruebas, a los softwares producidos en nuestra universidad, con la mayor calidad posible
empleando menor esfuerzo y tiempo.
PRUEBA DE SISTEMA
Empresas: Estos son los primeros usuarios a considerar ya que el sistema está enfocado
hacia ellos. La primera parte de estas pruebas se realizó en paralelo con el desarrollo del
Cristopher Coronel N5A
sistema ya que fueron las pruebas de contenido de los cuestionarios. Con estas pruebas se
buscó que cuando las preguntas se integraran al sistema, ya tuvieran un filtro de prueba
anterior.
Posteriormente, para llevar a cabo las pruebas del sistema, se generó un cuestionario
proceso y de lo que se esperaba de las pruebas. Las preguntas del cuestionario estaban
encuentra en el Apéndice C.
comunes ya que muchas veces los usuarios que realizan las pruebas en las empresas
tienen experiencia anterior con sistemas similares. Esto significa que ya pudieran estar
familiarizados con muchos aspectos del sistema y habría puntos del mismo que no se
considerarían. Las pruebas realizadas por los usuarios comunes son de usabilidad y
experiencia en el campo.
Desarrolladores: Las pruebas realizadas por los desarrolladores son pruebas de caja blanca
y de integración, con la finalidad de buscar errores a partir del conocimiento del código
fuente.
las cuales, se enviaron correos electrónicos con las instrucciones necesarias para llevar a
cabo las pruebas y con una explicación de las expectativas del proceso.
gráficas mostradas de la figura 5.2 a la figura 5.9. Cabe destacar que cada una de éstas fue
Cristopher Coronel N5A
Amigable
Alto 29%
Amigable. Se refiere a la facilidad de interacción del sistema con el usuario sin tener que
Legible
Bajo 14%
Muy Alto 43%
Alto 43%
Legibilidad. En esta prueba se evalúa el color de los textos, el contraste de los mismos con
el del fondo y el tamaño de la fuente, que debe ser adecuado para su legibilidad por la
Eficiencia. Es cuando las tareas que se llevan a cabo, pueden ser realizadas rápida y
Satisfacción
Medio
14%
Figura 5.6
Cristopher Coronel N5A
Satisfacción. Es que tan a gusto quedo una persona con las tareas realizadas en el sistema.
Reversible
Alto
29%
Medio
43%
Muy Alto Alto
Medio Bajo
Muy Bajo
Figura 5.7
Autonomía
Medio 14%
Figura 5.8
Autonomía. Se refiere a que los usuarios deben tener el control sobre el sistema en todo
Interfaz Gráfica
Medio 14%
Alto 14%
Figura 5.9
Cristopher Coronel N5A
figura 5.9)