Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 16

ALGORITMOS Y ESTRUCTURAS DE DATOS

UNIDAD Nº III
Testing De Aplicaciones

www.iplacex.cl
SEMANA 6

Desarrollo
Validación de Código

Al programar debemos realizar constantemente una validación del código que hemos
escrito, pues ello permite:
 La detección y corrección de errores
 Minimizar el número de errores en una aplicación
 Verificar si se están utilizando las buenas prácticas en la programación

Formas de validación del Código

Existen dos formas de validar el código:

 Validación Manual: es la más común, donde el programador revisa y ejecuta su


código por partes. Generalmente se tiene que agregar código fuente adicional
para revisar valores de variables y salidas esperadas.
 Validación Automática: se utiliza software complementario. De esta manera se
optimiza la ejecución del código, disminuyendo el tiempo de ejecución de
pruebas.
Tips sobre validación estándar de códigos

Al realizar una validación, se recomienda considerar lo siguiente:

 Se debe establecer una pequeña descripción del caso a revisar.


 Se debe llevar un registro en una planilla, de forma de llevar un orden en la
ejecución de pruebas. Esto facilita la gestión de pruebas, de forma de conocer
los status: OK, NO OK, y pendiente de revisión.
 Se debe revisar que el código al ejecutarse cumpla con los requerimientos
solicitados por el usuario.
 La lógica de negocio debe estar bien implementada, debiendo revisar las
funcionalidades principales.

2 www.iplacex.cl
 Es importante detectar y anotar todos los errores encontrados, para luego
realizar las correcciones que sean necesarias.
Validación con JUnit

JUnit es una librería que permite realizar pruebas automáticas.

 Se integra con facilidad a Frameworks de desarrollo en Java, como NetBeans y


Eclipse.
 Permite realizar pruebas fácilmente, evitando que se agregue código extra al
código fuente.
Configuración de JUnit

En NetBeans, JUnit ya viene instalado como una librería. Para configurarlo debemos
realizar los siguientes pasos:

Click derecho en TestPackages  New  Other…

En la ventana seleccionamos la carpeta


Unit Test, luego JUnit Test y hacemos click
en Next.

Escribimos el Class Name de la clase pruebas,


seleccionamos el Package donde se creará, y
presio
namo
s
Finish
.

3 www.iplacex.cl
Se ha creado nuestra clase Test para JUnit, con la cual realizaremos las pruebas
automáticas.

Ejemplo Clase Calculadora

A continuación, veremos cómo utilizar JUnit para validar una clase que permite simular
una calculadora.

 Utilizaremos NetBeans para implementar la clase Calculadora, que puede


realizar las 4 operaciones básicas.
 La clase tiene 2 abributos, n1 y n2, a los cuales se les aplican las operaciones
de suma, resta, multiplicación y división.
Implementación Clase Calculadora

Observa la Implementación de la clase


Calculadora:

Definición de atributos, constructor con


parámetros, accesadores y mutadores.

Métodos sumar, restar, multiplicar y dividir.

4 www.iplacex.cl
Creación de Test Unitario
Para crear un Test Unitario seguimos los siguientes pasos:

Click derecho en carpeta del Proyecto 


New  JUnit Test

Se establece el nombre de la clase de


testing y su ubicación dentro del
package.

Observamos el interior de la clase


CalculadoraUnitTest, con el código por
defecto que se genera al crearla.

Se han importado las librerías de JUnit,


lo que nos permitirá usar sus métodos.

5 www.iplacex.cl
Creación de Pruebas Unitarias

En este ejemplo se define la prueba testSuma para evaluar el método sumar:

 Primero se genera un objeto c de tipo Calculadora con parámetros 3 y 7 para


usar de prueba.
 Se define la variable valorObtenido, la cual captura el resultado del método
sumar.
 Se define la variable valorEsperado, la cual expresa el valor que se debiera
obtener.
 El método assertEquals compara que el valor obtenido sea igual al valor
esperado.

6 www.iplacex.cl
Ejecución de la prueba unitaria testSuma

Para ejecutar la prueba unitaria, hacemos Click


derecho en la clase CalculadoraUnitTest  Run
File.

En la ventana de resultados de prueba, vemos


que en este caso la ejecución funciona
correctamente.

Definición de un nuevo test

Definiremos la prueba testDivision para evaluar el método dividir:

7 www.iplacex.cl
 Generamos un objeto c de tipo Calculadora con parámetros 5 y 0.
 Definimos las variables valorObtenido y valorEsperado.
 Usamos el método assertEquals para comparar ambos valores.

Para ejecutar esta nueva prueba unitaria, hacemos Click derecho en la clase
CalculadoraUnitTest  Run File.

8 www.iplacex.cl
En la ventana de resultados de
prueba vemos que en este caso la
ejecución falla, pues no está
considerada dentro de la
programación de la clase
Calculadora el error que se produce
al dividir por cero.

Para ilustrar la validación de códigos con JUnit, lo haremos a través de la validación


de las reglas de negocio de una empresa que vende productos. La empresa cuenta con
3 categorías de producto: A, B y C. Se aplicará el siguiente descuento:

 Si el producto es de la categoría A, se otorgará un 5% de descuento.


 Si el producto es de la categoría B, se otorgará un 8% de descuento.
 Si el producto es de la categoría C, se otorgará un 10% de descuento.
Crearemos un nuevo proyecto en NetBeans, utilizando el lenguaje Java para la
implementación del código.

Creación del Proyecto

En el menú de NetBeans, haz clic en File  New


Project. En la ventana New Project se selecciona
Java en Categories, y en Projects la opción Java
Application. Luego haz clic en Next.

En la siguiente ventana le damos el nombre EjercicioProducto al proyecto y


establecemos la ruta donde se guardará.

9 www.iplacex.cl
Creación Clase Producto

Vamos a crear una clase Producto que permita


implementar nuestra lógica de negocio.

Haz click derecho en el package ejercicioproducto 


New  Java Class

En la ventana New
Java Class, en Class
Name escribe
Producto, luego
presiona Finish.

Definición de la Clase Producto

Al interior de nuestra nueva Clase,


definiremos los atributos id (int),
valor (double) y tipo (char).

Como hemos visto en las semanas


anteriores, generamos
automáticamente el Constructor
con parámetros y los Accesadores
y Mutadores.

10 www.iplacex.cl
Añadiremos el método descuento a la clase Producto, para implementar las reglas de
negocio:

Creación de Test Unitario

Para crear un test unitario para la clase Producto,


hacemos click derecho en la clase  Tools 
Create/Update Tests.

En la ventana emergente
podemos cambiar las
opciones, como su
nombre, ubicación y el
código automático que se
generará. Por ahora
solamente haremos click
en OK.

Una vez hecho esto, vemos que en la estructura de carpetas aparece nuestra clase de
pruebas dentro de la carpetaTest Packages.

11 www.iplacex.cl
Creación de Test Unitario 1

Se observa que se crea una estructura de test por defecto, que se puede editar para
escribir las pruebas personalizadas.

12 www.iplacex.cl
Reemplazamos el código generado por nuestra prueba personalizada, llamada
testDescuento:

13 www.iplacex.cl
Ejecución de Test Unitario 1

Para ejecutar nuestra prueba, hacemos click


derecho en la clase ProductoTest  Run
File

En la ventana Test Results se


observa que el resultado es
correcto para la ejecución,
obteniéndose un 100% en la
comprobación del test.

Creación de Test Unitario 2

Vamos a crear un segundo Test Unitario, llamado testDescuento2, esta vez probando
un caso que no está soportado por la clase Producto: el manejo de valores negativos.

14 www.iplacex.cl
Al ejecutar nuevamente la clase de prueba (click derecho en la clase ProductoTest 
Run File), se observa que en este caso falla para testDescuento2(), ya que en la clase
Producto no está considerada la validación para un valor negativo.

En la ventana Test Results podemos ver el detalle de cuáles pruebas fallan y cuáles
dieron un resultado correcto.

15 www.iplacex.cl
16 www.iplacex.cl

También podría gustarte