martes, 7 de abril de 2015

Casos de prueba


La fase de pruebas es una de las más costosas del ciclo de vida software, deben realizarse pruebas de todos los artefactos generados durante la construcción de un producto software, lo que incluye las especificaciones de requisitos, casos de uso, diagramas de diversos tipos y, por supuesto, el código fuente y el resto de elementos que forman parte de la aplicación, Se aplican diferentes técnicas de prueba a cada tipo de producto software. 

Pruebas De Sistema 

Las pruebas de software (testing) son los procesos que permiten verificar y revelar la calidad de un producto software.  Son utilizadas para identificar posibles fallos de: implementación, calidad, y usabilidad. 

Caso de Prueba  

Es una serie de pruebas de entrada, condiciones de ejecución y resultados esperados desarrollados para un objetivo en particular, tal como ejecutar una ruta particular de un programa o verificar el cumplimiento con un requerimiento en específico 

Importancia de los casos de prueba 

Nada tiene mayor efecto en la satisfacción del usuario final con respecto al software que una vista clara de lo que espera, éstas expectativas deben ser verificadas y validadas. Los casos de pruebas reflejan los requerimientos que serán verificados. Esta verificación deberá ser realizada de diferentes maneras y por diferentes probadores. 
Si no se tiene la capacidad para verificar todos los requerimientos, es importante para el éxito del proyecto seleccionar los requerimientos más apropiados o críticos para la prueba. Los requerimientos que se elijan para verificar deberán estar balanceados entre el costo, riesgo y la necesidad de tener los requerimientos verificados. 

Razones para realizar casos de prueba 
  
- Los casos de pruebas forman el fundamento en el cual se diseña y desarrolla el guion de pruebas.  
-La profundidad de probar es proporcional al número de casos de prueba. Existe mayor confianza en la calidad del producto y proceso de pruebas cuando el número de casos de pruebas se incrementa, ya que cada prueba de caso refleja un escenario diferente, una condición o flujo a través del producto. 
- Una medida principal de lo completo de las prueba es la cobertura basa en los requerimientos, el número de casos de pruebas identificados, implementados y/o ejecutados. 
 - La escala del esfuerzo de la prueba es proporcional al número de casos de pruebas. Con una amplia descomposición de los casos de pruebas, la regulación de los tiempos de etapas satisfactorias del ciclo de pruebas puede ser estimada con mayor precisión.  
-Los tipos de pruebas de diseño y desarrollo, y los recursos necesarios son ampliamente gobernados por los casos de pruebas. 

Manejo de casos de prueba
  
-Los casos de pruebas para pruebas funcionales son derivados de los casos de uso, podrían ser desarrollados para cada escenario del caso de uso y los escenarios de los casos de uso son identificados describiendo el camino por el que atraviesa el caso de uso desde el flujo básico y alternativo hasta el final del caso de uso. 
 
Diseño de casos de pruebas 
 
El diseño de casos de prueba se puede realizar basándose en los enfoques y en sus técnicas y las estrategias de prueba. 
Objetivo: Conseguir confianza aceptable en que se encontraran todos defectos existentes, sin consumir una cantidad excesiva de recursos. 
 
Técnicas de diseño de casos de prueba 


Las técnicas de diseño de casos de prueba tienen un propósito y es producir el número de casos de prueba manteniendo la efectividad de la prueba e igualmente abarca enfoques principales como lo son la caja blanca (como lo hace) y caja negra (que es lo que hace). 
 

  • Pruebas de caja blanca 
Asegura que la operación interna del programa se ajusta a las especificaciones y que todos los componentes internos, se han probado adecuadamente. 
Usa la estructura de control para obtener los casos de prueba  
Intentan garantizar que todos los caminos de ejecución del programa quedan probados 
Pruebas de estructuras de control: 
Del camino básico: Diseñar un caso de prueba por cada camino independiente 
De condición: Diseñar casos de prueba para que todas las condiciones del programa se evalúen a cierto/falso  
De bucles: Diseñar casos de prueba para que se intente ejecutar un bucle 0,1,…,n-1 veces 
 (siendo n el número máximo) 


public class ESPRIMO { 
      public static boolean esPrimo (String arg[])  
    throws ErrorFaltaParametro, 
           ErrorSoloParametro, 
           ErrorNoNumeroPositivo{ 
        if (args.length==0) throw new ErrorFaltaParametro(); 
        else if (args.length > 1) throw new ErrorSoloParametro();  
        else  
            try { 
                float numF= float.ParseFloat (args [0] ); 
                int num = (int) numF; 
                if (num<=0) throw new ErrorNoNumeroPositivo(); 
                else  { 
                    for (int i=2;i<num;i++) 
                        if(num%i==0) {return false;} 
                    return true; 
                } 
           } 
            catch (NumberFormatException e) { throw new ErrorNoNumeroPositivo(); } 
         
    } 
    }     
} 

El método Esprimo.esPrimo puede ser llamado con un array de Strings. 

Ejemplo: Esprimo 


           Entrada 
El objetivo a probar todos los caminos, las condiciones y los bucles 
Ejemplo: Componente de prueba para EsPrimo 
public class ComponentePruebaEsPrimo { 
    public static void main (String [] args) { 
         
     String [] s1= new String [0]; 
     try {boolean b1 = EsPrimo.esPrimo(s1); 
          System.out.println ("CP1 incorrecto");} 
     catch (ErrorFaltaParametro e) 
         {System.out.println ("CP1 correcto"); } 
     catch (Exception e) {System.out.println ("CP1 incorrecto");} 
     String [] s2  new String [2] ; s2 [0] = "xx"; s2 [1]= "yy"; 
     try {boolean  b1 = EsPrimo.esPrimo (s2); 
     System.out.println ("CP2 incorrecto");} 
     catch (ErrorSoloParametro e) 
       { {System.out.println ("CP2 correcto"); }}  
   catch (Exception e) {System.out.println ("CP2 incorrecto");} 
...} 



  • Pruebas de caja negra 

La prueba verifica que el ítem que se está probando, cuando se dan las entradas apropiadas produce los resultados esperados. 
Los datos de prueba se escogerán atendiendo a las especificaciones al problema, sin importar los detalles internos del programa, al fin de verificar que el programa corra bien.  
Ejemplo de casos de prueba: 
-Al cerrar (minimizar,…) la ventana se cierra (minimizar,…), Al pulsar el botón, aparece en el campo de texto el resultado y Buscar ayuda de cómo utilizar la interfaz 

Estructura de los casos de pruebas 
 
Visión general contiene información general acerca de los Casos de Prueba.  
 
·                     Identificador es único para futuras referencias. 
·                     Caso de prueba dueño/creador es el nombre del analista o diseñador de pruebas, quien ha desarrollado pruebas o es responsable de su desarrollo. 
·                     Versión la actual definición del caso de prueba. 
·                     Nombre el caso de prueba debe ser un título entendible por personas, para la fácil comprensión del propósito del caso de prueba y su campo de aplicación. 
·                     Identificador de requerimientos el cual está incluido por el caso de prueba. También aquí puede ser identificador de casos de uso o especificación funcional. 
·                     Propósito contiene una breve descripción del propósito de la prueba, y la funcionalidad que chequea. 


·                     Dependencias

CONCLUSIONES 

-Las pruebas de software son los procesos que permiten verificar y revelar la calidad de un producto software.  Son utilizadas para identificar posibles fallos de: implementación, calidady usabilidad. 
-Es importante para el éxito del proyecto seleccionar los requerimientos más apropiados o críticos para la prueba. 
- Los casos de pruebas forman el fundamento en el cual se diseña y desarrolla el guion de pruebas.


REFERENCIAS BIBLIOGRÁFICAS 

Documento en línea. Disponible en : http://es.slideshare.net/hally20191/casos-de-pruebas 
Documento en línea. Disponible en: http://lsc.mxl.uabc.mx/~angelica/Casos%20de%20prueba.pdf 
Documento en línea. Disponible en: http://chitita.uta.cl/cursos/2010-2/0001282/recursos/r-7.pdf 

0 comentarios:

Publicar un comentario