Raphaël Friess, responsable des méthodes chez TECH’advantage, nous présente la vision du test adoptée par l’entreprise.

Quels sont les enjeux du test logiciel ?

Le cœur de métier de TECH’advantage est le développement de logiciels de type scientifique et de taille importante utilisés dans le domaine des géosciences, dans la mise au point de moteurs thermiques, ou destiné à la prospection pétrolière.

Tout au long de la chaîne et à chaque étape du développement de ces logiciels, le test est primordial. Le but est de détecter le maximum de défauts et de prévenir les erreurs. Et ce le plus tôt possible. S’il est malheureusement impossible de détecter tous les défauts, l’enjeu est de satisfaire aux exigences du client en atteignant un niveau de qualité en adéquation avec ses attentes. Pour y parvenir, les tests doivent être nombreux et réguliers.

Quelle est l’approche de TECH’advantage en matière de test ?

J’ai rejoint TECH’advantage comme expert des tests en étant particulièrement séduit et motivé par l’approche de l’entreprise en la matière. L’entreprise mène des tests sur les logiciels très tôt dans la chaîne de développement et à chacune des étapes de cette chaîne.

Un logiciel étant un assemblage de modules, la première étape pour les développeurs est donc la création de modules. TECH’advantage a mis en place des tests dès cette étape. Ce sont les tests unitaires. D’autres tests seront ensuite effectués au moment de l’assemblage des modules. Enfin, le logiciel sera encore une fois testé une fois son intégration terminée.

Lors des différentes étapes, nous menons deux types de tests : les tests statiques et les tests dynamiques. Les premiers se déroulent principalement au niveau unitaire, sur des modules du logiciel. Ce sont des tests automatisés, rendus possibles grâce à des logiciels de test existant en Open Source tel que Findbugs. Ils alertent nos développeurs, leur signalent une erreur dans l’écriture du code ou une manière de coder non conforme aux pratiques de TECH’advantage. Viennent ensuite les tests dynamiques qui s’effectuent sur plusieurs modules à la fois, lorsqu’on exécute le logiciel. Ce sont en majorité des tests manuels, effectués par le développeur qui teste son propre travail selon une technique boîte blanche, mais aussi par d’autres membres de l’équipe qui amènent un regard extérieur, ce que l’on nomme le test par les pairs et selon une technique boîte noire.

Depuis quelques années, nous nous dirigeons logiquement vers une automatisation du test puisque le test manuel est une pratique lourde, répétitive et coûteuse. TECH’advantage a recours à des outils, tel que Junit, permettant d’automatiser certains tests dynamiques. Nous nous en servons sur des modules critiques, où une erreur peut avoir un impact grave sur l’ensemble du logiciel.

Quels sont les points forts de TECH’advantage ?

La grande force de TECH’advantage réside dans sa chaîne de développement outillée pour aider à effectuer des tests et à mesurer la qualité du logiciel. Elle permet également de disposer quotidiennement d’une version intégrée sur laquelle il est possible d’effectuer des tests, et notamment de tester le dernier module intégré. En d’autres termes : nous pouvons tous les jours tester un logiciel qui est pourtant encore en chantier. C’est ce qui fait défaut à certaines entreprises se retrouvant sans aucune visibilité pendant certaines périodes de développement, qui détectent donc tardivement les défauts dans le cycle de développement.

Je soulignerais un second point fort : le fait que TECH’advantage prenne très au sérieux les méthodes de test. La société a pris conscience de la complexité du test et du degré de professionnalisation que cela exige. D’où ma présence. La société a franchi une étape en m’embauchant comme expert du test, afin que je mette en place des méthodes et pratiques permettant d’améliorer l’efficacité des tests. Je ne suis pas développeur, je suis un professionnel du test doté de la certification ISTQB.
C’est une évolution intéressante, le métier de testeur se distingue progressivement de celui de développeur, il a ses techniques propres et une expertise à amener à l’entreprise. TECH’advantage a saisi cette évolution très tôt et tâche ainsi de rester en pointe.