Ejemplos De Pruebas Unitarias Y De Integracion
Escuela Superior de Informática (UCLM)
Ingeniería Técnica en Informática de Sistemas.
Ingeniería del Software.
1
Se desean realizar las pruebas unitarias y de integración de las 3 clases cuyo
código se ofrece a continuación:
Cliente.java:
import java.util.Vector;
public class Cliente {
String mNIF, mNombre;
Vector mFacturas;
public Cliente(Stringnif, String nombre) {
mNIF=nif; mNombre=nombre; mFacturas=new Vector();
}
public void add(Factura f) {
mFacturas.addElement(f);
}
public void show() {
System.out.println("Facturas del cliente " + mNombre + ":");
for (int i=0; i
((Factura) mFacturas.elementAt(i)).show();
System.out.println("-------------------\n\n");
}
}
}Factura.java:
import java.util.Vector;
public class Factura implements Euro {
Macario Polo Usaola
Escuela Superior de Informática (UCLM)
2
Ingeniería Técnica en Informática de Sistemas.
Ingeniería del Software.
String mNumero, mFecha;
Linea mLineas[];
public Factura(String n, String f) {
mNumero=n; mFecha=f;
mLineas=new Linea[10];
}
public void add(Linea l) {
int i=0;
for (i=0; mLineas[i]!=null; i++) ;mLineas[i]=l;
}
public void quitar(int i) {
mLineas[i].mArticulo=null;
mLineas[i].mPrecio=0;
}
public void show() {
double total=0;
System.out.println(mNumero + "; " + mFecha);
for (int i=0; mLineas[i]!=null; i++) {
mLineas[i].show();
total+=mLineas[i].mPrecio;
}
System.out.println("\tTotal .... " + total + " pts.");
System.out.println("\t
" + (total/kCambio) + " euros");
}
}
Macario PoloUsaola
Escuela Superior de Informática (UCLM)
3
Ingeniería Técnica en Informática de Sistemas.
Ingeniería del Software.
Linea.java:
public class Linea {
String mArticulo;
double mPrecio;
public Linea(String a, double p) {
mArticulo=a;
mPrecio=p;
}
public void show() {
System.out.println("\t" + mArticulo + " ..... " + mPrecio + " pts");
}
}
Euro.java:
interface Euro {
final double kCambio =166.386;
}
Macario Polo Usaola
Escuela Superior de Informática (UCLM)
4
Ingeniería Técnica en Informática de Sistemas.
Ingeniería del Software.
MATRICES DE USO DE MIEMBROS DE DATOS.
Cliente
Cliente add show
mNIF
t
mNombre
t
o
mFacturas t
Factura
t
o
Factura add quitar show
mNumero t
o
mFecha
t
o
mLineas
t
Línea
t
t
o
Linea show
mArticulo t
o
mPrecio
o
t
Macario PoloUsaola
Escuela Superior de Informática (UCLM)
5
Ingeniería Técnica en Informática de Sistemas.
Ingeniería del Software.
PRUEBAS UNITARIAS
1. Pruebas unitarias de Cliente:
1.1 Corte de mNIF:
El único método que hay en este corte es el constructor. Para comprobar el
funcionamiento de este constructor podemos hacer dos cosas:
a) Añadir un método getNIF() para ver que devueleva mNIF
b) Construir unaclase con permiso para acceder a los atributos de Cliente,
de manera que muestre el valor de mNIF.
Si optamos por la 2ª opción, dicha clase podría ser la siguiente:
public class Principal {
public static void main(String args[]) throws Exception {
Cliente c=new Cliente(null, null);
System.out.println("NIF: " + c.mNIF);
System.in.read();
}
}
•
Caso de prueba 111: El resultado de la ejecución delfragmento de código
anterior, que ejecuta el caso de prueba en el que mNIF=null, es el de la
siguiente figura:
•
Caso de prueba 112: Otra prueba puede ser la siguiente:
Cliente c=new Cliente(new String(), null); ß Nótese que el valor del 2º parámetro
no me importa, ya que estoy en el corte correspondiente a mNIF, al que se le da
valor en el primer parámetro del constructor.
Macario Polo UsaolaEscuela Superior de Informática (UCLM)
6
Ingeniería Técnica en Informática de Sistemas.
Ingeniería del Software.
1.2. Corte de mNombre:
Cliente(String, String)
show()
Como en show() se utiliza el atributo mFacturas, que es de un tipo no básico, lo
obviamos en este tipo de pruebas.
Casos de prueba:
•
121: Cliente c=new Cliente(null, null); c.show()
•
122: Cliente c=new Cliente(new String(),...
Regístrate para leer el documento completo.