Diseño de pruebas
Enviado por Marcelo Riveros • 7 de Octubre de 2020 • Ensayo • 793 Palabras (4 Páginas) • 79 Visitas
Actividad 1 – Marcelo Riveros
Diseño de pruebas
a-.
Palabra | Descripción | Resultado |
Qwertyui1 | Contraseña sencilla con mínimos requerimientos | Es segura |
Qwertyu1 | Contraseña sencilla que cumple con mayúsculas, minúsculas y cantidad de dígitos, pero no con el largo mínimo | No es segura |
Qwertyuio | Contraseña sencilla que cumple con mayúsculas, minúsculas y largo mínimo, mas no con los dígitos | No es segura |
qwertyui1 | Contraseña que cumple con minúsculas, dígitos y largo mínimo, mas no con tener una mayúscula | No es segura |
QWERTYUI1 | Contraseña que cumple con mayúsculas, dígitos y largo mínimo, mas no con tener minúsculas | No es segura |
Asd123a | Contraseña que cumple con tener a lo más 3 dígitos seguidos, largo mínimo, mayúsculas y minúsculas | Es segura |
Asdf1234 | Contraseña que cumple con lago mínimo, mayúsculas, minúscula y mínimo 1 dígito, mas no con la condición de no tener 4 dígitos seguidos | No es segura |
12345678 | Contraseña que sólo contiene números y largo mínimo, mas no letras | No es segura |
qwertyuio | Contraseña sin números ni mayúsculas | No es segura |
Qwer123 | Contraseña que cumple con mayúscula, minúsculas y cantidad de mínimos máxima seguida, mas no con el largo mínimo | No es segura |
COBERTURA
Parte A
- Statement Coverage
- Usando el mismo ejemplo del enunciado, el código entra a buyable = true.
- Instanciando Book.new(“Game of thrones”, 1, 10) y usando GoT.can_buy?([“Señor de los anillos”], 6000), se entra al primer if del else.
- Instanciando Book.new(“Game of thrones”, 2, 6) y usando GoT.can_buy?([“Señor de los anillos”], 6000), se entra al else del else.
Así, se alcanza el 100% coverage.
- Branch Coverage
Con exactamente los mismos ejemplos anteriores se alcanzan todas la ramas del código.
- Condition Coverage
- Para balance >= @@price:
- Usando el mismo ejemplo del enunciado, se alcanza el true, pero instanciando LoR.can_buy?([“Señor de los anillos”], 4000) se alcanza el false y el 100% de esta condición.
- Para recommended.include?(saga) || volume = total_volume:
- Para tomar true basta que una de las condiciones sea true. Así, por un lado, el mismo ejemplo del enunciado basta para lograr que recommended.include?(saga). Por otro lado, instanciando LoR = Book.new(“Señor de los anillos”, 3, 3) también entraría en este caso.
- Para tomar false, ambas condiciones debe ser falsa. Por un lado, recommended.inlude?(saga) es falso usando el test case usado en el punto 2 de Statement Coverage.
- En caso de haber entrado al else anterior, debemos encontrar los casos de volumen == 1 && total_volumen >= 8:
- Para que tome true, ambas condiciones deben ser verdaderas, lo cual ocurre usando el segundo ejemplo de Statement Coverage
- Para que tome false, alguna de las condiciones debe ser false. Por un lado, instanciando Book.new(“Game of thrones”, 1, 6) y por otro lado, instanciando Book.new(“Game of thrones”, 2, 7). En ambos casos, al hacer GoT.can_buy?([“Señor de los anillos”], 6000) se hacen falsos las respectivas condiciones
Parte B
El seudocódigo es:
Aprueba?(tareas, proyecto, asistencia):
If tarea >= 4 && proyecto >= 4:
Return true
Elsif tarea >= 4.5 && proyecto >= 3.8 && asistencia >= 0.9:
Return true
Return false
Condition Coverage
Conjunto 1:
- Alumno 1: True del primer if
- Alumno 2: False de ambos ifs
- Alumno 3: False de ambos ifs
- Alumno 4: True del primer if
- Alumno 5: True del Segundo if
- Alumno 6: True del Segundo if
Coverage: 100%
Conjunto 2:
- Alumno 1: True del primer if
- Alumno 2: False de ambos ifs
- Alumno 3: False de ambos ifs
- Alumno 4: False de ambos ifs
- Alumno 5: False de ambos ifs
Coverage: 75% (ya que nunca entra al true del segundo if)
Branch Coverage:
...