You are on page 1of 12

Evaluacin de Sistemas Curso 2006 - 1 / 12

EVALUACION DE SISTEMAS
Verificacin y Validacin
Verifcacin y Validacin
Objetivos
La verifcacin vrs. la validacin
El roceso de V ! V
La verifcacin est"tica y din"mica
V ! V est"ticas y din"micas
#ruebas de ro$ramas
%ios de ruebas
Las metas de V ! V
La confan&a de V ! V
'aciendo ruebas y debu$eando
El roceso de debu$ear
La lanifcacin de V ! V
El modelo (V( de desarrollo
La estructura de un lan de ruebas de so)t*are
Las insecciones de so)t*are
El +,ito del roceso de inseccin
Las insecciones y ruebas
Las insecciones de ro$ramas
Las recondiciones de la inseccin
El roceso de inseccin
El rocedimiento de inseccin
Los e-uios de inseccin
Listas de control de insecciones
Cosas -ue comrobar durante una inseccin
La tasa de inseccin
.n"lisis est"tico automati&ado
Cosas comrobadas or el an"lisis est"tico
Las etaas del an"lisis est"tico
.n"lisis est"tico de L/0%
El uso del an"lisis est"tico
1esarrollo de so)t*are con en el en)o-ue 2Cleanroom2
El roceso Cleanroom
Las caracter3sticas del roceso Cleanroom
1esarrollo incremental
Esecifcacin )ormal e insecciones
Los e-uios del roceso de Cleanroom
La evaluacin del roceso Cleanroom
#untos claves
Evaluacin de Sistemas Curso 2006 - 2 / 12
Verificacin y Valiacin
.se$urar -ue el so)t*are alcance los necesidades de los usuarios
Objetivos
/ntroduccin a la verifcacin y la validacin y discutir la distincin entre ellas
1escribir el roceso de inseccin de ro$ramas y su rol en la verifcacin y
validacin
E,licar el an"lisis est"tico como una t+cnica de verifcacin
1escribir el roceso (Cleanroom( como un roceso del desarrollo de so)t*are
La verificacin vs la validacin
Verifcacin:
4Estamos construyendo el roducto correctamente5
El so)t*are debe con)ormarse a su esecifcacin
Validacin:
4Estamos construyendo el roducto correcto5
El so)t*are debe 6acer lo -ue el usuario realmente re-uiere
El !roceso de V " V
Es un roceso -ue abarca todo el ciclo de vida de un sistema - El roceso V ! V
tiene -ue ser alicado a cada etaa del roceso de so)t*are.
%iene dos objetivos rinciales7
o 1escubrir de)ectos en un sistema
o La valoracin de si el sistema es utili&able o no8 en una situacin oerativa
.l fnal del roceso evaluativo8 el evaluador debe decidir sobre7
o #ermanecer con su sistema
o /nvertir en mejorar8 amliar caacidades8 restaciones8 etc
o Sustituir con un sistema nuevo -ue incorore la demanda actual.
El conjunto de ociones se basar" ara la solucin en la relacin costo-
benefcio
Evaluacin de Sistemas Curso 2006 - 3 / 12
La verificacin est#tica y din#$ica
El an"lisis est"tico es una estrate$ia -ue intenta obtener in)ormacin acerca de
las ejecuciones de un ro$rama a artir de un conjunto de simulaciones
simblicas del mismo.
Inspecciones de software /nvolucra el an"lisis de la reresentacin est"tica del
sistema ara descubrir roblemas 9verifcacin est"tica:
o #ueden ser comlementadas con el an"lisis de documentos y cdi$o
basado en 6erramientas
Pruebas de Software /nvolucra ejecutar el sistema y observar el )uncionamiento
del roducto 9verifcacin din"mica:
o El sistema es ejecutado con datos de rueba y su )uncionamiento es
observado
V " V est#ticas y din#$icas
Verifcacin est"tica
Esecifcacin de re-uerimientos
1ise;o de alto nivel
Esecifcacin )ormal
1ise;o detallado
#ro$rama
#rototio
Validacin din"mico
Evaluacin de Sistemas Curso 2006 - 4 / 12
%r&ebas de !ro'ra$as
#uede revelar la resencia de errores ero 0<0C. su ausencia
<na rueba e,itosa es una rueba -ue revela uno o m"s errores
Es la =nica t+cnica ara la validacin de los re-uerimientos no )uncionales
1eben ser usadas conjuntamente con la verifcacin est"tica ara roveer
cobertura comleta de V ! V
Ti!os de !r&ebas
#ruebas de de)ectos
o Las ruebas son dise;adas ara detectar de)ectos del sistema
o <na rueba de de)ectos e,itosa es una -ue revela la resencia de
de)ectos en un sistema
#ruebas estad3sticas
o Las ruebas son dise;adas ara re>ejar la )recuencia de los in$resos de
los usuarios. <sadas ara la estimacin de fabilidad y rendimiento.
Las $etas de V " V
La verifcacin y validacin deben establecer confan&a -ue el so)t*are es ato
ara un rosito
Esto 0O si$nifca -ue el so)t*are es libre de de)ectos
El so)t*are tiene -ue ser sufcientemente bueno ara su uso intencionado y el
tio de uso determina -ue nivel de confan&a es necesario
La confian(a de V " V
1eende del rosito del sistema8 las e,ectativas de los usuarios y el
ambiente del mercado.
El rosito del sistema
o El nivel de confan&a deende en -ue tan cr3tico es el so)t*are a una
or$ani&acin
Las e,ectaciones de los usuarios
o Los usuarios ueden tener e,ectaciones bajas de ciertos tios de
so)t*are
.mbiente de mar?etin$
o #uede ser m"s imortante lan&ar un roducto temrano -ue encontrar
de)ectos en el roducto
)aciendo !r&ebas y deb&'eando
Las ruebas de de)ectos y el debu$eo son rocesos distintos
Verifcacin y validacin involucran establecer la e,istencia de de)ectos en un
ro$rama
1ebu$ear involucra locali&ar y rearar esos errores
1ebu$ear involucra )ormular una 6itesis sobre el )uncionamiento del
ro$rama y desu+s robar la 6itesis ara encontrar el error en el sistema
Evaluacin de Sistemas Curso 2006 - 5 / 12
El !roceso de deb&'ear
La !lanificacin de V " V
La lanifcacin rudente es re-uerida ara )acilitar y 6acer m"s e)ectivo el
roceso de 6acer ruebas y inseccin
La lanifcacin debe eme&ar temrano en el roceso de desarrollo
El lan debe identifcar el balance entre la verifcacin est"tica y las ruebas
La lanifcacin de ruebas involucra los est"ndares ara el roceso de 6acer
ruebas en lu$ar de describir las ruebas
El $odelo *V* de desarrollo
La estr&ct&ra de &n !lan de !r&ebas de soft+are
El roceso de 6acer ruebas
El rastreo de re-uerimientos
Las cosas a robar
El calendario de ruebas
Los rocedimientos ara anotar las ruebas
Los re-uerimientos de 6ard*are y so)t*are
Las restricciones
Las ins!ecciones de soft+are
/nvolucran ersonas e,aminando el cdi$o )uente o otra reresentacin del
ro$rama con la meta de descubrir anomal3as y de)ectos
0o re-uiere la ejecucin de un sistema@ or eso ueden ser usadas antes de la
imlementacin
Evaluacin de Sistemas Curso 2006 - 6 / 12
Esta t+cnica uede ser alicada a al$una reresentacin del sistema
9re-uerimientos8 dise;o8 datos de ruebas8 etc.:
<na t+cnica muy e)ectiva ara descubrir los errores
El ,-ito del !roceso de ins!eccin
Auc6os de)ectos ueden ser descubiertos durante solo una inseccin. Cuando
se 6acen las ruebas8 un de)ecto uede enmascarar otro de)ecto8 or eso
varias corridas son necesarias.
En las insecciones se uede reutili&ar el conocimiento de dominios y de
ro$ramacin8 or eso es robable -ue los e,aminadores detecten los tios de
errores -ue sur$en com=nmente.
Las ins!ecciones y !r&ebas
Las insecciones y ruebas son t+cnicas de la verifcacin comlementarias y
no contrarias
.mbas deben ser usadas durante el roceso de V ! V
Las insecciones ueden revisar la con)ormidad con una esecifcacin ero no
ueden revisar la con)ormidad con los re-uerimientos reales de los usuarios
Las insecciones no ueden revisar los re-uerimientos no )uncionales como
rendimiento8 utilidad8 etc.
Las ins!ecciones de !ro'ra$as
<n en)o-ue )ormali&ado ara e,aminar documentos
'ec6os e,l3citamente ara la deteccin 9no la correccin: de de)ectos
Los de)ectos ueden ser errores l$icos8 anomal3as en el cdi$o -ue ueden
indicar una condicin errnea 9ej.8 una variable no iniciali&ada: o )alta de
con)ormidad con un est"ndar
Las !recondiciones de la ins!eccin
<na esecifcacin recisa tiene -ue estar disonible
Los miembros del e-uio tienen -ue estar )amiliari&ados con los est"ndares de
la or$ani&acin
El cdi$o sint"cticamente correcto tiene -ue estar disonible
<na lista de control de errores debe ser rearada
La administracin tiene -ue acetar -ue la inseccin aumente los costos en el
roceso de so)t*are8 en las rimeras etaas.
La administracin no debe utili&ar las insecciones ara la evaluacin del
ersonal
El !roceso de ins!eccin
Evaluacin de Sistemas Curso 2006 - 7 / 12
#lanifcacin
Besumen
#rearacin individual
Beunin de inseccin
Volver a %rabajar
Se$uimiento
El !rocedi$iento de ins!eccin
El resumen del sistema es resentado al e-uio de la inseccin
El cdi$o y los documentos asociados son distribuidos al e-uio de inseccin
or adelantado
Se da la inseccin. 1urante la inseccin los errores descubiertos son
anotados
Las modifcaciones son 6ec6as ara rearar los errores descubiertos
La reinseccin uede o no ser re-uerida
Los e.&i!os de ins!eccin
Constan de or lo menos C miembros
El autor del cdi$o -ue es inseccionado
<n insector -ue se encar$a de encontrar errores8 omisiones e inconsistencias
<n lector -ue lee el cdi$o al e-uio
<n moderador -ue reside sobre la reunin y anota los errores descubiertos
Otros roles son 2Escritor2 y 2Aoderador #rincial2
Listas de control de ins!ecciones
<na lista de control de errores comunes debe ser usada ara manejar la
inseccin
La lista de control de errores deende del len$uaje de ro$ramacin
La lista es m"s lar$a si la comrobacin es de un len$uaje d+bil
Ejemlos7 iniciali&acin8 el nombramiento de constantes8 la terminacin de los
bucles8 los l3mites de la matrices8 etc.
Evaluacin de Sistemas Curso 2006 - 8 / 12
Cosas .&e co$!robar d&rante &na ins!eccin
Tipo de falla Cosas para comprobar
Dallas en los datos 4Est"n iniciali&adas todas las variables antes de -ue se usa
sus valores5
4%ienen nombres todas las constantes5
4El limite in)erior de las matrices debe ser 08 E o al$o m"s5
4El limite suerior de las matrices debe ser el tama;o de la
matri& or %ama;o - E5
4Si usa cadenas de caracteres8 6a asi$nado e,l3citamente
un delimitador5
Dallas de control 4#ara cada e,resin condicional8 es correcta la condicin5
4Es osible -ue cada ciclo termine5
4Est"n correctamente a$ruadas las e,resiones
comuestas5
4En e,resiones de caso9case:8 tienen e,resiones todos los
casos5
Dallas de entradaFsalida 4Se usan todas las variables de entrada5
4Se asi$nan todas las variables de salida antes de -ue sean
retornadas5
Dallas de inter)a& 4%ienen el n=mero correcto de ar"metros todas las llamadas
a )unciones y rocedimientos5
4Concuerdan los tios de ar"metros )ormales con los
reales5
4%ienen el orden correcto los ar"metros5
4Si los comonentes acceden a memoria comartida8 tienen
el mismo modelo de estructura -ue la memoria comartida5
Dallas del manejo del
almacenamiento
4Si se modifca una estructura vinculada8 6an sido
reasi$nados correctamente todos los v3nculos5
4Si se utili&a almacenamiento din"mico8 6a sido asi$nado
correctamente el esacio5
4Se desasi$na e,l3citamente el esacio cuando ya no se
re-uiera5
Dallas del manejo de las
e,ceciones
4Se manejan todas las condiciones osibles de error5
La tasa de ins!eccin
G00 e,resionesF6ora durante la ersectiva $eneral 9overvie*:
E2G e,resionesF6ora durante la rearacin individual
H0-E2G e,resionesF6ora uede ser inseccionados
#or eso8 la inseccin es un roceso caro
#ara inseccionar G00 l3neas se cuesta aro,imadamente C0 ersona-6oras de
es)uer&o
An#lisis est#tico a&to$ati(ado
.nali&adores est"ticos son 6erramientas de so)t*are ara rocesar el cdi$o
)uente
#arsean el cdi$o )uente del ro$rama y tratan de descubrir las condiciones
-ue roducen errores y llaman la atencin del e-uio de V ! V
Auy e)ectivos como 6erramientas ara las insecciones. Es solo un
sulemento8 no un reemla&o ara las insecciones
Evaluacin de Sistemas Curso 2006 - 9 / 12
Cosas co$!robadas !or el an#lisis est#tico
Tipo de falla Cosa comprobada por el anlisis es!!ico
Dallas de datos Variables usadas antes de la iniciali&acin
Variables declaradas ero nunca usadas
Variables asi$nadas dos veces ero nunca usadas
entre las asi$naciones
#osibles violaciones de los l3mites de las matrices
Variables no declaradas
Dallas de control Cdi$o no alcan&able
Bamas incondicionales en bucles
Dallas de entradasFsalidas %ios de ar"metros -ue no concuerdan
0=mero incorrecto de ar"metros
Dunciones llamadas ero no usadas
Dunciones y rocedimientos no llamadas
Dallas del manejo del
almancenimiento
#ointers no asi$nados
.ritm+tica con ointers
Las eta!as del an#lisis est#tico
Anlisis del fujo de control. Iusca ciclos con multiles untos de salida o
entrada8 encuentra cdi$o no alcan&able8 etc.
Anlisis del uso de datos. 1etecta variables no iniciali&adas8 variables usadas
dos veces sin nin$una asi$nacin entre los usos8 variables declaradas ero
nunca usadas8 etc.
Anlisis de interfaces. Comrueba la consistencia de las declaraciones de las
rutinas y rocedimientos y su uso
Anlisis del fujo de informacin. /dentifca las deendencias de las variables de
salida. 0o detecta anomal3as8 ero substrae la in)ormacin ara la inseccin o
revisin de cdi$o
Anlisis de caminos. /dentifca caminos a trav+s del ro$rama y visuali&a las
e,resiones ejecutadas en ese camino. Ctil en otencia durante el roceso de
revisin
Los =ltimos dos rocesos $eneran cantidades vastas de in)ormacin. %iene -ue
ser usados con cuidado.
El &so del an#lisis est#tico
#articularmente valioso cuando se usa un len$uaje como C -ue tiene tios
d+biles. #or eso muc6os errores no son detectados or el comilador
Aenos rentable ara len$uajes como Java8 -ue tienen c6e-ueos )uertes de
tios y or eso se ueden detectar muc6os errores durante la comilacin
Desarrollo de soft+are con en el enfo.&e /Cleanroo$/
El nombre es derivado del roceso 2Cleanroom2 -ue se usa en )abricacin de
semiconductores. El objetivo es la revencin de los de)ectos en lu$ar de la
deteccin y eliminacin de los de)ectos
El roceso de desarrollo de so)t*are es basado en7
o Es desarrollo incremental
o La esecifcacin )ormal
Evaluacin de Sistemas Curso 2006 - 1" / 12
o La verifcacin est"tica usando ar$umentos de la correccin
9(correctness(:
o #ruebas estat3sticas ara determinar la fabilidad del ro$rama
El !roceso Cleanroo$
Dormalmente esecifcar el sistema
1esarrollar el erfl oeracional
1efnir los incrementos de so)t*are
Construir el ro$rama estructurado
Dormalmente verifcar el cdi$o
/nte$rar el incremento
1ise;ar ruebas estat3sticas
#robar el sistema inte$rado
Evaluacin de Sistemas Curso 2006 - 11 / 12
Las caracter0sticas del !roceso Cleanroo$
Esecifcacin )ormal usando un modelo de transiciones entre estados
1esarrollo incremental
#ro$ramacin estructurada -- se usa elementos limitados de control y
abstraccin
Verifcacin est"tica usando insecciones ri$urosas
#ruebas estat3sticas del sistema
Desarrollo incre$ental
Establecer los re-uerimientos
Esecifcacin )ormal
Esecifcacin con$elada
1esarrollar incremento de so)t*are
Entre$ar el so)t*are
Solicitud de cambio de re-uerimientos
Es!ecificacin for$al e ins!ecciones
El modelo basado en estados es una esecifcacin del sistema. El roceso de
inseccin comara el ro$rama con este modelo
El en)o-ue de ro$ramacin es defnido ara -ue la corresondencia entre el
modelo y el sistema sea clara
.r$umentos matem"ticos 9no ruebas: son usados ara aumentar la confan&a
en el roceso de inseccin
Los e.&i!os del !roceso de Cleanroo$s
Equipo de especifcacin. Besonsable de desarrollar y mantener la
esecifcacin del sistema
Equipo de desarrollo. Besonsable de desarrollar y verifcar el so)t*are. El
so)t*are 0O es ejecutado ni comilado durante este roceso
Equipo de certifcacin. Besonsable de desarrollar un conjunto de ruebas
estat3sticas ara robar el sistema desu+s del desarrollo. Se usan modelos del
crecimiento de fabilidad cuando la fabilidad se vuelve acetable
La eval&acin del !roceso Cleanroo$
Los resultados en /IA 6an sido muy imresionantes con ocas )altas
descubiertas en sistemas entre$ados
Evaluacin de Sistemas Curso 2006 - 12 / 12
Evaluaciones indeendientes muestran -ue el roceso no es m"s caro -ue
otros en)o-ues
Aenos errores -ue en un roceso 2tradicional2 de desarrollo
0o es claro cmo este en)o-ue uede ser trans)erido a un ambiente con
in$enieros menos califcados o altamente motivados
%&ntos claves
La verifcacin y la validacin no son la misma cosa. La verifcacin muestra
con)ormidad con una esecifcacin@ la validacin muestra -ue el ro$rama
cubra las necesidades del cliente
Los lanes de rueba deben ser creados ara diri$ir el roceso de rueba
Las t+cnicas de verifcacin est"tica involucran e,aminacin y an"lisis del
ro$rama ara la deteccin de errores
Las insecciones de ro$ramas son muy e)ectivas ara descubrir los errores
En las insecciones8 el cdi$o de los ro$ramas es revisado or un e-uio
e-ue;o ara locali&ar las )altas en el so)t*are
'erramientas de an"lisis est"tico ueden descubrir anomal3as -ue ueden ser
una indicacin de )allas en el cdi$o
El roceso de desarrollo Cleanroom deende del desarrollo incremental8
verifcacin est"tica y ruebas estat3sticas
Iiblio$ra)3a
Software Engineering or /an Sommerville

You might also like