Dans un projet informatique, le test et la recette des différents éléments à livrer est une démarche complexe à mettre en œuvre mais primordiale pour fournir au client un produit de qualité. Ce site présent les concepts fondamentaux du testing et de la recette informatique.
L'informatique : domaine d'activité industriel ? – À de nombreux égards, l'informatique s'inspire de l'industrie : mise en place de processus standardisés, structuration des équipes, notion de produit livré, etc. Il convient d'aller au bout de la démarche, et de considérer, aussi, les problématiques de qualité.
La qualité logicielle – La qualité logicielle est un sujet large dont le cadre dépasse le cadre de cette formation : elle est néanmoins à l'origine de toute pratique de test et de recette, c'est pourquoi vous trouverez dans cette section une introduction à cette notion.
Le coût de la non-qualité – Comme nous l'avons vu, la qualité logicielle est une notion vaste qu'il est difficile de caractériser de manière exhaustive. En revanche, la non-qualité est généralement perceptible de manière très concrète : morceaux choisis illustrant le coût de la non-qualité logicielle…
Place de la qualité dans un projet informatique – Cette page a pour vocation de montrer comment la qualité doit s'intégrer dans un projet informatique, notamment en abordant quelques exemples de méthodologies.
Les indicateurs de qualité de la norme ISO 9126 – Cette page présente quelques critères qualité importants pour l'évaluation de la qualité d'un système informatique. Nous présentons à cet effet quelques initiatives et normes relatifs à la qualité logicielle (ISO 9126, ISO 14598, ISO 25041, CMMI…).
Les bases du testing – Dans cette section, vous découvrirez quelques éléments de base, à connaître absolument avant de vous lancer dans l'écriture de vos premiers tests unitaires, d'intégration, de montée en charge, etc.
Déployer des tests unitaires – OK, finie la théorie, venons en à la concrétisation de ce qui a été exposé dans la section consacrée aux bases du testing technique : voyons comment implémenter concrètement des tests dans un système informatique.
Déployer des tests d'intégration – Après avoir vu comment mettre en place des tests d'intégration, dans différents langages et selon différents paradigmes, nous allons à présent nous concentrer sur les tests d'intégration.
Quand et où écrire des tests unitaires ? – Cette page importante vous permettra de vous familiariser avec la notion de couverture de test, et vous donnera quelques indications sur le quoi, le où et le quand tester. À assimiler avant de lire la suite !
Comment se matérialise un test unitaire ? – Avant d'écrire nos premiers tests unitaires, nous allons voir comment ces tests se matérialisent concrètement, indépendamment des langages de programmation. Ces concepts seront communs à tous les langages.
Un premier exemple de tests unitaires en Javascript – Nous allons enfin écrire des tests unitaires. Dans ce premier exemple, nous illustrerons notre raisonnement sur un exemple en Javascript très simple, que vous pourrez expérimenter vous-même dans votre navigateur, sur cette page !
Comprendre les tests unitaires : exemples en Pythton – Cette page vous présentera quelques techniques de testing unitaire avec le langage Python. Au delà d'une implémentation de xUnit, Python propose un procédé de test original, doctest, permettant d'inclure des tests dans la documentation technique.
Tester unitairement un crawler simple en Java – Sur un exemple simple de crawler de moteur de recherche codé en Java, nous allons sur cette page implémenter quelques tests unitaires en Java.
Simulacres et bouchons – Nous allons voir sur cette page comment se sortir de certaines situations particulières où il n'est pas toujours possible de tester tous les composants comme on ne souhaiterait, en mettant en œuvre des astuces de type mock (simulacre) ou stub (bouchon).
Mise en œuvre de tests d'intégration avec Django – Django est un framework de de développement pour le web, qui permet de développer rapidement des applications de qualité. Du reste, il propose une sur-couche intéressante au framework de test unittest de Python : nous allons l'exploiter démontrer la mécanique des tests d'intégration, selon une approche TDD.
Tests unitaires – Les plus beaux et complexes ouvrages sont composés de pièces individuellement fiables. Cette page vous permettra de comprendre la nature et l'intérêt des tests unitaires en génie logiciel.
Tests d'intégration – Les tests d'intégration ont une importance non négligeable dans les projets informatiques. Cette page vous permettra de comprendre pourquoi, et en quoi ils consistent vraiment.
Les freins et difficultés : pourquoi ne pas tester ? – Tous les acteurs IT ne sont pas forcément convaincus de l'utilités d'une bonne politique de testing, notamment sur un plan technique. Cette page présente cette situation, et quelques arguments pour justifier l'intérêt de tester.
Recette : définition et typologie – Cette page présente la notion de recette, par le biais d'une définition simple et d'une classification des différents types de recette.
Les acteurs de la recette – Pour bien comprendre comment s'organise une recette informatique, il est fondamental de connaître les acteurs de la recette, et de savoir qui fait quoi (ou plus exactement qui est censé faire quoi…).
Organisation d'une recette – La recette est souvent qualifiée de « projet dans le projet », pour en souligner l'importance de cette phase dans les projets informatiques. Cette page présente les caractéristiques et le déroulement d'un projet de recette fonctionnelle.
Testing automatisé avec Selenium et Python – Nous allons voir sur cette page comment automatiser l'exécution de tests fonctionnels grâce à Selenium et son API pour Python.
ISTQB Foundation : fiche pratique – Cette page présente un ensemble d'éléments importants, à connaître absolument pour postuler à la certification ISTQB niveau Foundation. Attention : cette liste de choses à connaître n'est pas exhaustive !
TDD : cas « flux produits » – Ce cas pratique vous permettra de vous exercer au TDD (test driven development), sur la base d'un cas concret : la production de flux de produits d'un marchand.
Autres pages
Test et recette – Dans un projet informatique, le test et la recette des différents éléments à livrer est une démarche complexe à mettre en œuvre mais primordiale pour fournir au client un produit de qualité. Ce site présent les concepts fondamentaux du testing et de la recette informatique.