Méthodes pour la validation de modèles formels pour la ... - ISAE
Méthodes pour la validation de modèles formels pour la ... - ISAE
Méthodes pour la validation de modèles formels pour la ... - ISAE
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
4.5 Critère <strong>de</strong> couverture <strong>de</strong> <strong>modèles</strong> AltaRica par <strong>de</strong>s tests 129<br />
Critère <strong>de</strong> couverture simple sur les transitions : Pour toute transition du modèle AltaRica <strong>de</strong><br />
<strong>la</strong> forme gar<strong>de</strong>(s, f in ) |− e → s ′ , il existe au moins un scénario <strong>de</strong> test v = (e 1 , ..., e p−1 , e, e p+1 ...)<br />
tel que le scénario (e 1 , ..., e p−1 ) conduise dans une configuration du modèle satisfaisant gar<strong>de</strong>(s, f in ).<br />
En d’autres termes, <strong>pour</strong> toutes les transitions du modèle, il existe au moins un test qui<br />
permet son franchissement. Pratiquement <strong>la</strong> mise en œuvre d’un tel critère consiste, lorsque<br />
« gar<strong>de</strong>(s, f in ) » est sous Forme Normale Disjonctive, à utiliser le dépliage N°1 <strong>pour</strong> le critère <strong>de</strong><br />
couverture sur les décisions (section 4.5.1.2).<br />
Ce critère, bien que facile à mettre en œuvre, est cependant trop simple <strong>pour</strong> éprouver <strong>de</strong><br />
manière suffisante le modèle. En effet, il suffira <strong>de</strong> satisfaire <strong>la</strong> gar<strong>de</strong> d’une manière quelconque<br />
<strong>pour</strong> satisfaire le critère. Par exemple, si <strong>la</strong> gar<strong>de</strong> est « c 1 ∨ c 2 », franchir <strong>la</strong> transition avec le couple<br />
(c 1 , c 2 )=(1, 0) suffira à satisfaire le critère. Nous n’aurons pas besoin <strong>de</strong> tester le franchissement<br />
avec c 2 =1... Pour faire l’analogie avec les critères présentés en section 4.3.4, ce critère est le<br />
pendant du critère <strong>de</strong> couverture d’instruction.<br />
4.5.3.3 Critère <strong>de</strong> couverture <strong>de</strong>s conjonctions élémentaires d’une transition<br />
On rappelle dès ici qu’on appelle conjonction élémentaire une expression booléenne <strong>de</strong> <strong>la</strong><br />
forme c 1 ∧ c 2 ∧ ... ∧ c n , n ≥ 0 où chaque c i est une condition (expression booléenne ne pouvant<br />
être décomposée sous forme <strong>de</strong> conjonction ou <strong>de</strong> disjonction).<br />
Nous rappelons ici que <strong>la</strong> gar<strong>de</strong> « gar<strong>de</strong>(s, f in ) » est écrite sous Forme Normale Disjonctive<br />
(FND), i.e. sous une forme simi<strong>la</strong>ire à C 1 ∨ C 2 ∨ ... ∨ C p où chaque C j est une conjonction<br />
élémentaire. Pour définir le critère <strong>de</strong> couverture, nous utiliserons le dépliage N°3 <strong>de</strong> <strong>la</strong> FND <strong>pour</strong><br />
le critère <strong>de</strong> couverture sur les conditions et les décisions (section 4.5.1.2) et décomposerons donc<br />
« gar<strong>de</strong>(s, f in ) » en p cas différents : C i = vrai ∀i ∈ [1, p].<br />
Critère <strong>de</strong> couverture <strong>de</strong>s conjonctions élémentaires <strong>de</strong>s transitions : <strong>pour</strong> toute transition du<br />
modèle AltaRica <strong>de</strong> <strong>la</strong> forme gar<strong>de</strong>(s, f in ) |− e → s ′ où gar<strong>de</strong>(s, f in ) est <strong>de</strong> <strong>la</strong> forme C 1 ∨C 2 ∨...∨<br />
C p , il existe <strong>pour</strong> chaque conjonction élémentaire C i un scénario v i = (e i1 , ..., e i(p−1) , e, e i(p+1) ...)<br />
tel que le scénario (e i1 , ..., e i(p−1) ) conduise le modèle dans une configuration vérifiant C i =vrai.<br />
4.5.3.4 Critère <strong>de</strong> couverture <strong>de</strong>s conjonctions élémentaires indépendantes d’une transition<br />
Si le critère précé<strong>de</strong>nt permet <strong>de</strong> s’assurer que lors <strong>de</strong>s différents franchissements d’une<br />
transition celle-ci est franchie en évaluant au moins une fois chaque conjonction élémentaire à<br />
<strong>la</strong> valeur vrai, il n’assure pas encore que <strong>la</strong> transition est franchie grâce à chaque conjonction<br />
élémentaire. Par exemple, <strong>pour</strong> <strong>la</strong> transition « c 1 ∨ c 2 |− e → », faire <strong>de</strong>ux tests (c 1 , c 2 ) = (1,0) et<br />
(c 1 , c 2 ) = (1,1) permet <strong>de</strong> satisfaire le critère précé<strong>de</strong>nt et l’influence <strong>de</strong> c 2 sur le franchissement <strong>de</strong><br />
<strong>la</strong> transition n’est pas incontestable... Pour ce<strong>la</strong> nous définissons un nouveau critère <strong>de</strong> couverture<br />
sur les transitions inspiré du critère MC/DC.<br />
On suppose toujours ici que <strong>la</strong> gar<strong>de</strong> <strong>de</strong> <strong>la</strong> transition est mise sous Forme Normale Disjonctive,<br />
i.e. <strong>de</strong> <strong>la</strong> forme C 1 ∨ C 2 ∨ ... ∨ C p où C p est une conjonction élémentaire. Nous utilisons le<br />
dépliage N°4 <strong>de</strong> <strong>la</strong> FND <strong>pour</strong> le critère <strong>de</strong> couverture MC/DC (section 4.5.1.2) qui décompose<br />
« C 1 ∨ C 2 ∨ ... ∨ C p » en p cas : ∀i ∈ [1, p], C i =vrai and (C j ) j≠i = faux.<br />
Critère <strong>de</strong> couverture <strong>de</strong>s conjonctions élémentaires indépendantes <strong>de</strong>s transitions : <strong>pour</strong><br />
toute transition du modèle AltaRica <strong>de</strong> <strong>la</strong> forme gar<strong>de</strong>(s, f in ) |− e → s ′ où gar<strong>de</strong>(s, f in ) est <strong>de</strong><br />
<strong>la</strong> forme C 1 ∨ C 2 ∨ ... ∨ C p , il existe <strong>pour</strong> chaque conjonction élémentaire C i un scénario v i =<br />
(e i1 , ..., e i(p−1) , e, e i(p+1) ...) tel que le scénario (e i1 , ..., e i(p−1) ) conduise dans une configuration<br />
du modèle satisfaisant C i = vrai et (C j ) j≠i = faux.