présentationlmo0v6湖北某大型剧场水电安装施工组织设

上传人:e****s 文档编号:243360434 上传时间:2024-09-21 格式:PPT 页数:79 大小:2.55MB
返回 下载 相关 举报
présentationlmo0v6湖北某大型剧场水电安装施工组织设_第1页
第1页 / 共79页
présentationlmo0v6湖北某大型剧场水电安装施工组织设_第2页
第2页 / 共79页
présentationlmo0v6湖北某大型剧场水电安装施工组织设_第3页
第3页 / 共79页
点击查看更多>>
资源描述
Cliquez pour modifier le style du titre du masque,24/03/2006,*,Cliquez pour modifier les styles du texte du masque,Deuxime niveau,Troisime niveau,Quatrime niveau,Cinquime niveau,Test et diagnostic : des objets aux modles,Yves Le Traon,in God we trust, for the rest we test (A. Petrenko),1,Une vision de la recherche en gnie logiciel,0,1,Testing can prove the presence of bugs, but never their absence,Dijkstra,Bienvenue dans le domaine de lincertitude !,Monde pas idal = gnie logiciel,Compromis entre une solution idale en pratique inapplicable et solution imparfaite mais praticable,Test et gnie logiciel : difficile alchimie,solution idale,pratique actuelle,bon dosage ?,24/03/2006,2,Le test de logiciels,Cest important !,Objectifs du test,examiner ou excuter un programme dans le but dy trouver des fautes,relativement une spcification,formalisation de critres pour guider la slection des tests,cas de test / oracle,24/03/2006,3,Problmatique,Le test,Vrification/preuve,tests,conformit du produit,par rapport sa spcification,24/03/2006,4,Problmatique du test,analyse des,besoins,spcification,Implmentation,test,Le cot du test dans le dveloppement,+ maintenance = 100 % du cot global de dveloppement !,Test,An. b,Spcif.,Implm.,24/03/2006,5,Problmatique du test,Pourquoi ?,Cot,Effort,Confiance,24/03/2006,6,Le test dynamique : processus,Donne de test,Programme P,Excution,Oracle,Rsultat,Spcification S,Verdict,Critre darrt,vrai,Localisation /,Mise au point,faux,non vrifi,Problmes,Gnration de donnes de test,Oracle,Diagnostic,24/03/2006,7,Le test : cest un peu dsordre,Autant de techniques que de domaines dapplication,Nombreux problmes (gnration/oracle/environnement, tape du processus/critre),Psychologiquement redoutable,24/03/2006,8,Le test des logiciels objets,Au dpart,une certaine mfiance des testeurs,24/03/2006,9,Sentiment mitig au niveau du code,C.m1(),B.m1(),A.m1(),C.m4(),B.m2(),Method calls flow for processing C.m1(),A,m1(),m2(),m3(),m4(),B,w,m1(),m2(),m3(),C,m1(),m4(),The Yo-yo Effect (Binder, Offut),calls super(),calls super(),calls m4(),calls m2(),Implements,Implements,24/03/2006,10,Et pourtant .,OO fonctionne aussi bien que le procdural classique,Culture test,Environnement pour assister la ralisation des tests: Junit,Test-first development,24/03/2006,11,JUnit,Permet de structurer les cas de test,cas de test / suite de test,Permet de sauvegarder les cas de test,important pour la non rgression,quand une classe volue on r-excute les cas de test,24/03/2006,12,Test-first development,Xtreme programming,On crit les tests dabord, on ralise ensuite,Les cas de test servent de support la documentation,Tester avec une intention prcise,Retours rapides sur la qualit du code,itrations courtes dans le cycle de dveloppement,on excute le code tout de suite (avant mme de lavoir crit),On ne code que quand un test a chou,refactorings frquents,Approche anti-modle,24/03/2006,13,Test-first development,crire un cas de test,Excuter les cas de test,Faire un petit changement,Excuter les cas de test,chec,succs,chec,dveloppement sarrte,dveloppement continue,Exemple : ajout dans une liste chaine,public void testAdd(),list.add(first);,assertTrue()=1);,public void add (String it),Node node = new Node();,node.setItem(it);,node.setNext(null);,if (firstNode = null) ,node.setPrevious(null);,this.setFirstNode(node);,lastNode = node;,this.setCurrentNode(node);,public void add (String it),24/03/2006,14,Des objets aux modles,refactoring,Tissage,composition,code,refactoring,24/03/2006,15,Des tapes de testau test des tapes,Analyse,Conception,globale,Conception,dtaille,Exigences,Implmentation,Systme,Intgration,Unitaire,Test transfo,modles,24/03/2006,16,Plan,Test de composants,Assemblage de composants,Test systme,Diagnostic,Test et modles,24/03/2006,17,24/03/2006,18,Composants et test,24/03/2006,19,Composants de confiance,Du point de vue utilisateur.,Components “off-the-shelf”,?,Component,24/03/2006,20,Composants de confiance,Du point de vue utilisateur.,Components “off-the-shelf”,Component,85%,“replay” selftests,100%,55%,100%,24/03/2006,21,Composant de confiance,Spcification,Implantation,V & V,:,ensemble de cas de test,Confiance fonde sur la cohrence,contrats excutables,Composants autotestables,24/03/2006,22,Analyse de mutation,R. DeMillo, R. Lipton and F. Sayward, Hints on Test Data Selection : Help For The Practicing Programmer. IEEE Computer,11,(4): 34 - 41 April 1978.,Technique pour valuer lefficacit dun ensemble de cas de test,Injection derreurs dans le programme sous test,Calcul de la proportion derreurs dtectes par les cas de test,24/03/2006,23,Analyse de mutation,P,Gnration de mutants,Mutant 1,Mutant 2,Mutant 3,Mutant 4,Mutant 5,Mutant 6,CT,Excution,Mutant tu,Diagnostic,Mutant vivant,Spcification incomplte,Automatique,Manuel,Optimiseur,Mutant quivalent,Supprim de lensemble des mutants,Ajout de contrats,Cas de test insuffisants,24/03/2006,24,Optimisation automatique de cas de test,Score de mutation moyen facile atteindre,Comment optimiser ces tests,Analogie avec lvolution,24/03/2006,25,Classe A,Amlioration des tests,Test,Test1,Test2,Test3,Test4,Test5,Population de prdateurs,Population de proies,mutantA5,mutantA6,mutantA7,mutantA8,mutantA9,mutantA10,mutantA1,mutantA2,mutantA3,mutantA4,mutantA14,mutantA11,mutantA18,mutantA12,mutantA13,mutantA17,Test6,24/03/2006,26,2 ensembles de bactries,Bouillon,(population courante),Solution,(contruite itrativement),4 oprations,Classer,Mmoriser, Filtrer, Muter,Condition darrt,Objectif atteint,Nb de gnration,Classer,Mmoriser,Filtrer,Muter,Bouillon,bacteriologique,Ensemble,solution,Arrt,La boucle bactriologique,24/03/2006,27,La boucle bactriologique,Fonction dutilit (,F,),Indique la pertinence dun ensemble de bactries pour le problme considr,Classer,Mmoriser,Filtrer,Muter,Dfinie pour un ensemble de,Bactries,Utilit dune bactrie,f,(,b,) =,F,(,b,U,S,) ,F,(,S,),Utilit relative aux bactries,dj mmorises,Bouillon,bacteriologique,Ensemble,solution,24/03/2006,28,La boucle bactriologique,Fonction de mmorisation,Fonction valeur boolenne indiquant si la meilleure bactrie du bouillon doit tre mmorise.,Exemples,Seuil de mmorisation,Plusieurs itrations sans amliorations,Classer,Mmoriser,Filtrer,Muter,Bouillon,bacteriologique,Ensemble,solution,24/03/2006,29,Ensemble,solution,La boucle bactriologique,Fonction de filtrage,Elimine les bactries inutiles du bouillon afin de garantir lefficacit de lalgorithme,Exemples,Supprimer les bactries dutilit nulle,Dans le domaine du test : heuristiques de minimisation de suites de test,Classer,Mmoriser,Filtrer,Muter,Bouillon,bacteriologique,24/03/2006,30,La boucle bactriologique,Oprateur de mutation,Permet, partir dune bactrie parente, de construire une nouvelle bactrie,Fortement dpendant du problme considr,Classer,Mmoriser,Filtrer,Muter,Bouillon,bacteriologique,Ensemble,solution,24/03/2006,31,La boucle bactriologique,Fonction dutilit (,F,),Indique la pertinence dun ensemble de bactries pour le problme considr,Classer,Mmoriser,Filtrer,Muter,Dfinie pour un ensemble de,Bactries,Utilit dune bactrie,f,(,b,) =,F,(,b,U,S,) ,F,(,S,),Utilit relative aux bactries,dj mmorises,Bouillon,bacteriologique,Ensemble,solution,24/03/2006,32,tude dun parser C#,24/03/2006,33,Rsultats,Approche composant autotestable,Algorithme original pour la gnration de cas de test,Dveloppement doutils pour les expriences,24/03/2006,34,Assemblage de composants,24/03/2006,35,Test dintgration,Plan de test,ordonnancement,minimiser le nombre de testing stubs,24/03/2006,36,Autres travaux: conception testable,Testabilit dun diagramme de classes,identification d anti-patterns,Transformations de modles pour supprimer les ambiguts dune architecture,Application aux design patterns courants,refactorings,24/03/2006,37,Test systme,24/03/2006,38,Les exigences attention ! terrain instable,Point dentre dun projet,Premires approches,Fonctionnelles,Extra-fonctionnelles ?,Techniques ?,Comment valider du flou, de linformel ?,Comment sen servir pour valider la conception/implmentation,24/03/2006,39,Test partir des exigences,Partir des exigences,Soit textuelles,Soit cas dutilisation tendus avec des contrats (dans une logique proche du B),Gnrer automatiquement des,objectifs/cas de test,Adaptable aux lignes de produits,Exprimentations industrielles,24/03/2006,40,Mtamodle,dexigences,requirement,1.1 Register a book,the book becomes registered,after the librar,ian did,register the book.,the book is available after,the librarian did register the,book.,8,Mtamodle,dobjectifs de tests,:C1,:C2,:C3,CallAction,CallAction,1,2,Mtamodle,statique,C1,C2,C3,0.1,*,Mtamodle UCTS,s1,s2,s3,s4,/a1,/a5,/a4,/a3,/a2,7,Mtamodle de cas,dutilisation,Package,Actor,UseCase,observable(x)=dummy,true,3,4,Mtamodle de,configuration,:C1,:C2,:C1,observable=dummy,status=on,5,6,if the,mode,of the,system,is,dummy,or,real,and the,user,did,deselect Example function,then the,phase,of the,system,is,no phase,and the,status,of the,component,is,released,implies the,presence,of the,component,is,false,.,Traabilit,MModles indpendants,24/03/2006,41,Exprimentations,Question de base,Des cas de test gnrs partir des exigences peuvent-ils tester correctement un systme ?,Etudes de cas,Deuxime question,applicable au niveau industriel (ROI) ?,% des exigences couvert pour un vrai systme ?,24/03/2006,42,Nominal code,24/03/2006,43,Exigences ,Stabiliser les concepts grce la mtamodlisation,Se servir des mtamodles pour,La vrification,La simulation,La drivation des tests,24/03/2006,44,Diagnosticmais o ?,24/03/2006,45,Diagnostic et Design-by-contract,24/03/2006,46,Diagnostic et Design-by-contract,Design by Contract : Robustesse / Vigilance,Capacit dun composant dtecter un tat interne erron,Design by Contract : Diagnosabilit,Facilit localiser une faute dans un composant sachant quune dfaillance est dtecte,24/03/2006,47,Robustesse,A,Robustesse localecapacit des contrats, dtecter des erreurs,Combinaison amliore la qualit,Robustesse globale,B,C,A,contrats,Det(A,C),24/03/2006,48,Un exemple Eiffel,24/03/2006,49,Exemple,p_date.e,p_time.e,p_date_time.e,Total number of mutants,673,275,199,Nbr equivalent,49,18,15,Mutation score,100%,100%,100%,Initial contracts efficiency,10,35%,17,90%,8,7%,Improved contracts,efficiency,69,42%,91,43%,70,10%,First version test size,106,93,78,Reduced tests size,72,33,44,24/03/2006,50,Exemple,Robustesse des autotests contre un environnement infect,p_date_time selftest,24/03/2006,51,Robustesse,24/03/2006,52,Zone de diagnostique,Logiciel classique,Diagnosabilit,Zone de diagnostique,Logiciel conu par contrats,Traitement dexception,24/03/2006,53,Diagnosabilit,0,0,2,0,4,0,6,0,8,1,Densit des contrats,Diagnosabilit,0,100,200,300,400,500,600,700,800,900,1000,0.2,0.4,0.6,0.8,Efficacit,des,contrats,24/03/2006,54,Rsultats,tude qualitative de la conception par contrats,Bilan,Lajout de contrats, mme peu efficaces, amliore la qualit du composant,Lefficacit amliore plus que la densit,24/03/2006,55,Diagnostic et test,24/03/2006,56,Test et diagnostic : objectifs diffrents,2 activits relier,Test,gnrer un minimum de donnes de test qui satisfont le critre darrt.,Les fautes sont dtectes.,Diagnostic,les algorithmes de localisation des fautes ncessitent de recouper un maximum dinformations.,24/03/2006,57,Recoupement de traces,?,?,Nombre de cas de test + capacit isoler la faute,24/03/2006,58,Fault localization algorithm,Error : it should be p := -y,Diagnosis matrix,1,2,3,4,x=2,x=-2,x=2,x=-3,y=4,y=0,y=-4,y=-3,%Passed,%Failed,Trust,Intens.,Rank,pow(x, y:integer) : float,i := 0;,1,1,1,1,1,100%,100%,0,50,100%,3,Result := 1;,2,1,1,1,1,100%,100%,0,50,100%,3,if y0 then p := -x;,3,0,0,1,1,33%,100%,0,25,100%,1,4,1,1,0,0,66%,0%,1,00,66%,5,Result := Result * x;,5,1,0,0,1,66%,0%,1,00,66%,5,i := i + 1;,6,1,0,0,1,66%,0%,1,00,66%,5,Result := 1/Result;,7,0,0,1,1,33%,100%,0,25,100%,1,end,Verdicts :,P,P,F,P,local,i, p : integer,else,p := y;,while,ip,do,done,if,y contrats,24/03/2006,68,Gnration de donnes de test,ClassA,String name,ClassB,Int val,*,a,1,b,random, ,null,1;,1,0,1,1;,0,-,;-1,Critre AllPerEC,StopCriteria = 2,ClassA,name : toto,ClassA,name : ,ClassB,val : 0,a,24/03/2006,69,Le test de transformations de modlesOracle,Le problme de loracle,Disposant du modle attendu :,Comparaison de modles,Conformit du modle son mtamodle,travaux de Jim Steel,Contrats (OCL),Contrats sur le modle de sortie,Contrats de la spcification de la transformation,24/03/2006,70,OracleContrat de la spcification fort,En OCL:,context MetaUmlRdbms inv:,-select(e|e.oclIsTypeOf(Class) and -exists(s|=persistent),-collect(ecp|ecp.oclAsType(Class),-forAll(cp|,-one(t|t.name= and,(-collect(p|(Class).feature),-select(f|f.oclIsTypeOf(Attribute)-collect(fa|fa.oclAsType(Attribute),-forAll(a|-one(tc|= and =),and ()=(,-collect(p|p.oclAsType(Class).feature),-select(f|f.oclIsTypeOf(Attribute).size(),and ()=,-select(e|e.oclIsTypeOf(Class) and,-exists(s|s.name=persistent).size(),24/03/2006,71,Analyse de mutationpour les transformations de modles,Oprateurs classiques,Orients objet ou non,Outil java de Offutt,Ncessit doprateurs spcifiques,Oprateurs smantiques,24/03/2006,72,Lanalyse de mutationDcomposition smantique,Navigation, filtrage, cration, modification,Exemple de transformation,name,:,string,ID,: int,A,B,persistent,name,: string,ID,: int,A,B,persistent,name,: string,ID,: int,A,B,persistent,table B,name,: string,ID,: in,t,A,ID,name,table B,name,: string,ID,: int,A,B,persistent,ID,name,table B,ID,name,table B,(a),(b),(c),(d),(e),(f),B,persistent,navigation,filtrage,cration,navigation,cration,navigation,filtrage,modification,24/03/2006,73,Fault models,Example for,navigation,mutations,Wrong role to a correct class: from class A, navigate b2 instead of b1,Wrong role to a wrong class: from class A, navigate c instead of b1,24/03/2006,74,Analyse de mutation / OracleRsultats exprimentaux,Difficult du test +,24/03/2006,75,Modles,&,Aspects,Design,Model,Use Case,Model,Security,Model,QoS,Model,Business,Model,Object,Model,Test,Model,UI,Model,Plateforme,Model,Code,Model,tester,Challenges:,Tissage automatique,Product,Families,(variations),Rutilisation de,transformations,24/03/2006,76,Conclusion modles,Contributions,Gnration de donnes de test,Mutation pour lIDM,Oracle par contrats,24/03/2006,77,Largeur et perspectivesLe facteur dispersion,Transformation de modles,Tissages de vues : daspects,Diagnostic,Et composants,Traabilit,Raffinement des tests,Test guid par les exigences,24/03/2006,78,Questions ?,24/03/2006,79,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业管理 > 商业计划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!