Bonsoir @RomainP,
Le développement logiciel ou ingénierie logiciel est quelque chose de compliqué par essence, puisque c’est une tâche qui reste encore très artisanale. La conception et la réalisation d’un site Internet reste de l’ingénierie logiciel. Et aujourd’hui les choses sont encore plus complexe que par le passé, car on intègre beaucoup de brique externe avec tout les aléas que cela peu entraîner.
Issu de la main de l’homme et comme j’aime à le dire l’homme n’étant pas infaillible aucun logiciel ne pourra être parfait.
Sans tout dévoiler, ce que je peux dire de façon générale sur la qualité puisque, les phases de tests font parties des problématiques de qualité. C’est que en premier lieux on ne peut-être juge et partie, il faut donc que les équipes de tests soient hiérarchiquement non dépendante des équipes R&D, cela va de soit. On fera donc dépendre les différentes équipes dont la qualité de la direction générale, sans interdépendance.
Dans le domaine du test et de la recette, thématique à part entière de l’ingénierie logiciel il y a plusieurs phases (tests de développement réalisé par la R&D, recettes, bêta, performance, …) qui doivent un maximum documenter et préparer… à l’avance.
Les tests s’appuient sur la documentation fonctionnelle et technique du logiciel. Celui qui sera peu documenter tant d’un point de vu fonctionnel que technique, aura du mal à être testé correctement.
Savoir écrire du code est en soit assez facile finalement, en fonction du langage utilisé et/ou des technologies employées.
La qualité de la documentation destinée à la fois aux équipes R&D, au tests et à la qualité ainsi que l’intégration de briques techniques (frameworks, bases de données, systèmes tiers, …) influenceront grandement les délais, la qualité, …
Les développeurs sont souvent enclin à refaire ce qui existe déjà…
Les développeurs sont souvent affirmatifs quand à la qualité de leur réalisation…
Certains développeurs sont très forts pour écrire… du code…
On pourrais écrire des pages entière sur la problématique de qualité mais, c’est avant tout une problématique de management et donc organisationnelle et humaine. Il faut donc accepter le fait que l’on n’est pas infaillible, que rien ne peut-être parfait mais, être pragmatique (pour ne pas dire « pragmatic »).
Il existe des outils depuis 1 à 2 décennies qui permettent d’automatiser les tests et de façon générale d’outiller le processus R&D logiciel. Il ne faut pas se priver de les utiliser quand on peu, car ils peuvent vraiment êtres utiles et faire économiser de l’argent finalement, même si l’investissement peu s’avérer très lourd.
Les outils de conception et autres référentiel sont devenues nécessaires dans bien des cas, car ils participe à cette problématique de recherche de qualité.
Finalement la phase de bêta-tests importante en soit, qui doit être intégrée dans un processus itératif du développement doit être préparé, piloté et analysé. Il faut en effet, suivre les anomalies remontées, les corriger cela va de soit mais, aussi en garder une trace. Car la régression guette le développeur inattentif.