miércoles, 13 de abril de 2011

Pruebas Unitarias (Clase)


(Intente instalar el JUNIT pero si lo baje y todo el problema es que no supe como usarlo en linux, dice qe se pued emediante eclipse pero tampoco lo se usar)
Bueno esto es para explicar las pruebas unitarias mediante diagramas y definiciones.

Prueba Unitaria
En programación, una prueba unitaria es una forma de probar el correcto funcionamiento de una parte de código. Esto sirve para asegurar que cada uno de las partes funcione bien por separado.
Esto se hace para despues con las Pruebas de Integracion, se podra asegurar que el progr
ama funcione bien.
La idea es escribir casos de prueba para cada función no trivial o método en el módulo de forma que cada caso sea independiente del resto.

Para que una prueba unitaria sea buena debe tener lo siguiente:

  • No debería requerirse una intervención manual. (Esto es especialmente útil para integracion continua.)
  • Deben cubrir la mayor cantidad de código(es decir en partes casi todo el codigo).
  • No se deben crear pruebas que sólo puedan ser ejecutadas una sola vez.
  • Al momento de ejectuar un codigo, no debe de ejecutar ni una otra parte de codigo.

Aunque estos requisitos no tienen que ser cumplidos al pie de la letra, se recomienda seg

uirlo

s o de lo contrario las pruebas pierden parte de su función.


Aqui esta imagen resume todo lo que es una prueba unitaria.


Cuales son las ventajas de las pruebas unitarias:


  1. Las pruebas unitarias hacen que la estructura de codigo sea mejor, es decir, que al momento de separar el codigo en partes para ejecutarlo, el usuario hace que el codigo se vea de mejor manera y asi se hace mas simple.
  2. Al momento de ejecutar el codigo, se puede documentar, y esto ayuda a tener un orden y un historial para cada parte de codigo ejecutable.
  3. Dado que la única interacción entre los casos de prueba y las unidades bajo prueba son las interfaces de estas últimas, se puede cambiar cualquiera de los dos sin afectar al otro, a veces usando objetos mock (estos son los objetos simulados de prueba, esto funciona exactamente en un programa como los monos esos que se usan en choques automovilisticos) para simular el comportamiento de objetos complejos.
  4. Los errores están más acotados y son más fáciles de localizar

Desventajas
La desventaja mas obvia sobre las pruebas unitarias es que al momento de ejecutar todo el codigo en partes, el proagrama SI, puede encontrar muchos errores individualmente, pero que tal entre los paquetes, o cuando un codigo llama a otro? estos errores solo pueden ser identificados al compilar el paquete completo y por ende no podrian ser detectados por las pruebas unitarias.

Aqui otro ejemplo mas sencillo de las pruebas unitarias.


jueves, 7 de abril de 2011

Errors, Exceptions, Events (Taller)

Aqui se puede ver la exception en cuanto la pw es falsa, o bien no existe, y es ahi cuando el do lo controla mientras sea falso. Cuando este es true, pues avanza a la siguiente fase.


package Projecto;

public class ventana {

void Usuario(){
System.out.print("Nombre de usuario");
Scanner user =new Scanner (System.in);

System.out.print("Contrasenia");
Scanner pw =new Scanner (System.in);
do
{
try
{
password.input(pw);
pw = false;
}
catch (PasswordNotFoundException pw)
{
PasswordNotFoundException.printStackTrace();
System.out.println("Vuelva a ingresar contrasena");
}
}while(pw = true);
}
}


Aqui es otra excepcion buscando una connexion a internet, esto se puede ver como un error o bien una excepcion, ya que esto solo depende del usuario, si la computadora del usuario tiene internet el programa puede avanzar, en caso de que no pues no podemos hacer nada por el.


package Projecto;

public static boolean isInternetReachable()
{
try {

InternetConnection IC = IC.getByName("....");

if(IC== null)
{
return false;
}

} catch (NotConnectedException NCE) {
NCE.printStackTrace();
return false;
}

return true;
}



Bueno esto es una breve explicacion sobre las excepciones y errores en mi proejcto, alguna duda puede llamarme o bien comenten en mi blog, creo que es mas facil.

miércoles, 6 de abril de 2011

Errors, Exceptions, Events (clase)

Bueno, hola que tal primeramente, ahora les voy a hablar sobre los errores excepciones y eventos que puede haber en mi software.
Primero para definir que es cada uno de ellos, explicare Brevemente que es cada uno de ellos a mis palabras.

Exception: una excepcion, es cuando el programa obtiene un error pero que se puede corregir, es decir, al implementarlo en mi projecto se puede decir que al momento de que el usuario quiera conocer una medicina natural como por ejemplo de la gripa, necesita un te de miel con oregano, pero este usuario no le gusta o es alergico a esta clase de medicamento natural, bueno aqui es cuadno entra la Exception, y tratamos de convencer al usuario de que otro metodo es igual o menos efectivo en contra de esta (gripe) enfermedad.

Error: un error se crea cuando el usuario pone de manera incorrecta la informacion, es decir, si el usuario pone una contrasena incorrecta, ahi es cuando se crea el error. En el caso de mi software puede ser eso mismo, cuando un usuario ingresa de manera incorrecta ya sea su nombre de usuario o su contrasena, o bien una enfermedad que no se conoce, o bien, que el usuario haya escrito el termino incorrecto, el programa no puede hacer nada para arreglarlo, si no el usuario tiene que determinar de manera correcta su error.

Evento: Un evento se crea la mayoria de las veces cuadno hay interaccion entre el usuario y el programa, por ejemplo, cuando un usuario ingresa el tipo de enfermedad que necesita, el programa le despliega cierta informacion; ahi mismo es donde estamos creando un evento. Es decir, cuando el usuario hace una accion, y el programa le responde con otra.

Excepciones que pueden aparecer en mi progrma:
  • Cuando el usuario es alergico, o bien no tolera cierto medicamento natural medicado.
  • Cuando el usuario ingresa, uno o dos mas sintomas que parecen ser de la misma enfermedad; ahi es cuando el programa debera pedir una especificacion para poder realizar su trabajo.
  • Cuando el programa no puede determinar si es una enfermedad cronica, o bien si es una enfermedad pasajera.
Errores:
  • Cuando el usuario ingresa su contrasena de manera incorrecta.
  • Cuando el usuario ingresa su nombre de usuario de manera incorrecta.
  • Cuando el usuario ingresa algun tipo de enfermedad no guardado en la base de datos.
  • Cuando el programa no puede determinar que tipo de medicamento puede ser mas efectivo. (Esto solo se da en cuanto el usuario ingresa uno o mas tipos de enfermades.)
  • Otro error es cuando el usuario no tiene conexion a internet, pues el programa no podra hacer nada ya que estaremos conectados directamente a una base de datos en internet.


Aqui un pequenio diagrama sobre excepciones y errores.
Eventos:
  • Un evento posible es cuando el usuario determinara donde es que le duele, o bien se siente mal.
  • Otro evento puede ser cuando el usuario determina ya su medicina, para despues que el programa guarde o bien solo ignore los datos ya desplegados.
  • Cuando el usuario cambie de ventana en el momento de que ya haya escogido su enfermedad, o bien su medicina; para ver a donde se dirige, ya sea si al inicio, o bien si quiere continuar con la busqueda de informacion.