documentación de pruebas del software

19
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

Upload: lina-vega

Post on 13-Jun-2015

635 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Documentación de pruebas del software

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

Page 2: Documentación de pruebas del software

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

Page 3: Documentación de pruebas del software

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.

Page 4: Documentación de pruebas del software

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

Page 5: Documentación de pruebas del software

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.

Page 6: Documentación de pruebas del software

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.

Page 7: Documentación de pruebas del software

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.'\'');

Page 8: Documentación de pruebas del software

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.

Page 9: Documentación de pruebas del software

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

{

Page 10: Documentación de pruebas del software

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>";

}

?>

Page 11: Documentación de pruebas del software

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()

Page 12: Documentación de pruebas del software

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.

Page 13: Documentación de pruebas del software

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.

Page 14: Documentación de pruebas del software

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

Page 15: Documentación de pruebas del software

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)

Page 16: Documentación de pruebas del software

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>

&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;

Page 17: Documentación de pruebas del software

Software de liquidación contractual

~ 17 ~

<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.

Page 18: Documentación de pruebas del software

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.

Page 19: Documentación de pruebas del software

Software de liquidación contractual

~ 19 ~

Bibliografía:

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