documentación de pruebas del software
Post on 13-Jun-2015
635 Views
Preview:
TRANSCRIPT
Software de liquidación contractual
~ 1 ~
Documentación de pruebas del software
Liconsoft
Ciclo 1
Yenny Paola Aldana Daniela Martínez
Jonathan Rivera Lina Paola Vega
Brandon Steven Vargas
Software de liquidación contractual
~ 2 ~
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
Software de liquidación contractual
~ 3 ~
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.
Software de liquidación contractual
~ 4 ~
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
Software de liquidación contractual
~ 5 ~
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.
Software de liquidación contractual
~ 6 ~
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.
Software de liquidación contractual
~ 7 ~
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.'\'');
Software de liquidación contractual
~ 8 ~
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.
Software de liquidación contractual
~ 9 ~
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
{
Software de liquidación contractual
~ 10 ~
// 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>";
}
?>
Software de liquidación contractual
~ 11 ~
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()
Software de liquidación contractual
~ 12 ~
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.
Software de liquidación contractual
~ 13 ~
<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.
Software de liquidación contractual
~ 14 ~
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
Software de liquidación contractual
~ 15 ~
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)
Software de liquidación contractual
~ 16 ~
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>
&nb
sp;
&nb
sp;
Software de liquidación contractual
~ 17 ~
<img
src='../Img/Liconsoft.gif' height='100%' border='0' alt='Liconsoft
Inicio'/>
&nb
sp;
&nb
sp;
&nb
sp;
<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.
Software de liquidación contractual
~ 18 ~
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.
Software de liquidación contractual
~ 19 ~
Bibliografía:
http://www.sistedes.es/TJISBD/Vol-1/No-4/articles/pris-07-perez-gpf.pdf
top related