# IIC3745 - Actividad 3
Gustavo Prudencio Cerfogli.
## _Correlated Active Clause Coverage_
Las cláusulas son:
* _a_ = `ingredients.include?('Tomato')`
* _b_ = `ingredients.include?('Cheese')`
* _c_ = `ingredients.include?('Ham')`
* _d_ = `ingredients.include?('Olives')`
* _e_ = `ingredients.include?('Extra cheese')`
### Primer predicado
* _p1_ = `a && b`
#### Cláusula mayor: a
| _TR#_ | _a_ | _b_ | _p1_ |
|---|--- |---|--- |
| 1 | **T** | T | **T** |
| 2 | **F** | T | **F** |
#### Cláusula mayor: b
| _TR#_ | _a_ | _b_ | _p1_ |
|---|---|--- |--- |
| 3 | T | **T** | **T** |
| 4 | T | **F** | **F** |
#### Resumen primer predicado
Por lo tanto, combinando estos requisitos en casos de tests nos queda:
|_TC#_| _a_ | _b_ | _TR_ cubiertos |
|---|---|---| --- |
| 1 | T | T | 1, 3 |
| 2 | F | T | 2 |
| 3 | T | F | 4 |
### Segundo predicado
* _p2_ = `!(a && b)`
#### Cláusula mayor: a
| _TR#_ | _a_ | _b_ | _p2_ |
|---|--- |---|--- |
| 5 | **T** | T | **F** |
| 6 | **F** | T | **T** |
#### Cláusula mayor: b
| _TR#_ | _a_ | _b_ | _p2_ |
|---|---|--- |--- |
| 7 | T | **T** | **F** |
| 8 | T | **F** | **T** |
### Resumen primer y segundo predicado
Combinando estos requisitos con los anteriores:
|_TC#_| _a_ | _b_ | _TR_ cubiertos |
|---|---|---| --- |
| 1 | T | T | 1, 3, 5, 7 |
| 2 | F | T | 2, 6 |
| 3 | T | F | 4, 8 |
### Tercer predicado
* _p3_ = `(a && b && (c || d))`
#### Cláusula mayor: a
| _TR#_ |_a_ |_b_ |_c_ | _d_ | _p3_ |
|--- |--- |--- |--- |--- |--- |
|9 | **T** | T | T | F | **T** |
|10 | **F** | T | T | F | **F** |
#### Cláusula mayor: b
| _TR#_ |_a_ |_b_ |_c_ | _d_ | _p3_ |
|--- |--- |--- |--- |--- |--- |
|11 | T | **T** | T | F | **T** |
|12 | T | **F** | T | F | **F** |
#### Cláusula mayor: c
| _TR#_ |_a_ |_b_ |_c_ | _d_ | _p3_ |
|--- |--- |--- |--- |--- |--- |
|13 | T | T | **T** | F | **T** |
|14 | T | T | **F** | F | **F** |
#### Cláusula mayor: d
| _TR#_ |_a_ |_b_ |_c_ | _d_ | _p3_ |
|--- |--- |--- |--- |--- |--- |
|15 | T | T | F | **T** | **T** |
|16 | T | T | F | **F** | **F** |
### Resumen primer, segundo y tercer predicado
Combinando estos requisitos con los anteriores:
| _TC#_ |_a_ |_b_ |_c_ | _d_ | _TR_ cubiertos |
|--- |--- |--- |--- |--- |--- |
|1 | T | T | T | F | 1, 3, 5, 7, 9, 11, 13 |
|2 | F | T | T | F | 2, 6, 10 |
|3 | T | F | T | F | 4, 8, 12 |
|4 | T | T | F | F | 14, 16 |
|5 | T | T | F | T | 15 |
### Cuarto predicado
* _p4_ = `!a || !b || (!c && !d)`
#### Cláusula mayor: a
| _TR#_ |_a_ |_b_ |_c_ | _d_ | _p4_ |
|--- |--- |--- |--- |--- |--- |
|17 | **T** | T | T | F | **F** |
|18 | **F** | T | T | F | **T** |
#### Cláusula mayor: b
| _TR#_ |_a_ |_b_ |_c_ | _d_ | _p4_ |
|--- |--- |--- |--- |--- |--- |
|19 | T | **T** | T | F | **F** |
|20 | T | **F** | T | F | **T** |
#### Cláusula mayor: c
| _TR#_ |_a_ |_b_ |_c_ | _d_ | _p4_ |
|--- |--- |--- |--- |--- |--- |
|21 | T | T | **T** | F | **F** |
|22 | T | T | **F** | F | **T** |
#### Cláusula mayor: d
| _TR#_ |_a_ |_b_ |_c_ | _d_ | _p4_ |
|--- |--- |--- |--- |--- |--- |
|23 | T | T | F | **T** | **F** |
|24 | T | T | F | **F** | **T** |
### Resumen primer, segundo, tercer y cuarto predicado
Combinando todos los requisitos del cuarto predicado:
| _TC#_ |_a_ |_b_ |_c_ | _d_ | _TR_ cubiertos |
|--- |--- |--- |--- |--- |--- |
|1 | T | T | T | F | 1, 3, 5, 7, 9, 11, 13, 17, 19, 21 |
|2 | F | T | T | F | 2, 6, 10, 18 |
|3 | T | F | T | F | 4, 8, 12, 20 |
|4 | T | T | F | F | 14, 16, 22, 24 |
|5 | T | T | F | T | 15, 23 |
### Quinto predicado
* _p5_ = `!b && !e`
#### Cláusula mayor: b
| _TR#_ | _b_ | _e_ | _p5_ |
|--- |--- |--- |--- |
| 25 | **T** | F | **F** |
| 26 | **F** | F | **T** |
#### Cláusula mayor: e
| _TR#_ | _b_ | _e_ | _p5_ |
|--- |--- |--- |--- |
| 27 | F | **T** | **F** |
| 28 | F | **F** | **T** |
### Resumen de los 5 predicados
Combinando todos los requisitos del quinto predicado:
| _TC#_ |_a_ |_b_ |_c_ | _d_ | _e_ | _TR_ cubiertos |
|--- |--- |--- |--- |--- |--- |--- |
|1 | T | T | T | F | F | 1, 3, 5, 7, 9, 11, 13, 17, 19, 21, 25 |
|2 | F | T | T | F | - | 2, 6, 10, 18 |
|3 | T | F | T | F | F | 4, 8, 12, 20, 26, 28 |
|4 | T | F | T | F | T | 27 |
|5 | T | T | F | F | F | 14, 16, 22, 24 |
|6 | T | T | F | T | - | 15, 23 |
Con esto tenemos el _coverage_ completo, sin embargo, para los casos de prueba donde e no sea utilizada se remplazan por valores arbitrarios.
## Casos de prueba
Combinando todos los requisitos:
| _TC#_ |_a_ |_b_ |_c_ | _d_ | _e_ | _TR_ cubiertos |
|--- |--- |--- |--- |--- |--- |--- |
|1 | T | T | T | F | F | 1, 3, 5, 7, 9, 11, 13, 17, 19, 21, 25 |
|2 | F | T | T | F | F | 2, 6, 10, 18 |
|3 | T | F | T | F | F | 4, 8, 12, 20, 26, 28 |
|4 | T | F | T | F | T | 27 |
|5 | T | T | F | F | F | 14, 16, 22, 24 |
|6 | T | T | F | T | F | 15, 23 |
## _General Inactive Clause Coverage_
Las cláusulas son las mismas definidas anteriormente.
### Primer predicado
* _p1_ = `a && b`
#### Cláusula mayor: a
| _TR#_ | _a_ | _b_ | _p1_ |
|---|--- |--- |--- |
| 1 | **T** | T | **T** |
| 2 | **T** | F | **F** |
| 3 | **F** | F | **F** |
#### Cláusula mayor: b
| _TR#_ | _a_ | _b_ | _p1_ |
|---|--- |--- |--- |
| 4 | T | **T** | **T** |
| 5 | F | **T** | **F** |
| 6 | F | **F** | **F** |
#### Resumen primer predicado
Por lo tanto, combinando estos requisitos:
|_TC#_| _a_ | _b_ | _TR_ cubiertos |
|---|---|---| --- |
| 1 | T | T | 1, 4 |
| 2 | T | F | 2 |
| 3 | F | T | 5 |
| 4 | F | F | 3, 6 |
### Segundo predicado
* _p2_ = `!a || !b`
#### Cláusula mayor: a
| _TR#_ | _a_ | _b_ | _p2_ |
|---|--- |--- |--- |
| 7 | **T** | T | **F** |
| 8 | **T** | F | **T** |
| 9 | **F** | F | **T** |
#### Cláusula mayor: b
| _TR#_ | _a_ | _b_ | _p2_ |
|---|--- |--- |--- |
| 10 | T | **T** | **F** |
| 11 | F | **T** | **T** |
| 12 | F | **F** | **T** |
#### Resumen primer y segundo predicado
combinando estos requisitos:
|_TC#_| _a_ | _b_ | _TR_ cubiertos |
|---|---|---| ---|
| 1 | T | T | 1, 4, 7, 10 |
| 2 | T | F | 2, 8 |
| 3 | F | T | 5, 11 |
| 4 | F | F | 3, 6, 9, 12 |
### Tercer predicado
* _p3_ = `(a && b && (c || d))`
#### Cláusula mayor: a
| _TR#_ |_a_ |_b_ |_c_ | _d_ | _p3_ |
|--- |--- |--- |--- |--- |--- |
|13 | **T** | T | T | T | **T** |
|14 | **T** | T | F | F | **F** |
|15 | **F** | T | F | F | **F** |
#### Cláusula mayor: b
| _TR#_ |_a_ |_b_ |_c_ | _d_ | _p3_ |
|--- |--- |--- |--- |--- |--- |
|16 | T | **T** | T | T | **T** |
|17 | F | **T** | F | F | **F** |
|18 | F | **F** | F | F | **F** |
#### Cláusula mayor: c
| _TR#_ |_a_ |_b_ |_c_ | _d_ | _p3_ |
|--- |--- |--- |--- |--- |--- |
|19 | T | T | **T** | T | **T** |
|20 | T | T | **F** | T | **T** |
|21 | F | F | **T** | T | **F** |
|22 | F | F | **F** | F | **F** |
#### Cláusula mayor: d
| _TR#_ |_a_ |_b_ |_c_ | _d_ | _p3_ |
|--- |--- |--- |--- |--- |--- |
|23 | T | T | T | **T** | **T** |
|24 | T | T | T | **F** | **T** |
|25 | F | F | T | **T** | **F** |
|26 | F | F | F | **F** | **F** |
### Resumen primer, segundo y tercer predicado
Combinando estos requisitos con los anteriores:
| _TC#_ |_a_ |_b_ |_c_ | _d_ | _TR_ cubiertos |
|--- |--- |--- |--- |--- |--- |
|1 | T | T | T | T | 13, 16, 19, 23 |
|2 | T | T | F | T | 20 |
|3 | T | T | F | F | 14 |
|4 | F | T | F | F | 15, 17 |
|5 | F | F | F | F | 18, 22, 26 |
|6 | F | F | T | T | 21, 25 |
|7 | T | T | T | F | 24 |
### Cuarto predicado
* _p4_ = `!a || !b || (!c && !d)`
#### Cláusula mayor: a
| _TR#_ |_a_ |_b_ |_c_ | _d_ | _p4_ |
|--- |--- |--- |--- |--- |--- |
|27 | **T** | T | F | F | **T** |
|28 | **F** | F | F | F | **T** |
|29 | **T** | T | T | T | **F** |
#### Cláusula mayor: b
| _TR#_ |_a_ |_b_ |_c_ | _d_ | _p4_ |
|--- |--- |--- |--- |--- |--- |
|30 | T | **T** | F | F | **T** |
|31 | F | **F** | F | F | **T** |
|32 | T | **T** | T | T | **F** |
#### Cláusula mayor: c
| _TR#_ |_a_ |_b_ |_c_ | _d_ | _p4_ |
|--- |--- |--- |--- |--- |--- |
|33 | F | T | **T** | T | **T** |
|34 | F | T | **F** | T | **T** |
|35 | T | T | **T** | T | **F** |
|36 | T | T | **F** | T | **F** |
#### Cláusula mayor: d
| _TR#_ |_a_ |_b_ |_c_ | _d_ | _p4_ |
|--- |--- |--- |--- |--- |--- |
|37 | F | T | T | **T** | **T** |
|38 | F | T | T | **F** | **T** |
|39 | T | T | T | **T** | **F** |
|40 | T | T | T | **F** | **F** |
### Resumen primer, segundo, tercer y cuarto predicado
Combinando estos requisitos con los anteriores:
| _TC#_ |_a_ |_b_ |_c_ | _d_ | _TR_ cubiertos |
|--- |--- |--- |--- |--- |--- |
|1 | T | T | T | T | 13, 16, 19, 23, 29, 32, 35, 39 |
|2 | T | T | F | T | 20, 36 |
|3 | T | T | F | F | 14, 27, 30 |
|4 | F | T | F | F | 15, 17 |
|5 | F | F | F | F | 18, 22, 26, 28, 31 |
|6 | F | F | T | T | 21, 25 |
|7 | T | T | T | F | 24, 40 |
|8 | F | T | T | T | 33, 37 |
|9 | F | T | F | T | 34 |
|10 | F | T | T | F | 38 |
### Quinto predicado
* _p5_ = `!b && !e`
#### Cláusula mayor: b
| _TR#_ | _b_ | _e_ | _p5_ |
|--- |--- |--- |--- |
| 41 | **F** | F | **T** |
| 42 | **T** | T | **F** |
| 43 | **F** | T | **F** |
#### Cláusula mayor: e
| _TR#_ | _b_ | _e_ | _p5_ |
|--- |--- |--- |--- |
| 44 | F | **F** | **T** |
| 45 | T | **T** | **F** |
| 46 | T | **F** | **F** |
### Resumen de los 5 predicados
Combinando todos los requisitos del quinto predicado:
| _TC#_ |_a_ |_b_ |_c_ | _d_ | _e_ | _TR_ cubiertos |
|--- |--- |--- |--- |--- |--- |--- |
|1 | T | T | T | T |T | 13, 16, 19, 23, 29, 32, 35, 39, 42, 45 |
|2 | T | T | F | T |F | 20, 36, 46 |
|3 | T | T | F | F |- | 14, 27, 30 |
|4 | F | T | F | F |- | 15, 17 |
|5 | F | F | F | F |F | 18, 22, 26, 28, 31, 41, 44 |
|6 | F | F | T | T |T | 21, 25, 43 |
|7 | T | T | T | F |- | 24, 40 |
|8 | F | T | T | T |- | 33, 37 |
|9 | F | T | F | T |- | 34 |
|10 | F | T | T | F |- | 38 |
Con esto tenemos el _coverage_ completo por lo que podemos dejar cualquier valor de `e` para los casos en "-" .
## Casos de prueba
Combinando todos los requisitos:
| _TC#_ |_a_ |_b_ |_c_ | _d_ | _e_ | _TR_ cubiertos |
|--- |--- |--- |--- |--- |--- |--- |
|1 | T | T | T | T |T | 13, 16, 19, 23, 29, 32, 35, 39, 42, 45 |
|2 | T | T | F | T |F | 20, 36, 46 |
|3 | T | T | F | F |T | 14, 27, 30 |
|4 | F | T | F | F |T | 15, 17 |
|5 | F | F | F | F |F | 18, 22, 26, 28, 31, 41, 44 |
|6 | F | F | T | T |T | 21, 25, 43 |
|7 | T | T | T | F |T | 24, 40 |
|8 | F | T | T | T |T | 33, 37 |
|9 | F | T | F | T |T | 34 |
|10 | F | T | T | F |T | 38 |