documentación de pruebas del software

15
Software de liquidación contractual ~ 1 ~ Documentación de pruebas del software Liconsoft Yenny Paola Aldana Daniela Martínez Jonathan Rivera Lina Paola Vega Brandon Steven Vargas

Upload: yenny-aldana

Post on 04-Dec-2014

1.093 views

Category:

Education


7 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Documentación de pruebas del software

Software de liquidación contractual

~ 1 ~

Documentación de pruebas del software

Liconsoft

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

PRUEBAS

1. Modulo 1(inicio de sesión)

2. Modulo 2(registro)

3. Modulo3(operaciones)

4. Modulo4 (configuraciones)

Nuevo usuario

Actualizar usuario

Eliminar usuario

Realizar actualizaciones de valores anuales

Page 3: Documentación de pruebas del software

Software de liquidación contractual

~ 3 ~

Introducción:

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.

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,

Page 6: Documentación de pruebas del software

Software de liquidación contractual

~ 6 ~

esto se cambío 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.

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)

{

Page 7: Documentación de pruebas del software

Software de liquidación contractual

~ 7 ~

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

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{

Page 8: Documentación de pruebas del software

Software de liquidación contractual

~ 8 ~

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.

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

Page 9: Documentación de pruebas del software

Software de liquidación contractual

~ 9 ~

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

{

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

{

Page 10: Documentación de pruebas del software

Software de liquidación contractual

~ 10 ~

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

}

?>

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)

Page 11: Documentación de pruebas del software

Software de liquidación contractual

~ 11 ~

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

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]

}

Page 12: Documentación de pruebas del software

Software de liquidación contractual

~ 12 ~

}

}

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.

<select name="TipoID">

Page 13: Documentación de pruebas del software

Software de liquidación contractual

~ 13 ~

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

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

Modulo4 (configuraciones)

Nuevo usuario:

Page 14: Documentación de pruebas del software

Software de liquidación contractual

~ 14 ~

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

Page 15: Documentación de pruebas del software

Software de liquidación contractual

~ 15 ~

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

sp;&nbsp;&nbsp;&nbsp;

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

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.