# 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 |