Introduction
Le souci de la propreté du code et de sa facilité de maintenance est sans doute l’aspect le plus négligé par les utilisateurs de R. Professionnels dans leur domaine, ils négligent souvent la qualité du code au profit de l’atteinte d’une réponse numérique satisfaisante dans le plus court délai
Nous avons tous déjà écrit quelques lignes de code afin de tester un comportement pour ensuite l’effacer. Nous avons tous déjà été confrontés à une incompréhension totale de notre propre code quelques mois après son écriture sans avoir moyen de confirmer la validité des résultats. Il existe des méthodes pouvant prévenir de telles situations, principalement connues sous le nom de tests automatisés.
Présentation
Cet atelier du colloque R à Québec 2019 vise à initier l’utilisateur au concept des tests automatisés, aux bonnes pratiques d’écriture de code informatique ainsi qu’à l’importance de la maintenabilité d’un code R. Cet atelier de 3 heures fera un survol du paquetage testthat
, un outil incontournable pour faciliter l’écriture des tests automatisés en R. Il permet d’intégrer rapidement et facilement une structure de tests automatisés qui amélioreront la maintenabilité et la testabilité du code pour soi-même et les prochains utilisateurs qui auront à le lire.
Thèmes abordés
- Survol des notions de base des tests automatisées
- Reproductibilité
- Simplicité
- Rapidité
- Documentation
- Intégration des tests avec le paquetage & visualisation des résultats
- Amélioration du code via une structure de test
Pré-requis pour la formation
Une connaissance intermédiaire de R est requise pour la formation. De plus, les participants doivent au préalable installer sur leur poste de travail:
- la plus récente version de R;
- la plus récente version de RStudio Desktop;
- la plus récente version du paquetage
testthat
; - la documentation de la formation.
Auteurs et animateurs
David Beauchemin, étudiant à la maîtrise en informatique à l’Université Laval.
Christopher Blier-Wong, étudiant au doctorat en actuariat à l’université Laval.