Ver Mensaje Individual
  #6  
Antiguo 16-09-2004
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Reputación: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
DUnit (http://dunit.sourceforge.net/) es un framework para hacer test de units (programas) a nivel de funcionalidad interna. Es parte del movimiento Extremme Programing que es una serie de mejores practicas para desarrollar aplicaciones. Aunque se puede usar YA con Delphi 5 o más, que este integrado querra decir que mas gente lo va a usar.

Por ejemplo, uno tiene un codigo como:

function Dividir(Num1ouble;Num2ouble)ouble;

Algo como esto, tiene multiples puntos de falla

- Dividir por 0
- Podra hacer 0/1?
- Dividira sin perdida decimal 0.99446464654654/.05456456465465???
- Hara bien 2/4 o 4/2

Todo eso son test o pruebas comunes. El punto es que hacerlas manualmente es MUY tedioso...y luego que son cientos o miles de funciones, quien las prueba otra vez? Por eso, se usa cosas como DUnit o NUnit, son ROBOTS de hacer test... uno escribe:

procedure TestDividir
begin
Check(Dividir(4,2),2,'Error: Ni puede con una cosa simple como 4/2!');
//Probar si hay perdida decimal = Deberia sacar un error o devolver -1 para informar que la division no es precisa???
Check(Dividir( 0.99446464654654,.05456456465465),??2,'Error: Se da perdida decimal sobre....!');

CheckException(Dividir(1,0) ///No recuerdo de memoria, pero se puede chequar que saque el ERROR correcto (EDividedByZero y no EException)...importante

Muy recomendado darle una mirada...la calidad de codigo aumenta bastante por el solo hecho de automatizar (y documentar en codigo!) los puntos de falla y si se hace la programacion defensivamente...

Luego, como las pruebas quedan almacenadas, 2 meses mas tarde se vuelven a correr y te sacara errores o mensajes si algo que se hizo altero el funcionamiento (reduciendo la probabilidad de sacar programas a la calle defectuosos y disminuyendo la labor de debug posterior)


end;
__________________
El malabarista.
Responder Con Cita