Fichiers tests

Salut ! Petit message pour exprimer mon étonnement quant aux fichiers tests : j'ai l'impression qu'il ne testent pas si un algo marche réellement, avec des exemples "dégénérés".
Par exemple, pour l'épreuve machine de cette année :
* Pour le problème "multiplications" : je me suis personnellement embêté à faire un code traitant le cas où on avait un nombre négatif et un positif (et où le produit maximal était négatif et non 0). Il se trouve qu'un tel cas n'apparaît dans aucun fichier test (un algo passant à côté de ce cas passe tous les tests.)
* Pour le problème "Welcome to GATTACA", après avoir soumis un algo juste, je l'ai modifié (un

Voilà.

En passant je trouve quand même un peu scandaleux que le code donné pour "Quarante et quelques" en Ocaml ne compile pas de base xD (en rajoutant 42 là où il faut quand même).

Arti, je pense surtout que les tests ne sont pas faits pour nous piéger sur de petites choses, mais pour évaluer surtout qu'on a un code globalement juste et surtout assez optimisé. Les tests vont donc être faits plutôt pour nous faire dépasser la limite de temps ou celle de mémoire que pour tester si on a bien mis un

Pour "multiplications", je vois pas trop en quoi c'est s'embêter que de traiter ce cas. Logiquement, si ton code n'est pas Jill-Jennesque, il devrait pouvoir le gérer sans que t'aies à trop y réflechir.

Bah pour moi (en tout cas, c'est comme ça pour les autres concours d'algorithmique à ma connaissance) : les fichiers tests servent à deux choses :
- à valider un algorithme par rapport à un énoncé, donc à invalider un algorithme qui ne marche pas pour tous les cas envisageables. Ceci se fait au travers de fichiers tests présentant des cas "dégénérés" ou particuliers, ainsi que sur de gros tests.
- à valider l'algo par rapport aux contraintes de temps/mémoire : ya pas besoin de plus de 3 voire 4 tests pour ça a priori, ce qui laisse donc 6 tests (voire plus, il n'y a pas forcément que 10 fichiers tests) pour détecter les erreurs potentielles citées plus haut.
En plus, pour Prologin, on doit passer tous les tests pour accéder au problème suivant, il n'y a donc pas de pondération des tests (par exemple accorder plus de valeur à la justesse de l'algo qu'à ses performances, ou inversement).
Pour multiplications, j'avoue que j'ai dû pas le coder assez proprement, là ça va tout seul \^\^

Pour le "

Enfin, c'est mon avis perso, je voulais juste le donner et avoir l'avis de ceux qui s'occupent de faire les fichiers tests (fin les autres avis sont les bienvenus\^\^)

Il faut se dire quand même que trouver des fichiers tests exhaustifs, qui permettent de valider un algo', c'est un peu impossible à faire. Dire qu'un truc fonctionne parce qu'il a passé 10 tests, ça ne vaudra jamais une preuve en Coq de sa correction =)

Répondre au sujet

Vous devez vous enregistrer ou vous connecter pour poster des messages.