SlideShare une entreprise Scribd logo
1  sur  19
Télécharger pour lire hors ligne
Software de liquidación contractual



Documentación de pruebas del software




              Liconsoft
                Ciclo 1




                                 Yenny Paola Aldana
                                   Daniela Martínez
                                    Jonathan Rivera
                                    Lina Paola Vega
                              Brandon Steven Vargas




                 ~1~
Software de liquidación contractual



TABLA DE CONTENIDO:



INTRODUCCIÓN

TEORÍA DE PRUEBAS

ELECCÍON TIPO DE PRUEBA

POR QUÉ CICLO UNO

PRUEBAS

  1. Modulo 1(inicio de sesión)
  2. Modulo 2(registro)
  3. Modulo3(operaciones)
      Búsqueda avanzada
      Registros en la base de datos
  4. Modulo4 (configuraciones)
      Nuevo usuario
      Actualizar usuario
      Eliminar usuario
      Realizar actualizaciones de valores anuales
  5. Modulo5 (Manual)
  6. Modulo6 (Sugerencias)
  7. Modulo7 (cerrar sesión)

INVENTARIO DE PRUEBAS

CRONOGRAMA DE DESARROLLO

CONCLUSIONES




                                  ~2~
Software de liquidación contractual




Introducción:

En este archivo se plasma la documentación correspondiente a las
pruebas del software LICONSOFT (Software de Liquidación Contractual).
Aquí encontraremos de forma detallada la especificación de los posibles
errores que encontramos tanto en la vista del usuario como en la vista de
diseñador, para dar una guía detallada de las falencias que fueron
encontradas y corregidas mediante del proceso. Dicha guía también forma
parte del proceso evolutivo y de implementación del software, documento
que puede ayudar posteriormente tanto al cliente del sistema, como a un
futuro desarrollador que se vea en la labor de modificarlo tanto para los
beneficios del cliente como para los propios, debido a que el sistema está
regido bajo la Licencia Publica General (GPL).

Este documento forma parte del primer ciclo de pruebas el cual consiste
en encontrar los errores en el primer paso de desarrollo previamente a la
primera implementación con esto se busca aproximarse lo más posible al
funcionamiento perfecto y armónico del software; luego de la primera
implementación, que hace referencia a poner el software en práctica en
su ambiente correspondiente, el grupo se encuentra en la tarea de prever
las futuras pruebas y las actualizaciones que tomara el sistema para un
futuro y mejor desempeño.




                                  ~3~
Software de liquidación contractual




Pruebas:

                       “Una actividad en la cual un
                       sistema o uno de sus componentes
                       se ejecuta en circunstancias
                       previamente especificadas
                       los resultados se observan y
                       registran y se realiza una
                       evaluación de algún aspecto”


Existen tres enfoques principales para el diseño de casos:

1.- El enfoque estructural o de caja blanca. Se centra en la estructura
interna del programa (analiza los caminos de ejecución).

2.- El enfoque funcional o de caja negra. Se centra en las funciones,
entradas y salidas.

3.- El enfoque aleatorio consiste en utilizar modelos (en muchas ocasiones
estadísticos) que representen las posibles entradas al programa para crear
a partir de ellos los casos de prueba




                                   ~4~
Software de liquidación contractual


Tipo de prueba elegida:

La prueba que hemos elegido aplicar a este proyecto ha sido la prueba de
funcionalidad, debido a que es necesario evaluar los módulos del sistemas
con distintos valores de entrada, con los que se podrá plantear distintos
escenarios, en los cuales se podrá determinar las fallas y errores del
sistema, huecos que más adelante podrían interferir en el buen desarrollo
de las actividades propuestas para que cumpla el software.




Por qué ciclo uno

La evolución de un software está dada por distintas etapas por las cuales
nos regimos, una de ellas son las pruebas. El proceso de pruebas no es
solo llegar y probar una funcionalidad y ya, se debe llevar una planeación
de pruebas, aquí es donde entra la cuestión de los ciclos. Los ciclos son
usados en este momento para definir el lapso de tiempo en el cual se
presentará las pruebas. El primer ciclo es el primer registro de pruebas del
sistema, con el tiempo, para ir mejorando la aplicación se deben de seguir
implementando pruebas, de las cuales se originarán nuevas
actualizaciones del sistema.




                                   ~5~
Software de liquidación contractual

Pruebas:

      Modulo1 (Inicio de sesión)

Este primer modulo tiene una gran importancia en lo que significa la
seguridad del software como tal pues su posibles debilidades permitirían
la infiltración de personas no pertenecientes a la entidad, que maneje el
software. Por tanto se realizaron ciertas pruebas, productos de la
ejecución del programa, y se encontró las siguientes fallas, y sus
respectivos arreglos:

   1. Pantalla intermedia: En el software, se tenía una pantalla
      intermedia, la cual decía que el software se encontraba cargando,
      esto se cambió debido a que representaba un hueco en el sistema,
      por tanto peligroso.

   2. Retroceso: Cuando al software se le presiona muchas veces el botón
      de “atrás” el navegador comienza a dirigirse por historial hacia las
      páginas vistas, presentando un hueco de seguridad, puesto que si se
      sale del sistema, y se emplea esta técnica se puede llegar a la página
      principal del software sin ser autorizado.




                                   ~6~
Software de liquidación contractual
Por tanto debió usarse el siguiente código correctivo, usando
sesión.
?php
session_start();

//datos para establecer la conexion con la base de mysql.
mysql_connect('localhost','root','')or die ('Ha fallado la
conexión: '.mysql_error());
mysql_select_db('Liconsoft')or die ('Error al seleccionar la Base de
Datos: '.mysql_error());

function quitar($mensaje)
{
  $nopermitidos = array("'",'','<','>',""");
  $mensaje = str_replace($nopermitidos, "", $mensaje);
  return $mensaje;
}

if(trim($HTTP_POST_VARS["Usuario"]) != "" &&
trim($HTTP_POST_VARS["Contrasena"]) != "")
{

  //Puedes convertir los a su entidad HTML aplicable con
htmlentities
  $Usuario =
strtolower(htmlentities($HTTP_POST_VARS["Usuario"],
ENT_QUOTES));
  $Contrasena = $HTTP_POST_VARS["Contrasena"];



  $result = mysql_query('SELECT Contrasena, Usuario FROM
Usuarios WHERE Usuario=''.$Usuario.''');

                            ~7~
Software de liquidación contractual
        if($row = mysql_fetch_array($result)){
           if($row["Contrasena"] == $Contrasena)
                   {
               $_SESSION["k_username"] = $row['Usuario'];



    }
                else
                {
          echo "<font face='Lucida Calligraphy' color='red' size='+2'><a
   href='../Index.php'>Password incorrecto</a></font>";
        }
     }else{
        echo "<font face='Lucida Calligraphy' color='red' size='+2'><a
   href='../Index.php'>Usuario no existente en la base de
   datos</a></font>";
     }
     mysql_free_result($result);
   }
   else
   {
     echo "<font face='Lucida Calligraphy' color='red' size='+2'><a
   href='../Index.php'>Debe especificar un usuario y
   contraseña</a></font>";
   }
   mysql_close();
   ?>

3. Contraseñas: Fue un inconveniente las contraseñas que eran 0 es
   decir 0000 o 00, puesto que se toma el numero cero como cero sin
   importar las veces que se repita.



                                 ~8~
Software de liquidación contractual
   Modulo2 (registro)

Este modulo es el encargado de realizar la labor de almacenamiento de los
datos de los contratos con sus respectivos datos personales por lo cual se
encontró los siguientes fallos:

   1. Una columna; el programa leía una columna de manera incorrecta,
      debido a que existía una coma mal puesta

      <?php
            //datos para establecer la conexion con la base de mysql.
            mysql_connect('localhost','root','')or die ('Ha fallado la
      conexión: '.mysql_error());
            mysql_select_db('Liconsoft')or die ('Error al seleccionar la
      Base de Datos: '.mysql_error());

             // Hay campos en blanco
             if($Poliza == NULL|$TipoID == NULL|$NumDocumento ==
      NULL|$Nombres == NULL|$Apellidos == NULL|$Genero ==
      NULL|$RH == NULL|$Profesion == NULL|$Localidad ==
      NULL|$Direccion == NULL|$Estrato == NULL|$Telefono ==
      NULL|$Celular == NULL|$Banco == NULL|$TipoCuenta ==
      NULL|$NumCuenta == NULL|$Correo == NULL)
             {
                    echo "<center><font color='red' face='Lucida
      Calligraphy' size='+2'>Alguno de los campos ingresados esta vacio.
      Por Favor Rectifique
                           <a
      href='Registro_Datos_Personales.php'>Regresar</a></font></cente
      r>";
             }
             else
             {

                                   ~9~
Software de liquidación contractual
          // Comprobamos si el documento ya existe
          $checkdocumento = mysql_query('SELECT
NumDocumento FROM Datos_Personales_1 WHERE
NumDocumento=''.$NumDocumento.''');
          $NumDocumento_exist =
mysql_num_rows($checkdocumento);
     }

       if ($NumDocumento_exist>0)
       {
              echo "<center><font color='red'>El Numero de
documento ya esta almacenado en la base de datos. NO es posible
realizar esta operacion</font></center>";
       }
       else
       {
              $query = 'INSERT INTO Datos_Personales_1 (Poliza,
TipoID, NumDocumento, Nombres, Apellidos, Genero, RH,
Profesion, Localidad, Direccion, Estrato, Telefono, Celular, Banco,
TipoCuenta, NumCuenta, Correo)
              VALUES (''.$Poliza.'', ''.$TipoID.'',
''.$NumDocumento.'', ''.$Nombres.'', ''.$Apellidos.'',
''.$Genero.'', ''.$RH.'', ''.$Profesion.'', ''.$Localidad.'',
''.$Direccion.'', ''.$Estrato.'', ''.$Telefono.'', ''.$Celular.'',
''.$Banco.'', ''.$TipoCuenta.'', ''.$NumCuenta.'', ''.$Correo.'')';
              mysql_query($query) or die(mysql_error());
              echo "<center><font face='Lucida Calligraphy'
color='red' size='+2'>Datos Guardados</font></center>";
       }
?>




                              ~ 10 ~
Software de liquidación contractual
2. Ingreso fecha: Debido a inconvenientes con la forma de ingreso de
   las fechas se ha decidido colocar máscaras a los cuadros de textos
   que posean este tipo de información.




   <script type="text/javascript">
   var patron = new Array(2,2,4)
   var patron2 = new Array(1,3,3,3,3)
   function mascara(d,sep,pat,nums){
   if(d.valant != d.value){
          val = d.value
          largo = val.length
          val = val.split(sep)
          val2 = ''
          for(r=0;r<val.length;r++){
                  val2 += val[r]
          }
          if(nums){
                  for(z=0;z<val2.length;z++){
                        if(isNaN(val2.charAt(z))){
                               letra = new RegExp(val2.charAt(z),"g")
                               val2 = val2.replace(letra,"")
                        }
                  }
          }
          val = ''
          val3 = new Array()

                               ~ 11 ~
Software de liquidación contractual
         for(s=0; s<pat.length; s++){
               val3[s] = val2.substring(0,pat[s])
               val2 = val2.substr(pat[s])
         }
         for(q=0;q<val3.length; q++){
               if(q ==0){
                      val = val3[q]
               }
               else{
                      if(val3[q] != ""){
                             val += sep + val3[q]
                             }
               }
         }
         d.value = val
         d.valant = val
         }
   }
   </script>
   center><h1>Fecha de Aprobacion de<br/>la Poliza</h1></center>
   <form method="POST" action="Registro_Personales.php">
   <font face="Arial, Helvetica, sans-serif" size="4">
      <center><input type="text" name="Poliza" class="nosel" value=""
   size="10" onkeyup="mascara(this,'/',patron,true)"
   maxlength="10"/></center>

3. Algunos campos en los que se puede colocar un dato repetitivo,
   para evitar equivocaciones se ha colocado un desplegable de
   opciones a elegir.




                               ~ 12 ~
Software de liquidación contractual




<select name="TipoID">

              <option value='CC'>CC</option>

              <option value='CE'>CE</option>

  </select>

  4. Se podía ingresar en algunos campos valores no permitidos en el
     sistema, y eran almacenados sin importar que representara un
     problema de fidelidad de información.




                                 ~ 13 ~
Software de liquidación contractual




Modulo3 (operaciones)

1. Al realizar una de las primeras operaciones, este cálculo no era
   redondeado, presentando un inconveniente en cuanto a los demás
   cálculos que requieren de un valor entero
   Por ello se utilizó el
   Echo round($variable);

2. No era posible realizar la operación desde una variable dada por la
   base de datos, era un valor dado anteriormente
   = SMLV= 515.000 pero no es aplicable a todos por ello era necesario
   la variable desde la base de datos




                             ~ 14 ~
Software de liquidación contractual




Modulo4 (configuraciones)

 Nuevo usuario:
  1. En esta opción, el sistema admite varias clases de tipos de
     datos en sus cajas de texto, por ejemplo, en el nombre es
     posible introducir números, caracteres especiales especiales,
     etc.




Modulo5 (manual)

1. En algunos exploradores por falta de algún pluggin se bloquea el
   navegador por ello se está tomando como una necesidad o
   requerimiento del sistema este pluggin.

Modulo6 (sugerencias)
                           ~ 15 ~
Software de liquidación contractual
   1. No se tiene conexión.




   Modulo7 (cerrar sesión)

1. Debido a ciertos inconvenientes con el cierre de sesión en los
   controles del lado, se ha decidido suprimir esta opción de este
   menú y trasladarlo hacia la parte de arriba en la cual podrá ejercer
   una mejor función.




                               Ahora
         <table align='center' border='1' color='black' width='80%'
   height='20%'>
                                         <tr>
                                               <td>

        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb
   sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb
   sp;&nbsp;&nbsp;&nbsp;


                               ~ 16 ~
Software de liquidación contractual
                                                         <img
      src='../Img/Liconsoft.gif' height='100%' border='0' alt='Liconsoft
      Inicio'/>

           &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb
      sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

           &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb
      sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb
      sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                                                     <a
      href='Cerrar_Sesion.php'><strong>Cerrar Sesion</strong></a>
                                               </td>

Inventario de pruebas:

El inventario de pruebas nos muestra la prioridad de corrección de cada
uno de los errores anteriormente vistos, los de prioridad alta son
esenciales para el óptimo funcionamiento del software, por tanto deben
ser corregidos de manera inmediata. Mientras que los de prioridad baja
no implican problemas de funcionamiento, son problemas de
accesibilidad.




                                  ~ 17 ~
Software de liquidación contractual
                        Inventario de pruebas:
            Funcionalidad                         Prioridad
            Modulo 1 funcionalidad 1              Alta
            Modulo 1 funcionalidad 2              Alta
            Modulo 1 funcionalidad 3              Media
            Modulo 2 funcionalidad 4              Alta
            Modulo 2 funcionalidad 5              Alta
            Modulo 2 funcionalidad 6              Baja
            Modulo 2 funcionalidad 7              Alta
            Modulo 3 funcionalidad 8              Media
            Modulo 3 funcionalidad 9              Alta
            Modulo 4 funcionalidad 10             Alta
            Modulo 5 funcionalidad 11             Baja
            Modulo 6 funcionalidad 12             Baja
            Modulo 7 funcionalidad 13             Baja


Cronograma de corrección:

Debido a la naturaleza de las funcionalidades, y su prioridad organizamos
las funcionalidades en fechas de corrección en este primer ciclo.

                            Plan de desarrollo
     Versión               Funcionalidad         Fecha
     1                     1,2,3,4,5,6,7,8,10,11 01/12/2010
     2                     9, 12, 13             13/12/2010


Conclusiones:

Durante el proceso de elaboración del aplicativo se han podido detectar
varias fallas y sus respectivos arreglos han sido implementados, sin
embargo la mayor etapa de pruebas se presentará en el momento que se
decida pedir al cliente, realice la prueba del aplicativo, e indique los
inconvenientes que tenga con el manejo del sistema.



                                 ~ 18 ~
Software de liquidación contractual

Bibliografía:

http://www.sistedes.es/TJISBD/Vol-1/No-4/articles/pris-07-perez-gpf.pdf




                                ~ 19 ~

Contenu connexe

Similaire à Documentación de pruebas del software

Fases de desarrollo de un programa...
Fases de desarrollo de un programa... Fases de desarrollo de un programa...
Fases de desarrollo de un programa...
grachika
 
Fundamentos de Pruebas de Software - Capítulo 1
Fundamentos de Pruebas de Software - Capítulo 1Fundamentos de Pruebas de Software - Capítulo 1
Fundamentos de Pruebas de Software - Capítulo 1
Professional Testing
 
Proyecto final crs (1)
Proyecto final crs (1)Proyecto final crs (1)
Proyecto final crs (1)
Leonel Ibarra
 

Similaire à Documentación de pruebas del software (20)

ejemplos.pdf
ejemplos.pdfejemplos.pdf
ejemplos.pdf
 
Aprende programar-6330-completo
Aprende programar-6330-completoAprende programar-6330-completo
Aprende programar-6330-completo
 
ASI
ASIASI
ASI
 
XXXS
XXXSXXXS
XXXS
 
Fases de desarrollo de un programa...
Fases de desarrollo de un programa... Fases de desarrollo de un programa...
Fases de desarrollo de un programa...
 
Fundamentos de Pruebas de Software - Capítulo 1
Fundamentos de Pruebas de Software - Capítulo 1Fundamentos de Pruebas de Software - Capítulo 1
Fundamentos de Pruebas de Software - Capítulo 1
 
Curso calidad software
Curso calidad softwareCurso calidad software
Curso calidad software
 
Guiaprueba
GuiapruebaGuiaprueba
Guiaprueba
 
Fundamento del computador n.3
Fundamento del computador n.3Fundamento del computador n.3
Fundamento del computador n.3
 
Seguridad en el ciclo de desarrollo del software
Seguridad en el ciclo de desarrollo del softwareSeguridad en el ciclo de desarrollo del software
Seguridad en el ciclo de desarrollo del software
 
Fundamentos del computado2
Fundamentos del computado2Fundamentos del computado2
Fundamentos del computado2
 
Casos de pruebas
Casos de pruebasCasos de pruebas
Casos de pruebas
 
0000261 programacion estructurada
0000261 programacion estructurada0000261 programacion estructurada
0000261 programacion estructurada
 
Actividad2u3
Actividad2u3Actividad2u3
Actividad2u3
 
Cecyte jerecuaro
Cecyte jerecuaroCecyte jerecuaro
Cecyte jerecuaro
 
Proceso de desarrollo del software
Proceso de desarrollo del softwareProceso de desarrollo del software
Proceso de desarrollo del software
 
Jose gpe act4
Jose gpe act4Jose gpe act4
Jose gpe act4
 
Lenguajes de programación parte i.3
Lenguajes de programación parte i.3Lenguajes de programación parte i.3
Lenguajes de programación parte i.3
 
4.3pptx
4.3pptx4.3pptx
4.3pptx
 
Proyecto final crs (1)
Proyecto final crs (1)Proyecto final crs (1)
Proyecto final crs (1)
 

Dernier

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 

Dernier (11)

EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 

Documentación de pruebas del software

  • 1. Software de liquidación contractual Documentación de pruebas del software Liconsoft Ciclo 1 Yenny Paola Aldana Daniela Martínez Jonathan Rivera Lina Paola Vega Brandon Steven Vargas ~1~
  • 2. Software de liquidación contractual TABLA DE CONTENIDO: INTRODUCCIÓN TEORÍA DE PRUEBAS ELECCÍON TIPO DE PRUEBA POR QUÉ CICLO UNO PRUEBAS 1. Modulo 1(inicio de sesión) 2. Modulo 2(registro) 3. Modulo3(operaciones) Búsqueda avanzada Registros en la base de datos 4. Modulo4 (configuraciones)  Nuevo usuario  Actualizar usuario  Eliminar usuario  Realizar actualizaciones de valores anuales 5. Modulo5 (Manual) 6. Modulo6 (Sugerencias) 7. Modulo7 (cerrar sesión) INVENTARIO DE PRUEBAS CRONOGRAMA DE DESARROLLO CONCLUSIONES ~2~
  • 3. Software de liquidación contractual Introducción: En este archivo se plasma la documentación correspondiente a las pruebas del software LICONSOFT (Software de Liquidación Contractual). Aquí encontraremos de forma detallada la especificación de los posibles errores que encontramos tanto en la vista del usuario como en la vista de diseñador, para dar una guía detallada de las falencias que fueron encontradas y corregidas mediante del proceso. Dicha guía también forma parte del proceso evolutivo y de implementación del software, documento que puede ayudar posteriormente tanto al cliente del sistema, como a un futuro desarrollador que se vea en la labor de modificarlo tanto para los beneficios del cliente como para los propios, debido a que el sistema está regido bajo la Licencia Publica General (GPL). Este documento forma parte del primer ciclo de pruebas el cual consiste en encontrar los errores en el primer paso de desarrollo previamente a la primera implementación con esto se busca aproximarse lo más posible al funcionamiento perfecto y armónico del software; luego de la primera implementación, que hace referencia a poner el software en práctica en su ambiente correspondiente, el grupo se encuentra en la tarea de prever las futuras pruebas y las actualizaciones que tomara el sistema para un futuro y mejor desempeño. ~3~
  • 4. Software de liquidación contractual Pruebas: “Una actividad en la cual un sistema o uno de sus componentes se ejecuta en circunstancias previamente especificadas los resultados se observan y registran y se realiza una evaluación de algún aspecto” Existen tres enfoques principales para el diseño de casos: 1.- El enfoque estructural o de caja blanca. Se centra en la estructura interna del programa (analiza los caminos de ejecución). 2.- El enfoque funcional o de caja negra. Se centra en las funciones, entradas y salidas. 3.- El enfoque aleatorio consiste en utilizar modelos (en muchas ocasiones estadísticos) que representen las posibles entradas al programa para crear a partir de ellos los casos de prueba ~4~
  • 5. Software de liquidación contractual Tipo de prueba elegida: La prueba que hemos elegido aplicar a este proyecto ha sido la prueba de funcionalidad, debido a que es necesario evaluar los módulos del sistemas con distintos valores de entrada, con los que se podrá plantear distintos escenarios, en los cuales se podrá determinar las fallas y errores del sistema, huecos que más adelante podrían interferir en el buen desarrollo de las actividades propuestas para que cumpla el software. Por qué ciclo uno La evolución de un software está dada por distintas etapas por las cuales nos regimos, una de ellas son las pruebas. El proceso de pruebas no es solo llegar y probar una funcionalidad y ya, se debe llevar una planeación de pruebas, aquí es donde entra la cuestión de los ciclos. Los ciclos son usados en este momento para definir el lapso de tiempo en el cual se presentará las pruebas. El primer ciclo es el primer registro de pruebas del sistema, con el tiempo, para ir mejorando la aplicación se deben de seguir implementando pruebas, de las cuales se originarán nuevas actualizaciones del sistema. ~5~
  • 6. Software de liquidación contractual Pruebas: Modulo1 (Inicio de sesión) Este primer modulo tiene una gran importancia en lo que significa la seguridad del software como tal pues su posibles debilidades permitirían la infiltración de personas no pertenecientes a la entidad, que maneje el software. Por tanto se realizaron ciertas pruebas, productos de la ejecución del programa, y se encontró las siguientes fallas, y sus respectivos arreglos: 1. Pantalla intermedia: En el software, se tenía una pantalla intermedia, la cual decía que el software se encontraba cargando, esto se cambió debido a que representaba un hueco en el sistema, por tanto peligroso. 2. Retroceso: Cuando al software se le presiona muchas veces el botón de “atrás” el navegador comienza a dirigirse por historial hacia las páginas vistas, presentando un hueco de seguridad, puesto que si se sale del sistema, y se emplea esta técnica se puede llegar a la página principal del software sin ser autorizado. ~6~
  • 7. Software de liquidación contractual Por tanto debió usarse el siguiente código correctivo, usando sesión. ?php session_start(); //datos para establecer la conexion con la base de mysql. mysql_connect('localhost','root','')or die ('Ha fallado la conexi&oacute;n: '.mysql_error()); mysql_select_db('Liconsoft')or die ('Error al seleccionar la Base de Datos: '.mysql_error()); function quitar($mensaje) { $nopermitidos = array("'",'','<','>',"""); $mensaje = str_replace($nopermitidos, "", $mensaje); return $mensaje; } if(trim($HTTP_POST_VARS["Usuario"]) != "" && trim($HTTP_POST_VARS["Contrasena"]) != "") { //Puedes convertir los a su entidad HTML aplicable con htmlentities $Usuario = strtolower(htmlentities($HTTP_POST_VARS["Usuario"], ENT_QUOTES)); $Contrasena = $HTTP_POST_VARS["Contrasena"]; $result = mysql_query('SELECT Contrasena, Usuario FROM Usuarios WHERE Usuario=''.$Usuario.'''); ~7~
  • 8. Software de liquidación contractual if($row = mysql_fetch_array($result)){ if($row["Contrasena"] == $Contrasena) { $_SESSION["k_username"] = $row['Usuario']; } else { echo "<font face='Lucida Calligraphy' color='red' size='+2'><a href='../Index.php'>Password incorrecto</a></font>"; } }else{ echo "<font face='Lucida Calligraphy' color='red' size='+2'><a href='../Index.php'>Usuario no existente en la base de datos</a></font>"; } mysql_free_result($result); } else { echo "<font face='Lucida Calligraphy' color='red' size='+2'><a href='../Index.php'>Debe especificar un usuario y contraseña</a></font>"; } mysql_close(); ?> 3. Contraseñas: Fue un inconveniente las contraseñas que eran 0 es decir 0000 o 00, puesto que se toma el numero cero como cero sin importar las veces que se repita. ~8~
  • 9. Software de liquidación contractual Modulo2 (registro) Este modulo es el encargado de realizar la labor de almacenamiento de los datos de los contratos con sus respectivos datos personales por lo cual se encontró los siguientes fallos: 1. Una columna; el programa leía una columna de manera incorrecta, debido a que existía una coma mal puesta <?php //datos para establecer la conexion con la base de mysql. mysql_connect('localhost','root','')or die ('Ha fallado la conexión: '.mysql_error()); mysql_select_db('Liconsoft')or die ('Error al seleccionar la Base de Datos: '.mysql_error()); // Hay campos en blanco if($Poliza == NULL|$TipoID == NULL|$NumDocumento == NULL|$Nombres == NULL|$Apellidos == NULL|$Genero == NULL|$RH == NULL|$Profesion == NULL|$Localidad == NULL|$Direccion == NULL|$Estrato == NULL|$Telefono == NULL|$Celular == NULL|$Banco == NULL|$TipoCuenta == NULL|$NumCuenta == NULL|$Correo == NULL) { echo "<center><font color='red' face='Lucida Calligraphy' size='+2'>Alguno de los campos ingresados esta vacio. Por Favor Rectifique <a href='Registro_Datos_Personales.php'>Regresar</a></font></cente r>"; } else { ~9~
  • 10. Software de liquidación contractual // Comprobamos si el documento ya existe $checkdocumento = mysql_query('SELECT NumDocumento FROM Datos_Personales_1 WHERE NumDocumento=''.$NumDocumento.'''); $NumDocumento_exist = mysql_num_rows($checkdocumento); } if ($NumDocumento_exist>0) { echo "<center><font color='red'>El Numero de documento ya esta almacenado en la base de datos. NO es posible realizar esta operacion</font></center>"; } else { $query = 'INSERT INTO Datos_Personales_1 (Poliza, TipoID, NumDocumento, Nombres, Apellidos, Genero, RH, Profesion, Localidad, Direccion, Estrato, Telefono, Celular, Banco, TipoCuenta, NumCuenta, Correo) VALUES (''.$Poliza.'', ''.$TipoID.'', ''.$NumDocumento.'', ''.$Nombres.'', ''.$Apellidos.'', ''.$Genero.'', ''.$RH.'', ''.$Profesion.'', ''.$Localidad.'', ''.$Direccion.'', ''.$Estrato.'', ''.$Telefono.'', ''.$Celular.'', ''.$Banco.'', ''.$TipoCuenta.'', ''.$NumCuenta.'', ''.$Correo.'')'; mysql_query($query) or die(mysql_error()); echo "<center><font face='Lucida Calligraphy' color='red' size='+2'>Datos Guardados</font></center>"; } ?> ~ 10 ~
  • 11. Software de liquidación contractual 2. Ingreso fecha: Debido a inconvenientes con la forma de ingreso de las fechas se ha decidido colocar máscaras a los cuadros de textos que posean este tipo de información. <script type="text/javascript"> var patron = new Array(2,2,4) var patron2 = new Array(1,3,3,3,3) function mascara(d,sep,pat,nums){ if(d.valant != d.value){ val = d.value largo = val.length val = val.split(sep) val2 = '' for(r=0;r<val.length;r++){ val2 += val[r] } if(nums){ for(z=0;z<val2.length;z++){ if(isNaN(val2.charAt(z))){ letra = new RegExp(val2.charAt(z),"g") val2 = val2.replace(letra,"") } } } val = '' val3 = new Array() ~ 11 ~
  • 12. Software de liquidación contractual for(s=0; s<pat.length; s++){ val3[s] = val2.substring(0,pat[s]) val2 = val2.substr(pat[s]) } for(q=0;q<val3.length; q++){ if(q ==0){ val = val3[q] } else{ if(val3[q] != ""){ val += sep + val3[q] } } } d.value = val d.valant = val } } </script> center><h1>Fecha de Aprobacion de<br/>la Poliza</h1></center> <form method="POST" action="Registro_Personales.php"> <font face="Arial, Helvetica, sans-serif" size="4"> <center><input type="text" name="Poliza" class="nosel" value="" size="10" onkeyup="mascara(this,'/',patron,true)" maxlength="10"/></center> 3. Algunos campos en los que se puede colocar un dato repetitivo, para evitar equivocaciones se ha colocado un desplegable de opciones a elegir. ~ 12 ~
  • 13. Software de liquidación contractual <select name="TipoID"> <option value='CC'>CC</option> <option value='CE'>CE</option> </select> 4. Se podía ingresar en algunos campos valores no permitidos en el sistema, y eran almacenados sin importar que representara un problema de fidelidad de información. ~ 13 ~
  • 14. Software de liquidación contractual Modulo3 (operaciones) 1. Al realizar una de las primeras operaciones, este cálculo no era redondeado, presentando un inconveniente en cuanto a los demás cálculos que requieren de un valor entero Por ello se utilizó el Echo round($variable); 2. No era posible realizar la operación desde una variable dada por la base de datos, era un valor dado anteriormente = SMLV= 515.000 pero no es aplicable a todos por ello era necesario la variable desde la base de datos ~ 14 ~
  • 15. Software de liquidación contractual Modulo4 (configuraciones)  Nuevo usuario: 1. En esta opción, el sistema admite varias clases de tipos de datos en sus cajas de texto, por ejemplo, en el nombre es posible introducir números, caracteres especiales especiales, etc. Modulo5 (manual) 1. En algunos exploradores por falta de algún pluggin se bloquea el navegador por ello se está tomando como una necesidad o requerimiento del sistema este pluggin. Modulo6 (sugerencias) ~ 15 ~
  • 16. Software de liquidación contractual 1. No se tiene conexión. Modulo7 (cerrar sesión) 1. Debido a ciertos inconvenientes con el cierre de sesión en los controles del lado, se ha decidido suprimir esta opción de este menú y trasladarlo hacia la parte de arriba en la cual podrá ejercer una mejor función. Ahora <table align='center' border='1' color='black' width='80%' height='20%'> <tr> <td> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb sp;&nbsp;&nbsp;&nbsp; ~ 16 ~
  • 17. Software de liquidación contractual <img src='../Img/Liconsoft.gif' height='100%' border='0' alt='Liconsoft Inicio'/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href='Cerrar_Sesion.php'><strong>Cerrar Sesion</strong></a> </td> Inventario de pruebas: El inventario de pruebas nos muestra la prioridad de corrección de cada uno de los errores anteriormente vistos, los de prioridad alta son esenciales para el óptimo funcionamiento del software, por tanto deben ser corregidos de manera inmediata. Mientras que los de prioridad baja no implican problemas de funcionamiento, son problemas de accesibilidad. ~ 17 ~
  • 18. Software de liquidación contractual Inventario de pruebas: Funcionalidad Prioridad Modulo 1 funcionalidad 1 Alta Modulo 1 funcionalidad 2 Alta Modulo 1 funcionalidad 3 Media Modulo 2 funcionalidad 4 Alta Modulo 2 funcionalidad 5 Alta Modulo 2 funcionalidad 6 Baja Modulo 2 funcionalidad 7 Alta Modulo 3 funcionalidad 8 Media Modulo 3 funcionalidad 9 Alta Modulo 4 funcionalidad 10 Alta Modulo 5 funcionalidad 11 Baja Modulo 6 funcionalidad 12 Baja Modulo 7 funcionalidad 13 Baja Cronograma de corrección: Debido a la naturaleza de las funcionalidades, y su prioridad organizamos las funcionalidades en fechas de corrección en este primer ciclo. Plan de desarrollo Versión Funcionalidad Fecha 1 1,2,3,4,5,6,7,8,10,11 01/12/2010 2 9, 12, 13 13/12/2010 Conclusiones: Durante el proceso de elaboración del aplicativo se han podido detectar varias fallas y sus respectivos arreglos han sido implementados, sin embargo la mayor etapa de pruebas se presentará en el momento que se decida pedir al cliente, realice la prueba del aplicativo, e indique los inconvenientes que tenga con el manejo del sistema. ~ 18 ~
  • 19. Software de liquidación contractual Bibliografía: http://www.sistedes.es/TJISBD/Vol-1/No-4/articles/pris-07-perez-gpf.pdf ~ 19 ~