VERIFICACIN &
VALIDACIN Y
PRUEBAS UNITARIAS
GMV Pgina2 MsterdeIngenieradeSW
CONTENIDOS
ProcesosdeVerificacin
1. ProcesosdeIngenieraSoftware
2. ActividadesenVerificacinyValidacin
3. RelacionesconprocesosRAMS
4. VerificacinyValidacinIndependiente
5. ProcesosdeVerificacin
Pruebasunitarias
1. Fasedepruebasunitarias
2. Anlisisestticoydinmico
GMV, 2009Propertyof GMV
All rightsreserved
PROCESOS DE
VERIFICACIN
GMV Pgina4 MsterdeIngenieradeSW
ISO/IEC 12207- PROCESOS CICLO DE VIDA
Acquisition
Acquisitionpreparation
Supplier selection
Contract agreement
Supplier monitoring
Customer acceptance
Supply
Supplier tendering
Productrelease
Productacceptancesupport
Engineering
Requirements elicitation
Systemrequirements analysis
Systemarchitectural design
Softwarerequirements analysis
Softwaredesign
Softwareconstruction
Softwareintegration
Softwaretesting
Softwareinstallation
Systemintegration
Systemtesting
Systemandsoftwaremaintenance
Supporting
Quality assurance
Verification
Validation
Joint review
Audit
Productevaluation
Usability
Documentation
Configuration management
Problemresolutionmanagement
Changerequest management
SUPPORTING
PRIMARY
Operation
Operational use
Customer support
Management
Organisational alignment
Organisational management
Project management
Quality management
Risk management
Measurement
Process Improvement
Processestablishment
Processassessment
Processimprovement
Resource and Infrastructure
Humanresourcemanagement
Training
Knowledgemanagement
Infrastructure
Reuso
Asset Management
Reuseprogammanagement
DomainEngineering
ORGANISATIONAL
P
r
u
e
b
a
s
C
d
i
g
o
D
i
s
e
o
R
e
q
u
i
s
i
t
o
s
1998
xito
1996
Fracaso
1994
Coste
GMV
28%
Histrico de proyectos (1994-2000)
49% 23%
Pgina5 MsterdeIngenieradeSW
POR QU?
El informeCHAOSdeStandishGroup
examinhasta30.000proyectosen 2000
EEUU desde1994
demuestraquelasmejorasenla
gestindel procesoyel
cumplimientodeestndaresy
buenasprcticasaumentael ndice
deproyectosfinalizadosconxito.
Deteccinycorreccintempranade
erroresesvital, reducecostesy
tiempo
El costedecorregir unerror software
semultiplicasegnseprogresaen
sudesarrollo.
45%- 50%delosdefectostienensu
origenenlafasederequisitos.
Diseo
Pruebas
50
45
40
35
30
relativo para 25
correcciones 20
15
10
5
0
Tipodedefecto
26% 46% 28%
Finalizados
27% 33% 40%
16% 53% 31%
Coste relativo 40% correccin de errores por fase en 0% 20% 60% 80% 100%
GMV Pgina6 MsterdeIngenieradeSW
CICLO DE VIDA SOFTWARE
V&V
Procesodedesarrolloqueempleamtodosrigurosospara
evaluar lacorreccinycalidaddel productoalolargode
todosuciclodevida.
GMV
VERIFICACIN
Verificacin: Estamos
fabricandocorrectamenteel
Software?
Esel procesodepruebadel
softwareparaasegurar que
cumplesuespecificacin.
Esteprocesoaseguraqueel
softwarefabricadosecomporta
comoseesperaydeacuerdoalas
expectativasdel cliente.
DefinicinANSI/IEEE Validacin:
'theprocessof evaluatingasystem
or component during or at the end
of the development process to
determinewhether it satisfies
specifiedrequirements'.
MsterdeIngenieradeSW Pgina9
GMV
ACTIVIDADES DE VERIFICACIN
Technical reviews,
walkthroughs andsoftware
inspections
checkingthat software
requirementsaretraceable
touser requirements;
checkingthat design
componentsaretraceable
tosoftwareRequirements;
unit testing;
integrationtesting;
systemtesting;
acceptancetesting;
audit.
MsterdeIngenieradeSW
Pgina
10
GMV
Pgina
11 MsterdeIngenieradeSW
V&V PREVENCIN Y ELIMINACIN DE FALLOS
FAULT ERROR FAILURE FAULT
activation propagation causation
Fault preventiontechniquescanbeusedinanyengineeringor
development activitiestoprevent faults.
Fault tolerancetechniquesaredirect mechanismstobe
implementedinthedesignandthecodeinorder totoleratefaults.
Toverify that tolerancetechniquesarebeingusedasdesignedfor,
fault removal techniquesareneeded: detecteddeviationfrom
requirementsspecification.
GMV
Pgina
13 MsterdeIngenieradeSW
PROCESOS RAMS Y PROCESOS DE
DESARROLLO
Laindependenciaesunacaractersticareconocidacomo
altamentepositivaenmuchasreasdelasociedad
Por ejemplopodereslegislativo, ejecutivoylegislativo; comits
mdicos, jurados, etc.
IndependenciaaadealaV&V importantesventajas:
Separacindeintereses
Seevitanconflictosdeinteresesinternosenunaorganizacin. Una
organizacinindependientegarantizaquerequisitosimportantesno
seanignoradosenel procesodetomadedecisiones
Diferentespuntosdevista
Unasegundaopininsiempreesinteresanteparaeliminar
ambigedadesuomisiones
Efectividadyproductividad
LasactividadesdeV&V sonllevadasacabopor personal experto, con
competenciasespecficasenel readeV&V
GMV
Pgina
16 MsterdeIngenieradeSW
TIPOS DE INDEPENDENCIA
Laindependencianoesmuroinfranqueableentreel equipode
desarrolloyequipodeV&V, fomentamosunentornode
participacinyaprendizajehaciaunobjetivocomn, conseguir el
xitodel proyecto
GMV
Pgina
17 MsterdeIngenieradeSW
V&V INDEPENDIENTE
20
34
108
35
GMV
Pgina
18 MsterdeIngenieradeSW
V&V INDEPENDIENTE METEOSAT
MSG
128 69
xito
0% 20% 40% 60%
Fallidas
Total
Procedimientos de
anlisis
Pruebas ejecutadas
www.esa.int
MSG-Enero/2006
Proporcionaunaplataforma3OLCI ElectronicUnit: procesossoftware
SENTINEL
ICM SW
GMV
Pgina
19 MsterdeIngenieradeSW
ESTNDARES Y NORMAS
ReferenciasanormasyestndaresrelacionadosconVV
LenguajedeprogramacinAda
Perfil Ravenscar
ArquitecturaERC32
Estascaractersticasimplican:
UsodeherramientasdiseadasparaAda
Compilador yRTSsloconfuncionalidadesRavenscar
Usodesimulador deERC32
MsterdeIngenieradeSW
Pgina
25
GMV
SENTINEL 3 OLCI ICM SW
OLCI Mission
Visiblelightimagesof the
oceans, coastal waters& land
vegetation
Continuationof therelevant
missionof MERISonENVISAT
(GMV OBSW)
Specification, designand
development of onboardICM SW
(Instrument Control Module)
Basedonlatest generationTAS-I
LabenstandardNEWERC-32
Processor Moduleboard(ERC-32
singlechipTSC695F CPU).
1553-MIL-STD, SpaceWireand
RS-422links.
ObjectOrientedMethodology:
UML usingTogether.
GNAT Profor ERC-32(Ada95)
withRavenscar Profile(RCM)
MsterdeIngenieradeSW
Pgina
26
GMV
ENTRADAS A PRUEBAS UNITARIAS
Entradasalafasedecodificacinypruebas:
DiseodetalladoHRT-UML
Plandeverificacinyvalidacin. Describe:
Herramientasausar
Operacionesdeverificacin
Requisitosdecoberturadecdigo(Anlisisdinmico)
Reglasdecodificacin. Incluye:
Normasyoperacionesdel lenguajeAda(Anlisis
Esttico)
Manualesoguasdelasherramientasusadas
MsterdeIngenieradeSW
Pgina
27
GMV
ACTIVIDADES DE PRUEBAS UNITARIAS
ActividadesparacadaunodelospaquetesAda:
Anlisisestticodecdigo, procesodemtricasde
acuerdoconel plandecalidad
Comprobacionesdereglasdeprogramacin
Implementacinyejecucindelapruebaunitaria
Anlisis dinmicodel cdigo
MsterdeIngenieradeSW
Pgina
28
Reglasdecodificacinincluyennormasyoperacionesdel
lenguajeAdaquesedebenusar enlaimplementacin
8ensoftwarenocrtico(CategoraC)
5ensoftwarecrtico(CategoraB)
NMximodecomplejidadciclomtica
15ensoftwarenocrtico(CategoraC)
12ensoftwarecrtico(CategoraB)
NMximodesentenciasdeunsubprograma(max. 250)
NMximodesentenciasenunficherofuente(max. 1500)
Porcentajemnimo decomentariosencadafichero(min.
20%-max.200%)
Herramienta: AdaControl
MsterdeIngenieradeSW
Pgina
29
GMV
PROGRAMA DE MTRICAS
AdaControl: normasdeprogramacin
GnatCheck: normasdeprogramacinespecfica
Gnat PrettyPrinter: formatoysintxis
MsterdeIngenieradeSW
Pgina
33
GMV
ENTORNO DE EJECUCIN DE PRUEBAS
MsterdeIngenieradeSW
Pgina
34
TSIM program
TSIM simulationthread
AdaTEST
Procedure
TSIM
SRAM
Test resultsdata
base
APSW
under
test
RS422
LI NUX
test results
standardoutput of
TSIM program
GMV
IMPLEMENTACIN Y EJECUCIN
Entornodepruebas:
AdaTest95paragenerar pruebas(programaejecutableystubs)
TSIM (simulador deERC32) paraejecutar pruebas
TSIM escribeel resultadoensusalidaestandar.
CadapruebaunitariadeAdaTest sedivideenvariostest cases.
Elegir valoressignificativoscomoparmetrosdeentrada(limtrofes,
fueraderango)
Cadatest casedesarrollalassiguientesoperaciones:
1.
2.
3.
4.
5.
6.
Inicializacindelosvaloresglobales
Configuracindelosstubsausar
Inicializacindelosparmetrosinein-out
Ejecucindemdulobajoprueba
Comprobacindelosvaloresoutein-out
Comprobacindelosvaloresglobales
MsterdeIngenieradeSW
Pgina
35
GMV
ANLISIS DINMICO
Objetivo: Verificacinderequisitosdecobertura.
Losrequisitosdecobertura(ESA) dependendelacriticidad
del software:
CategoraC: 100%deinstruccionesejecutadasencada
prueba
Ejecucindeinstruccionessimplesyal menosuna
ramadelascomplejas(100%statement coverage)
Ejemploinstruccincompleja: 100%coberturasi se
ejecutaal menosunadesusramas.
if Data=1then
...
else
...
endif
MsterdeIngenieradeSW
Pgina
36
GMV
ANLISIS DINMICO
MsterdeIngenieradeSW
Pgina
37
CategoraB: 100%dedecisionesejecutadasencadaprueba
(100%cobertura)
Decisionesbooleanas: al menosunavez cadaunodelos
valores. (if, elif yexit when)
Decisionesdebucle: ejecucincompletadeunaiteraciny
terminacinnormal del bucle. Ej. Terminacinnoesperada
(50%cob.)
for I in1..10loop -- Exit expectedinI =10
endloop;
Otrasdecisiones: ejecucincompletadecadaunadelas
clausulasdeinstruccionescaseyselect. Ejemplo: 100%
coberturaparaCasestatements
Herramienta: AdaTest conel mdulobajopruebapreviamente
instrumentalizado.
GMV, 2009Propertyof GMV
All rightsreserved
Gracias.