Modified Condition Decision Coverage
Modified Condition / Decision Coverage (MCDC), is een softwaretesttechniek waarbij met relatief weinig moeite veel getest wordt.
Definitie volgens TMap
Volgens TMap (Test Management Approach) garandeert MCDC dat elke mogelijke uitkomst van een CONDITIE minimaal één keer bepalend is geweest voor de uitkomst van de BESLISSING.
Belangrijk hierbij is het begrip bepalend. Als een beslissing bestaat uit de condities A, B en C, dan is volgens MCDC:
ten aanzien van conditie A
- Er is minstens één testsituatie waarbij de uitkomst van de beslissing WAAR is als conditie A WAAR is
- Er is minstens één testsituatie waarbij de uitkomst van de beslissing ONWAAR is als conditie A ONWAAR is
ten aanzien van conditie B
- Er is minstens één testsituatie waarbij de uitkomst van de beslissing WAAR is als conditie B WAAR is
- Er is minstens één testsituatie waarbij de uitkomst van de beslissing ONWAAR is als conditie B ONWAAR is
ten aanzien van conditie C:
- Er is minstens één testsituatie waarbij de uitkomst van de beslissing WAAR is als conditie C WAAR is
- Er is minstens één testsituatie waarbij de uitkomst van de beslissing ONWAAR is als conditie C ONWAAR is
Hieruit vloeit voort dat als een bepalende conditie wordt getest, de andere condities een waarde moeten hebben die geen invloed heeft op de uitkomst van de beslissing. Deze waarde noemen we de 'neutrale waarde'. Samengevat:
- Neutrale waarde bij EN-situatie = WAAR (1)
- Neutrale waarde bij OF-situatie = ONWAAR (0)
Deze dekkingsvorm is zeer efficiënt, omdat bij een beslissing dat uit N condities bestaat N+1 testsituaties nodig zijn.
6-Stappenplan
Er zijn verschillende manieren om de benodigde testsituaties af te leiden. Het 6-stappenplan is een vrij eenvoudige techniek omdat deze direct aansluit op de definitie van MCDC. Via onderstaand voorbeeld zal het 6-stappenplan worden toegelicht. Het product van een 6-stappenplan wordt een waarheidstabel genoemd.
Voorbeeld: Een medewerker kan worden aangenomen als deze of "de juiste opleiding heeft" of "sympathiek is". Daarnaast moet hij in beide gevallen "goede ervaring hebben". In formule wordt dat: R = (A OF B) EN C. 1 staat voor "aangenomen" 0 staat voor "afgewezen"
- Stap 1 Maak een tabel met drie kolommen
| (A OF B) en C | 1 | 0 |
|---|
- Stap 2 Voeg één rij toe voor iedere conditie in de beslissing.
| (A OF B) en C | 1 | 0 |
|---|---|---|
| A: juiste opleiding | ||
| B: sympathiek | ||
| C: goede ervaring |
- Stap 3 Vul de cellen in kolommen 1 en 0 met aantal puntjes gelijk aan aantal condities in beslissing.
| (A OF B) en C | 1 | 0 |
|---|---|---|
| A: juiste opleiding | (. .) . | (. .) . |
| B: sympathiek | (. .) . | (. .) . |
| C: goede ervaring | (. .) . | (. .) . |
- Stap 4 Vul de cellen in kolom 1 diagonaal in met 1 en de cellen in kolom 0 met 0 .
| (A OF B) en C | 1 | 0 |
|---|---|---|
| A: juiste opleiding | (1 .) . | (0 .) . |
| B: sympathiek | (. 1) . | (. 0) . |
| C: goede ervaring | (. .) 1 | (. .) 0 |
- Stap 5 Vul op de overgebleven puntjes in de cellen in kolommen 1 en 0 met een neutrale waarde in.
| (A OF B) en C | 1 | 0 |
|---|---|---|
| A: juiste opleiding | (1 0) 1 | (0 0) 1 |
| B: sympathiek | (0 1) 1 | (0 0) 1 |
| C: goede ervaring | (1 0) 1 | (1 0) 0 |
Opmerking: Bij de laatste rij (Conditie C) kan opgemerkt worden dat er ook gekozen had kunnen worden voor (0 1). Dit treedt altijd op als een deelbeslissing tussen haakjes voorkomt. Deze deelbeslissing moet tezamen de neutrale waarde van EN vormen.
- Stap 6 Streep dubbele voorkomens van testsituaties weg.
| (A OF B) en C | 1 | 0 |
|---|---|---|
| A: juiste opleiding | (1 0) 1 | (0 0) 1 |
| B: sympathiek | (0 1) 1 | |
| C: goede ervaring | 1 0 0 |
Fysieke uitwerking
Een waarheidstabel is niet echt leesbaar, daarom moet een vertaalslag worden gemaakt naar testsituaties.
| Testsituatie | 1 0 1 | 0 1 1 | 0 0 1 | 1 0 0 |
|---|---|---|---|---|
| juiste opleiding | ja | nee | nee | ja |
| sympathiek | nee | ja | nee | nee |
| goede ervaring | ja | ja | ja | nee |
| Resultaat | aangenomen | aangenomen | afgewezen | afgewezen |
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.