Sei sulla pagina 1di 26

Pruebas de software

El desarrollo del software no es una actividad en la cual los errores de proceso, estn exentos en el desarrollo del mismo.
Es muy comn que en diversos programas que se estn ya ejecutando, se presenten errores que dificultan las operaciones que se
supone de deben de realizar por cada uno de los mdulos del programa o bien por todo el programa en s.
!os problemas comunes que se presentan en el caso del cdigo ya trabajando, suceden pues no se cuidaron los procesos de calidad en
el mismo y, esto se puede solucionar desde el momento en que se definen los requerimientos del sistema, en el momento del dise"o, en
el desarrollo del mismo y, lgicamente, cuando el programa ya instalado se comprob bajo los est#ndares m#s altos de calidad.
$e argumenta que muc%os de los errores que se presentan en un programa, se deben a la innata %abilidad del ser %umano de provocar
errores en las actividades que realiza, por ello, dentro del desarrollo del software, se deben idear actividades que tiendan a visualizar,
analizar y corregir estos errores, de ello trata esta actividad.
En la actividad centraremos la atencin en definir cu#les son los fundamentos de las pruebas del software, mismos que definen los
objetivos de la fase de pruebas.
&%ora, cu#les son los fundamentos de la prueba del software, bien'
En lo que se llama etapa de pruebas del software se deben crear una serie de casos de prueba en donde se %acen los intentos por
destruir el software que se supone, se %a desarrollado adecuadamente para su funcionamiento.
(ara que esto de resultado )la etapa en la que se destruye el software*, debemos eliminar la ideas sobre la calidad del software, por igual
la idea de la correccin, ya que no son los sentidos estrictos de la prueba.
!a prueba tiene como objetivo descubrir un error )un bug* en el proceso de ejecucin de nuestro programa, adem#s, lo que se considera
un buen caso de prueba, tiene la estricta intencin de mostrar un error que antes no %aba sido descubierto pro quien desarroll el
cdigo.
(or lgica, una prueba de software tiene xito si se descubre un error que antes no %aba sido detectado.
En las pruebas del software est# el xito muy marcado cuando se descubren errores, considerando que esto se %aga en el menor tiempo
posible, el esfuerzo menor tambin es una consideracin a ste caso de pruebas del software, a ste proceso le llamaremos +esting.
Conceptos a considerar dentro del proceso de pruebas
,entro del proceso de pruebas tenemos el trabajo que se realiza por parte de la persona encargado del proceso' (STE) o el ingeniero
de pruebas, que es quien da la certezas a los clientes de que el equipo de desarrollo va a ofrecer un producto de calidad al cliente. -n
$+E debe ser persuasivo, explorador, autosuficiente y organizado, implacable en sus tareas, creativo, perfeccionista, tener y usar un
excelente juicio, debe ser diplom#tico y manejar las situaciones con muc%o tacto. &l ser una persona con una gran responsabilidad,
deber# tener una actitud de empata %acia el trabajo que va a realizar, debe considerar el o los puntos de vista del cliente, abogar por el
trabajo de calidad y prestar muc%a atencin a los detalles del proceso que est trabajando.
El trabajo del $oftware +est Engineer tiene los siguientes propsitos'
,etectar errores en el proceso que se est# desarrollando
.acer una deteccin de errores tan pronto como sea posible
,ar visibilidad al proyecto
.acer el an#lisis de la posibles causas que est#n provocando los errores
.ace un equipo de trabajo bien conformado
,ar seguimiento y asegurarse que los errores se reparen, siempre teniendo como meta que el usuario final obtenga del producto lo
que solicit y lo que quiere
/onsideremos que el ingeniero de prueba no da calidad al proceso, l %ace la promocin para que el producto software sea
entregado bajo ste concepto
El ingeniero de pruebas apoyar# su trabajo en el Testware, que no es otra cosa que el medio de trabajo por el cual se %ace la aplicacin
de las pruebas. & este medio de trabajo le llamaremos' ,ocumentacin, scripts, resultados esperados, arc%ivos, bases de datos,
configuraciones, adem#s de cualquier software adicional )o servicio* que se vaya a emplear en las pruebas.
Existe un proceso de evaluacin del sistema o bien de un componente que nos ayuda a %acer la determinacin si nuestro producto, en
una fase, llega a satisfacer las condiciones que le %an sido impuestas al inicio de tal fase o meta. & ste proceso se la llama Verificacin.
&dem#s, existe la validacin, que es el proceso de evaluacin de un sistema o componente para que lleguemos a determinar si en el
proceso o al final del desarrollo, nuestro producto cumple con los requisitos especficos.
Es importante considerar que en el proceso de las prueba, lo que vamos a probar, son los requerimientos funcionales del programa, los
no funcionales, adem#s de los aspectos para corromper el sistema, esto lo podemos %acer con el testing y a travs de los momentos de
an#lisis, dise"o, construccin, estabilizacin, liberacin del sistema mismo.
&%ora, Por qu es i!portante probar el software"
&l ser verificado en su funcionalidad, tanto para quien le desarrolla como para quien le recibe, se aumenta la competitividad
comercial
/o las pruebas, se pretende alcanzar mayor calidad en el software
(ermitir# los cambios de la +ecnologa que le va a recibir
Existe la reduccin de costos y riesgos
$e incrementa de productividad
(ermite el 0e1+rabajo
/onsideremos cmo es un proceso de prueba'


PRUE
BA
PRUE
BA
EVALUAC
IN
EVALUAC
IN
DEPURACI
N
DEPURACI
N
MODEL
O DE
FIABILI
DAD
MODEL
O DE
FIABILI
DAD
Es importante considerar que un proceso de prueba tiene dos entradas'
/onfiguracin del software, el cual incluye la especificacin de requisitos del software, la especificacin del dise"o y el cdigo
fuente
/onfiguracin de prueba, lo que incluye un plan y un procedimiento de prueba
&%ora, si el funcionamiento del software en prueba parece ser correcto y los errores encontrados son f#ciles de corregir, podemos
concluir que'
!a calidad y la fiabilidad del software son aceptables, o bien tenemos que'
!as pruebas son improcedentes para revelar los errores serios en el cdigo
En lo que se refiere a las verificaciones de un buen funcionamiento del software, tenemos que tratar de dise"ar las pruebas que
tengan las mayores probabilidades de encontrar el mayor nmero de errores con una mnima cantidad de esfuerzo y, desde luego,
de tiempo.
En ste contexto, tenemos que dentro de los productos de la ingeniera del software, est# a nuestra disposicin un grupo de
pruebas que nos auxilian en ste sentido'
Pruebas de ca#a negra
Esta accin consiste en la realizacin de pruebas a manera de que se compruebe que cada funcin es operativo en el
software
En ste tipo de prueba, tenemos que verificar que el software recibe una entrada y con la accin requerida, se nos
proporciona una salida, la esperada en los requerimientos especificados.
(ara lo que es la prueba de caja negra, se debe realizar un examen meticuloso de los detalles procedimentales, verificando
los caminos lgicos que debe recorrer el programa en su funcionamiento, esto comprobando los bucles y condiciones y
%aciendo un examen el estado del programa en varios puntos
/uando se aplica a profundidad la prueba de caja negra, la primera impresin que se tendr#, es la de tener programas seguros en su
funcionamiento, definir si los caminos son los lgicos para el funcionamiento del programa, se %abr#n desarrollado los casos de prueba
para los mismos caminos lgicos del software, se deben evaluar los resultados.
$e debe considerar el tiempo de ejecucin de la prueba de caja negra, ya que ste es importante para la entrega del producto, por ello
es recomendable que slo se %aga un estudio de los caminos lgicos m#s importantes en el software.
Pruebas de ca#a blanca
Esto consiste en el desarrollo de pruebas de forma que podamos, con las acciones pertinentes, asegurar que la operacin
interna se ajusta a las especificaciones solicitadas y que los componentes internos %an sido probados de forma adecuada
!a prueba de caja blanca es un mtodo de dise"o de casos de prueba, sta usa la estructura de control del dise"o
procedimental para derivar los casos de prueba.
!as pruebas de caja blanca pretenden avalar que'
$e ejecutan al menos una vez todos los caminos independientes de cada mdulo
$e utilizan las decisiones en la parte considerada como verdadera y en su parte falsa
$e ejecuten todos los bucles en sus lmites
$e manejan todas las estructuras de datos interna
En el proceso de las pruebas del software, debemos identificar a los 0esponsables de las actividades de (ruebas
Tarea $esponsable
Elaboracin y ajuste del (lan de (ruebas de &ceptacin
Elaboracin y ajuste de los scripts de pruebas
Elaboracin y ajuste de los casos de pruebas
2ng. en ,esarrollo de $oftware
/sar &ndrade ,uarte
0evisin y aprobacin del (lan de (ruebas de &ceptacin
0evisin y aprobacin de los scripts de pruebas
0evisin y aprobacin de los casos de pruebas
2ng. en ,esarrollo d $oftware
Estefana $antos $#nc%ez
Elaboracin de los datos de prueba 2ng. En sistemas /omputacionales
(edro 3imnez 4amudio
$uministro del ambiente de pruebas 2ng. En $istemas /omputacionales
Esteban !pez !pez
2nstalacin del ambiente de pruebas 2ng. en ,esarrollo de $oftware
Esteban !pez !pez
Ejecucin de las pruebas de validacin 2ng. en ,esarrollo de $oftware
$andra 0icarte !inares
Ejecucin de las pruebas de aceptacin 2ng. en ,esarrollo de $oftware
$andra 0icarte !inares
Evaluacin de las pruebas 2ng. en ,esarrollo de $oftware
5ara Estrada 3u#rez
0eporte de avance de las pruebas 2ng. en ,esarrollo de $oftware
5ara Estrada 3u#rez
0eporte sumario de pruebas 2ng. en ,esarrollo de $oftware
5ara Estrada 3u#rez
El software % su evaluacin por las pruebas respectivas
En el proceso )en ste caso* del plan de prueba, se pretende valorar el siguiente producto
Especificacin del producto'
!a escuela primaria 3os &ntonio +orres %a encargado a la compa"a &sesora e 2ngeniera del software un desarrollo inform#tico
llamado calculadora, a travs de la cual los alumnos que estn tomando clases dentro del #rea de cmputo identifiquen las
operaciones matem#ticas que se llevan desde segundo grado, %asta sexto de primaria.
!as especificaciones del cliente, son'
$oftware que ejecute los siguientes requerimientos funcionales
&PE$'C(&) $EST' *E *&S )+,E$&S
&PE$'C(&) ,+-T(P-(C'C(&) *E *&S )+,E$&S
&PE$'C(&) S+,' *E *&S )+,E$&S
&PE$'C(&) *(V(S(&) *E *&S )+,E$&S
&PE$'C(&) C'-C+-& *E- '$E' *E +) C+'*$'*&
&PE$'C(&) C'-C+-& *E- '$E' *E +) C($C+-&
&PE$'C(&) C'-C+-& *E- '$E' *E +) T$(').+-&
El programa que se especifica estar# dentro de su sistema de red, mismo que ser# aplicado a 67 computadoras que est#n
trabajando en el espacio destinado al servicio del sistemas de cmputo
!a instalacin del sistema es un servicio de red dentro del local de la institucin mencionada
,e acuerdo a un caso de uso, se pretende que el software realice lo siguiente'
El software %a sido desarrollado y a%ora es tiempo de que el trabajo de pruebas sea desarrollado por los encargados del proceso.
El software en s'
pac8age (09:0&5&/29;<
import javax.swing.39ption(ane<
==>utor E;02?-E +900E$/&;9 59;+2E!
=@>aut%or .E;0- +900E4A.&;95
@=
public class /alculadora(rimaria B
public static void main)$tringCD args* B
int opcion6<
int a, b, c<
doB
opcion6 E2nteger.parse2nt)39ption(ane.s%ow2nput,ialog)FE$/-E!& (025&02& 39$E &;+9;29 +900E$ GnF
H FGn I2E;JE;2,9 & !& /&!/-!&,90& ?-E 9(E0& E! $2$+E5& ,E /95(-+9 ,E !& F
H FGn E$/-E!& (025&02& @@@ 39$E &;+9;29 +900E$ @@@ GnF
H FGn &$2:;&+-0& (0-EI&$ K 5&;+E;252E;+9 ,E $9L+M&0E GnF
H FGn @@@ 2;:E;E02& E; ,E$&009!!9 ,E $9L+M&0E @@@F
H FGn @@@ (09LE$90& E52!2& J&!,E4 $2!J& @@@F
H FGn /-&+025E$+0E' ,E/259 GnF
H FGn &!-5;9' E;02?-E +900E$/&;9 59;+2E!F
H FGn &!N7ONN7P7 GnF
HFGn 2;2/2E59$ GnF
HFGn /&!/-!&,90& ?-E 0E&!24& 9(E0&/29;E$ /9; ;-5E09$ E;+E09$ GnF
H FGn @@@ ;-E$+09 5E;- ... @@@ GnF
=@En ;etIeans se crea un proyecto,
@ dentro de la clase 5ain crea un programa, donde se definan dos numeros,
@se resten, se multipliquen, se sumen, se dividan,
@ se realice el calculo ,E! &0E& ,E -; /-&,0&,9,
@ E! /&!/-!9 ,E! &0E& ,E -; /20/-!9, E! /&!/-!9 ,E! &0E& ,E -; +02&;:-!9
@para despues mostrar el resultado en pantalla@=

H FGn N.1 0E$+& GnF
H FGn 6.1 5-!+2(!2/&/29; GnF
H FGn Q.1 $-5& GnF
H FGn R.1 ,2J2$29; GnF
H FGn O.1 /&!/-!9 ,E! &0E& ,E -; /-&,0&,9 GnF
H FGn P.1 /&!/-!9 ,E! &0E& ,E -; /20/-!9 GnF
H FGn S.1 /&!/-!9 ,E! &0E& ,E -; +02&;:-!9 GnGnF
HFGn 2;$+0-//29;E$' GnF
H FGn 2;+09,-/E -;9 ,E !9$ ;-5E09$ ,E !& !2$+& -I2/&,& E; E$+& (&;+&!!& GnF
H FE; /&,& 9(E0&/2T; $E0&; $9!2/2+&,9$ ;-5E09$ E;+E09$, GnF
H F(90 L&J90, 2;:0E$& !9$ ;-5E09$ ,E$(-E$ ,E E!E:20 -;& 9(/29; GnF
H F(9$+E02905E;+E $2:-E !&$ 2;,2/&/29;E$ E; (&;+&!!&, F
H FE$+9 (&0& /9;+2;-&0 E; !& /&!/-!&,90& 9 (&0& &I&;,9;&0 E! (09:0&5&F**<

if )opcion6U7 VV opcion6WEN7*B
switc% )opcion6*B
case N' a E2nteger.parse2nt)39ption(ane.s%ow2nput,ialog)F(or favor, F
H F2ngresa el primer numero para la resta 'F**<
b E2nteger.parse2nt)39ption(ane.s%ow2nput,ialog)F(or favor, F
H F2ngresa el segundo numero para la resta 'F**<
39ption(ane.s%ow5essage,ialog)null,FEl resultado de la resta es'GnFHrestando)a,b**<
brea8<
case 6' a E2nteger.parse2nt)39ption(ane.s%ow2nput,ialog)F(or favor, F
H F2ngresa el primer numero para la multiplicacion 'F**<
b E2nteger.parse2nt)39ption(ane.s%ow2nput,ialog)F(or favor, F
H F2ngresa el segundo numero para la multiplicacion uno'F**<
39ption(ane.s%ow5essage,ialog)null,FEl resultado de la multiplicacion es' F
H F es'GnFHmultiplicando)a,b**<
brea8<
case Q' a E2nteger.parse2nt)39ption(ane.s%ow2nput,ialog)F(or favor, F
H F2ngresa el primer numero para la suma 'F**<
b E2nteger.parse2nt)39ption(ane.s%ow2nput,ialog)F(or favor, F
H F2ngresa el segundo numero para la suma'F**<
39ption(ane.s%ow5essage,ialog)null,FEl resultado de la suma es'GnFHsumando)a,b**<
brea8<
case R' a E2nteger.parse2nt)39ption(ane.s%ow2nput,ialog)F(or favor, F
H F2ngresa el primer numero para la division'F**<
b E2nteger.parse2nt)39ption(ane.s%ow2nput,ialog)F(or favor, F
H F2ngresa el segundo numero para la division'F**<
39ption(ane.s%ow5essage,ialog)null,FEl resultado de la division es'GnFHdividiendo )a,b**<
brea8<
case O' areadelcuadrado)*<
brea8<
case P' areadelcirculo)*<
brea8<
case S' areadeltriangulo)*<
brea8<
X
X
cE2nteger.parse2nt)39ption(ane.s%ow2nput,ialog)F(90 L&J90, F
H F E!2:E !& 9(/29; ,E$E&,&' N J9!JE0 &! (09:0&5& = 6 &I&;,9;&0 E! (09:0&5& F**<
X
w%ile)cEEN*<
X
public static int restando)int a, int b*B
int c E a1b<
return c<
X
public static int multiplicando)int a, int b*B
int c E a@b<
return c<
X
public static int sumando)int a, int b*B
int c E aHb<
return c<
X
public static int dividiendo)int a, int b*B
int c E a=b<
return c<
X
public static void areadelcuadrado)*B
int l E 2nteger.parse2nt)39ption(ane.s%ow2nput,ialog)F(90 L&J90, 2;:0E$&F
H F E! J&!90 ,&,9 &! !&,9 ,E -; /-&,0&,9'F**<
int c E l@l<
39ption(ane.s%ow5essage,ialog)null,FE! 0E$-!+&,9 9I+E;2,9 E; E! F
H F &0E& ,E! /-&,0&,9 E$'GnFHc*<
X
public static void areadelcirculo)*B
int r E 2nteger.parse2nt)39ption(ane.s%ow2nput,ialog)F(90 L&J90, 2;:0E$&F
H F E! J&!90 ,E! 0&,29 ,E! /20/-!9'F**<
float piE Q.NRNPL<
float ac E pi@r@r<
39ption(ane.s%ow5essage,ialog)null,FE! 0E$-!+&,9 9I+E;2,9 E; E! &0E& F
H F ,E! /20/-!9 E$'GnFHac*<
X
public static void areadeltriangulo)*B
int a E 2nteger.parse2nt)39ption(ane.s%ow2nput,ialog)F(90 L&J90 2;:0E$& E! J&!90F
H F ,E !& I&$E ,E! +02&;:-!9'F**<
int b E 2nteger.parse2nt)39ption(ane.s%ow2nput,ialog)F(90 L&J90 2;:0E$& E! J&!90F
H F ,E !& &!+-0& ,E! +02&;:-!9'F**<float piE Q.NRNPL<
float areadeltriangulo E )b@a*=6<
39ption(ane.s%ow5essage,ialog)null,FE! 0E$-!+&,9 E; E! &0E&F
H F ,E! +02&;:-!9 E$'GnFHareadeltriangulo*<
X
X
El cdigo del software incrustado en el programa que se desarroll
(&bservar que en ninguna de las capturas de pantalla aparecen errores de co!pilacin)
!a primer accin del programa
(arte N
(arte dos del cdigo en el programa ;etIeans
(arte Q
(arte R ) y final del cdigo*
!a primer imagen despus de dar 0un
&cciones del programa
!a accin solicitada y a realizar en el programa, es la de la resta
;otemos que los datos de entrada, que en ste caso son' N para la operacin, R para el primer valor, 6 para la operacin de resta y 6
como valor de salida, se presentan adecuadamente
$i mostramos otra accin, tenemos que
$e elige la opcin /#lculo del #rea de un tri#ngulo $e %ace el ingreso con valor de la base< P
$e ingresa el valor de la altura
El resultado esperado se presenta como se program
$i %iciramos lo mismo con el resto de las operaciones, el resultado sera lo programado ya que en la compilacin los errores no existen
&%ora vamos a destruir el software, veamos que sucede con lo anterior
.ago cambio en la clase pblica
El resultado
9tros cambios
&%ora, se supone que nuestro programa %ace distintas operaciones, provoco el cambio en la estructura del cdigo y veamos lo que
sucede
/ambi el signo de resta por divisin, el resultado es el siguiente
Elijo opcin N, que es resta
E! 0E$-!+&,9 ;9 E$ E! E$(E0&,9 K& ?-E E!
(09:0&5& ,2J2,2T E; !-:&0 ,E 0E$+&0
&%ora vamos a ver en qu consiste la prueba a travs de uno de los modelos usados para tal fin
$i usare /552 para nuestro propsito, tendra que
C'P'/(-(T0 ,'T+$(T0 ,&*E- ()TE.$'TE*
(ermite eliminar inconsistencias
0educir duplicaciones.
2ncrementa la claridad y comprensin
;os proporciona una terminologa en comn
(roporciona estilos consistentes
Establece las reglas de construccin uniformes
;os ayuda a mantener componentes comunes
Y/mo se %ace la evaluacin de los procesos mediante /552Z
*isciplina del
,odelo
,odelo 1uente *escripcin ,odelo 1uente
$oftware
El /55 para software
)$M1/55*
Es el modelo que describe lo principios y las pr#cticas
fundamentales de la madurez de procesos software. /55
est# organizado para auxiliar a las organizaciones de
software a mejorar mediante una trayectoria evolutiva,
permitiendo el crecimiento con fines especficos, desde un
ambiente considerado como catico %acia ambientes
maduros y disciplinados en los procesos de software
2ngeniera de
$istemas
5odelo de /apacidad de
2ngeniera de $istemas
)E2&=2$ SQN*
2ntegra a todas las disciplinas de sistemas para que se
identifiquen todas las necesidades tcnicas y de negocio
de una manera muy efectiva
(roceso integrado
de desarrollo de
productos
,esarrollo integrado de
producto /55
)2(, /55*
Es en s un eenfoque sistem#tico para el desarrollo del
producto.
$e considera que una colaboracin oportuna de las
disciplinas que son necesarias en el ciclo de vida del
producto inform#tico. incrementa la satisfaccin del cliente
!os niveles y sus caractersticas comunes
)ivel Sus Caracter2sticas El $esultado
(nicial
Existe la ausencia de gestin de proyectos.
El proceso de software suele ser cambiante e irregular'
(lanes, estimaciones y calidad impredecibles
El rendimiento tiene una dependencia con la capacidad individual de
los miembros del grupo
Eestablecimiento de programas de formacin del personal de
desarrollo y mantenimiento
(roductividad y
calidad
insuficiente
Existe un riesgo
m#ximo ante el
proceso
$epetible
!os procesos de software a%ora se presentan con las caractersticas
de estables y repetibles
!a organizacin puede ya establecer polticas de gerencia de
proyectos y procesos
!a planificacin se basa en proyectos similares, esto es muy
adecuado para disminuir costos y tiempos
Existen est#ndares definidos y exigidos
El proceso tiende a enmarcarse en un sistema de gerencia de
proyectos, est# basado en experiencias pasadas
&un existen la
productividad y
calidad baja
$e sigue en
riesgo alto
*efinido
!os procesos a%ora ya son definidos, esto quiere decir que ya son
estandarizados, documentados e institucionalizados
!os procesos de ingeniera y gerencia, al ser estables, se integran
en uno slo
Existe una comprensin en comn de los procesos, funciones y
responsabilidades para el proyecto de pruebas
!a organizacin desarrolladora conserva un grupo consagrado a la
definicin, mejoramiento y difusin del proceso de 2ngeniera de
$oftware
$e presenta la
productividad y
calidad media
0iesgo medio
.estionado
!os procesos a%ora ya pueden ser medibles o cuantificables
(roductividad y calidad se miden y registran, esto se %ace para cada
proyecto de la organizacin
$e establecen las metas cuantitativas de la calidad del software
5ediante el uso de las mtricas de software, es ptimo crear una base
cuantitativa para la evaluacin y estimacin en proyectos similares y
futuros
$e presenta la
productividad y
la alta calidad
El riesgo ya es
mnimo
&pti!i3ado
!os procesos se mejoran consecutivamente
!a organizacin persigue el nivel m#ximo de capacidad de trabajo
$e %ace la incorporacin de nuevas tecnologas y mtodos para
mejorar los procesos en prueba
$e presenta ya
la productividad
y la calidad total.
;o existe ningn
riesgo
&+E;+&5E;+E
Enrique +orrescano 5ontiel

Potrebbero piacerti anche