<commit_before>---
layout: article
title: Testeo unitario avanzado
---


## Testeo unitario avanzado

Este artículo presenta algunas guías para desarrollar los casos de prueba, considerando que ya tienen una base de testeo unitario automatizado. Los puntos a tener en cuenta son:

- elegir los escenarios posibles (las clases de equivalencia)
- para cada uno de los escenarios, considerar
  - el caso feliz que debe cumplir el sistema
  - los casos borde
  - los casos que el sistema debe rechazar


## Ejemplo

Un sistema de seguros de automotor define cuándo pagar un siniestro, las condiciones pueden variar:

- para los clientes normales, si no son morosos (la deuda debe ser 0)
- para la flota, se soporta una deuda de hasta $ 10.000 si la flota tiene más de 5 autos ó hasta $ 5.000 en caso contrario

## Definiendo los escenarios

En base al ejemplo anterior, podemos considerar los siguientes escenarios:

- un cliente normal moroso
- un cliente normal que debe $1 (caso borde) => está en la misma clase de equivalencia que el que debe más de $ 1
- una flota con 3 autos
- una flota con 6 autos
- adicionalmente, podemos pensar el caso borde, una flota con 5 autos
<commit_msg>Removing title for advance unit testing<commit_after>---
layout: article
title: Testeo unitario avanzado
---


Este artículo presenta algunas guías para desarrollar los casos de prueba, considerando que ya tienen una base de testeo unitario automatizado. Los puntos a tener en cuenta son:

- elegir los escenarios posibles (las clases de equivalencia)
- para cada uno de los escenarios, considerar
  - el caso feliz que debe cumplir el sistema
  - los casos borde
  - los casos que el sistema debe rechazar


## Ejemplo

Un sistema de seguros de automotor define cuándo pagar un siniestro, las condiciones pueden variar:

- para los clientes normales, si no son morosos (la deuda debe ser 0)
- para la flota, se soporta una deuda de hasta $ 10.000 si la flota tiene más de 5 autos ó hasta $ 5.000 en caso contrario

## Definiendo los escenarios

En base al ejemplo anterior, podemos considerar los siguientes escenarios:

- un cliente normal moroso
- un cliente normal que debe $1 (caso borde) => está en la misma clase de equivalencia que el que debe más de $ 1
- una flota con 3 autos
- una flota con 6 autos
- adicionalmente, podemos pensar el caso borde, una flota con 5 autos

{'fraction_non_alphanumeric': 0.04566596194503171, 'fraction_numerical': 0.013530655391120507, 'mean_word_length': 3.8783505154639175, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5702608', 'n_tokens_mistral': 778, 'n_tokens_neox': 743, 'n_words': 370}