La mise en oeuvre de tests H Lamandé Ingénieur C.N.A.M

Preview:

Citation preview

La mise en oeuvre de tests

H Lamandé

Ingénieur C.N.A.M.

Introduction

L’influence des environnements: technique, conceptuel, organisationnel, humain…

Intervenant en SSII depuis 15 ans principalement dans le monde bancaire

Cas VAMI

VAMI rachète MAVI et fait migrer son système

1 système cible, 2 systèmes source, 4 sites de production source, 4 sites de développement, 7 banques 9 domaines fonctionnels

Cas VAMI

+ 200 BD + 500 produits 2 équipes principales de 50

personnes 1/5 de prestataires Quelle organisation?

Cas VAMI

Une approche descendanteGroupe

Banque Domaine

Appli …

Cas VAMI

Une approche descendante …

Produits Fichiers

ou Fichiers

Produits

Cas VAMI

La cible pilote l ’organisation les spécifications les données le planning

Cas VAMI

La source décide de: nième étape approche

descendante, son organisation, ses outils, plan de tests

Cas VAMI

Ens. de définitions différents: domaines applis produits rubriques

Cas VAMI

Sources d’information intranet réunions mails

Cas VAMI

Vie VAMI

VieOuverture

Etape

Fin

CapitV.E.V.P.

PEP/PEL

Cas VAMI

Vie VAMI (données)

PEP/PEL

Ouverture Vie Fin

CapitV.E.V.P.

PEP/PEL

Date sous.

VI

VP (Mt, Pér.)

Date Ech

Date VP

VP

Date VE

VE

Date capit

Intérêts

Cas VAMI

Raffinement VAMI

V.P.

Date VP

VP

N

Compte

Hist VP

Mt versé

Date verst.

Cumul VP

Cas VAMI

Raffinement MAVI

V.P.

Date VP

VP

N

Compte

Hist Conditions VP

Mt. Ref

Date mod

Cumul VP

Cas VAMI

Vie MAVI

PEP/PEL

Ouverture Vie Fin

ChgtTaux

V.E.V.P.

PEP/PEL

Capit

Les tests et la spécification Incertitudes sur

les objectifs les RDG

stables évolutifs réglementaires

L ’IHM les écrans les enchaînements

Les tests et la spécification

Incertitudes sur les objectifs qui est donneur d’ordres

rentabilité, communication• efficacité, pérennité

qui est Maîtrise d ’Ouvrage complétude, fiabilité

• respect des délais

Les tests et la spécification

Incertitudes sur les objectifs qui est Maîtrise d ’oEuvre

fiabilité, délais• convivialité, évolutivité

qui va recetter simplicité, convivialité

quels sont les destinataires efficacité, opérationnel

• lisibilité

Les tests et la spécification

Incertitudes sur les RDG stables

• BD, outils de navigation

évolutives

• modularités, tables I réglementaires

• tables U, manuels

cachées, non dites• prototypage

Cas Dossiers Médicaux de Kemper NIAM/JSD/Z/SETL Principe: modéliser données et

processus avec le même outil Chaque action est déterminée par

des pré et post conditions Mise en œuvre des tests:

déf. de l’invariant du système test de l ’invariant après chaque

action

Cas Dossiers Médicaux de Kemper

1Etab(N_et…) 2Serv(N_ser, N_et,…) 3UF(N_uf, N_ser,.) 1Cli(N_ipp,…) 2Séj(N_ist,N_ipp,…) 1Arch(N_arc, sit, N_ipp,…) 2Dem_prêt(N_arc,N_uf,N_ist)

Cas Dossiers Médicaux de Kemper 1Etab(N_et…) 2Serv(N_ser, N_et,…) 3UF(N_uf, N_ser,.) 1Cli(N_ipp,…) 2Séj(N_ist,N_ipp,…) 1Arch(N_arc, sit, N_ipp,…) 2Dem_prêt(N_arc,N_uf,N_ist)

Pré condition via la fonction « l ’identifiant de l ’UF existe-t-il? »

iduf_exist(N_uf);

if STET(3) = {}

then bool:= false

else

bool=(N_uf in domain STET(3))

endif

return bool

end iduf_exist;

Cas Dossiers Médicaux de Kemper

1Etab(N_et…) 2Serv(N_ser, N_et,…) 3UF(N_uf, N_ser,.) 1Cli(N_ipp,…) 2Séj(N_ist,N_ipp,…) 1Arch(N_arc, sit, N_ipp,…) 2Dem_prêt(N_arc,N_uf,N_ist)

Création d’une UF

proc cr_uf(N_ser, lib_uf)

N_uf:= cpuf + 1

if iduf_exis(N_uf)

then print  « N_uf ko »

else if idse_exis(N_ser)

then cpuf+:= 1

stret(3)(cpuf):=[lib_uf,N_ser]

print « ok »

else print « N_ser ko »

end_if

end_if

end_cr_uf

Cas Dossiers Médicaux de Kemper 1Etab(N_et…) 2Serv(N_ser, N_et,…) 3UF(N_uf, N_ser,.) 1Cli(N_ipp,…) 2Séj(N_ist,N_ipp,…) 1Arch(N_arc, sit, N_ipp,…) 2Dem_prêt(N_arc,N_uf,N_ist)

Création d’un invariant

proc inv1()

return(forall iddp in domain strar(2) / iddp(1) in domain strar(1))end_inv1

proc inv2()

return(forall iddp in domain strar(2) / iddp(2) in domain stret(3))end_inv2

Cas Dossiers Médicaux de Kemper

Définition avec le même langage préconditions post conditions invariants processus séquentiels

valider les rdg avec les U tester les pre et post conditions

avec les invariants

Cas Dossiers Médicaux de Kemper Modularité Rapidité

apprentissage programmation

Interfacages

Cas VOMI

Epargne (pel, pep…) Paramétrage nombreux (+ 100) Paramétrages I et U mélangés Paramétrage imbriqués

p1 & p2 p3 p3 & p4 p5 p4 & p5 & p6 résultat

Cas VOMI

Paramétrages éclatés p1 sur BD p2 sur tables

supports limités pas de documentation

Cas VOMI

Des produits caractérisés par un régime (invariant)

ce régime peut changer au cours de la vie

le régime accepte des frais dérogation pour certains dossiers dérogation pour certains

mouvements

Les tests et la spécification

Incertitudes sur les données filtre formel filtre contextuel filtre séquentiel

Cas CEFINOCO

Données provenant de l ’extérieurFlux

BD

SI BQ

Cas CEFININCO

Données clients du SI BQ envoyées par lot à CEFININCO saisies sur TP CEFININCO données déduites retournées par

CEFININCO

Cas CEFININCO

Perte des identifiants Vie du produit

définie par CEFININCO transgressées par CEFININCO

Les tests: Outils et Equipe A venir la semaine prochaine

Les tests : outils et architecture A venir la semaine prochaine

Les tests: outils et environnement A venir la semaine prochaine

Réalité Quels objectifs: les résultats Quelles réalités: la rentabilité Quels moyens: le pragmatisme Quelle philosophie: ???

Recommended