Vous êtes sur la page 1sur 38

SEMINARIO DE

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 procesodedeterminar si los


productosresultantesdeunafase
del CiclodeVidaSoftware(CVS)
cumplenlosrequisitos
establecidosenlafaseanterior
El productoresultantees
completo, consistenteycorrecto
paracomenzar lasiguientefase
MsterdeIngenieradeSW Pgina7
GMV Pgina8 MsterdeIngenieradeSW
VERIFICACIN EN CICLO DE VIDA PROYECTOS
GMV
VALIDACIN
Validacin: Estamosfabricandoel
Softwarecorrecto?

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: defect (either hardwareor software) withinasystemor user


procedure.
Error: detecteddeviationfromrequirementsspecification.
Failure: softwarecomponentinabilitytoperformarequiredfunction(either
lossof functionor malfunctions)
CAUSAS DE FALLOS

SWrequirementsareincorrect, incompleteor ambiguous, e.g. unhandled


statesor unhandledenvironmental conditions, non-conformanceinthe
softwareor deficienciesinthecode(theycausesoftwarefaults)
SWrequirementshavenotbeenimplemented, validatedandverified
properly.
SWhasnot beentestedenoughor hasbeentestedinadequately.
SoftwareDefects.
Softwareisusedincorrectly.
Poor designor implementation.
rareeventscanleadtouncontrolledstates.
GMV
Pgina
12 MsterdeIngenieradeSW
PROCESOS GESTIN DE FALLOS

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

Anlisis dedependencia(RAMS) seimplementacomoun


procesoindependienteointegradosenel procesode
desarrollo
RequisitosRAMSimpactanlasactividadesV&V
GMV
Pgina
14 MsterdeIngenieradeSW
PROCESOS RAMS Y PROCESO V&V
GMV
Pgina
15 MsterdeIngenieradeSW
V&V INDEPENDIENTE

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

ClsicaV&VI - Incluyetcnica, financieraydegestin


Unorganizacinoempresaindependientedelossuministradoresdel
softwarellevaacaboactividadesdeverificacinyvalidacindela
especificacin, diseoycdigodel producto
InternaV&VI Independenciatcnica
Lasactividadessonrealizadaspor personal delamismaorganizacin,
formandopartedel mismoequipodeproyectoysinparticipar enel
procesodedesarrollo: especificacin, diseoycdigo
ModificadaV&VI - Independenciatcnicayfinanciera
LasactividadesdeV&V serealizancomoproyectoindependientecon
supropiopresupuesto

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

IEEE Standardfor SoftwareVerificationandValidation. IEEE Std


1012-1998
SPICE (SoftwareProcessCapability Determination)
Comitinternacional deestndaresdeingenieradesoftware
ISO/ICE J TC 1/SC 7
paraevaluacindelos
ISO/IECTR 15504-1:1998(E), InformationTechnology- Software
LifeCycleProcesses
SPiCE for SPACE (S4S) Assessment Model. Cmoimplementar la
evaluacinymejoradeprocesos. Incluyenuevosprocesosde
soporteosupport, eincluyeV&VI
ESA Guidefor Independent SoftwareVerificationandValidation.
Issue2J an. 2009
GMV, 2009Propertyof GMV
All rightsreserved
PRUEBAS
UNITARIAS
ICM SW
GMV
Pgina
21 MsterdeIngenieradeSW
OBJETIVOS
verificanque Electronic y

LaspruebasunitariasSENTINEL 3OLCI lossubsistemas Unit:componentes


softwarefuncionanaisladoscorrectamente: seejecutasatisfactoriamente
lafuncinqueselehaasignado, el flujodecontrol escorrectodentrodel
mduloylosdatossecalculanconlaprecisinyenel tiemporequerido.
Secomplementancon
Anlisisestticos(reglasdecodificacinyprogramademtricas)
Anlisisdecoberturaparacomprobar queefectivamenteseejecutanlas
reasdeseadasdel SUT (SWUnder Test)
nalisisdeprestacionesparaestudiar el consumoderecursos(CPU,
memoria, etc.)
GMV
Pgina
22 MsterdeIngenieradeSW
PROCESO DE PRUEBAS UNITARIAS
SENTINEL 3OLCI ElectronicUnit:
ICM SW
GMV
Pgina
23 MsterdeIngenieradeSW
TCNICAS DE PRUEBAS
GMV
Pgina
24 MsterdeIngenieradeSW
PRUEBAS DE REGRESIN

SENTINEL 3OLCI ElectronicUnit:


ICM SW
Pruebas de regresinpermiteejecutar automticamentetodos
laspruebasnecesariasparaprobar losmdulosmodificados,
analizandolosresultadosdelaejecucindelaprueba.
GMV
PREUBAS UNITARIAS EN EL PROYECTO OLCI-
ICMSW
Caractersticasdel proyecto:

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

ExperienciadeGMV enel usodel lenguajeAdaydela


implementacindesistemas detiemporeal
El objetivoesayudar agenerar uncdigodecalidadque
facilitesudesarrolloymantenimiento, evitandoel usode
solucionesquepuedanprovocar problemas
GMV
ANLISIS ESTTICO
Objetivo: comprobar si secumplenlasnormasde
programacinylasmtricasestablecidas
NMximodeanidamiento:

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

LOC (Linesof Code): ntotal delneasdecdigoincluyendo


comentarios.
eLOC (efectiveLOC): ndelneasdecdigosinincluir
comentarios, blancosollavesdeiniciodebloques(max. 200
lines).
lLoc(logical LOC): ndelneasquecontieneninstruccionesde
cdigoyqueterminanconunpuntoycoma.
Comment: ndelneasquesoncomentarios.
Lines: ntotal delneas.
FileFunctionCount: ndefuncionesimplementadasencada
ficherofuente.
CycloComplexity: Complejidadciclomtica.
InterfaceComplexity: medidadecomplejidadparalasfunciones
queesel resultadodesumar el nmerodeparmetrosde
entradaconel nmerodeinstruccionesderetornointernasdela
funcin.
MsterdeIngenieradeSW
Pgina
30
GMV
ANLISIS ESTTICO: EJEMPLO
MsterdeIngenieradeSW
Pgina
31
Mtricasdeunfichero:
Function: hk_register_defaults_
Complexity
LOC 408
Param0
eLOC 298
Return1
lLOC 110
Cyclo Vg 28
Comment 1
Total
Lines
29
411
~~Total FileSummary ~~
~~FileFunctional Summary ~~
FileFunctionCount ...: 1
Total Function LOC.....:
Total Function eLOC....:
Total FunctionlLOC....:
Total FunctionParams .:
Total Cyclo Complexity :
Max Function LOC ......:
Max Function eLOC .....:
408 Total Function Pts LOC :
298 Total FunctionPtseLOC:
110 Total FunctionPtslLOC:
0 Total FunctionReturn.:
28 Total Function Complex.:
408 AverageFunctionLOC ..:
298 AverageFunctioneLOC .:
3.2
2.4
0.9
1
29
408.00
298.00
MaxFunctionlLOC .....:
MaxFunctionParameters:
MaxFunctionReturns..:
MaxInterfaceComplex. :
110 AverageFunctionlLOC .:
0 AvgFunctionParameters:
1 AvgFunctionReturns..:
1 AvgInterfaceComplex. :
110.00
0.00
1.00
1.00
Max Cyclomatic Complex.:
Max Total Complexity ..:
28 Avg Cyclomatic Complex.:
29 Avg Total Complexity ..:
28.00
29.00
GMV
ANLISIS ESTTICO: EJEMPLO
MsterdeIngenieradeSW
Pgina
32
Mtricasdeunfichero:
~~FileFunctional Summary ~~
FileFunctionCount ...: 29
Total FunctionLOC.....:
Total FunctioneLOC....:
Total FunctionlLOC....:
Total FunctionParams .:
Total Cyclo Complexity :
MaxFunctionLOC ......:
MaxFunctioneLOC .....:
MaxFunctionlLOC .....:
Max Function Parameters:
MaxFunctionReturns..:
MaxInterfaceComplex. :
MaxCyclomatic Complex.:
MaxTotal Complexity ..:
183 Total FunctionPtsLOC :
124 Total FunctionPtseLOC:
95 Total FunctionPtslLOC:
53 Total FunctionReturn.:
33 Total FunctionComplex.:
15 AverageFunctionLOC ..:
13 AverageFunctioneLOC .:
10 AverageFunctionlLOC .:
9 AvgFunctionParameters:
1 AvgFunctionReturns..:
10 AvgInterfaceComplex. :
3 AvgCyclomatic Complex.:
11 AvgTotal Complexity ..:
2.7
2.2
1.2
29
115
6.31
4.28
3.28
1.83
1.00
2.83
1.14
3.97
________________________________________________________________________
Endof File: X:\work\ilvc\metricas SW\src\pus\func_laser.c
Enestecasolamtricaquenosecumpleesel nmero deparmetros
GMV
COMPROBACIN REGLAS DE PROGRAMACIN

Objetivo: comprobar si secumplenlasreglasde


programacincontenidasenel documentoreglasde
codificacin
Comprobacinautomtico(40%) einspeccindecdigo.
Herramientas:

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

exit whenI =9;

endloop;
Otrasdecisiones: ejecucincompletadecadaunadelas
clausulasdeinstruccionescaseyselect. Ejemplo: 100%
coberturaparaCasestatements
Herramienta: AdaTest conel mdulobajopruebapreviamente
instrumentalizado.
GMV, 2009Propertyof GMV
All rightsreserved
Gracias.

Vous aimerez peut-être aussi