Les tendances 2021 en assurance qualité logicielle

Par Caroline Julien, spécialiste des tests chez Zentelia

La première moitié de 2021 est déjà dernière nous; notre équipe d’experts zenteliens en a profité pour se pencher sur les tendances de l’année en assurance qualité logicielle. Voici les rapports qui ont suscité notre intérêt pour notre revue documentaire :

Intelligence artificielle et apprentissage automatique

Le premier domaine tendance exploré ne surprendra personne : il s’agit de celui de l’intelligence artificielle et de l’apprentissage automatique. En effet, comment pouvons-nous tester la qualité d’une intelligence artificielle, mais encore plus, comment pouvons-nous tirer profit de cette ressource pour nous aider à assurer la qualité d’autres logiciels? Ainsi, l’IA pourrait contribuer à une place grandissante des outils ne nécessitant peu ou pas d’écriture de scripts de test, ce qui permettrait aux gens d’affaires de tous les domaines, sans compétence en programmation, d’améliorer leur processus de qualité. L’IA et l’apprentissage automatique pourront également soutenir les efforts et aider à surmonter les défis techniques en automatisation, un autre domaine d’importance que nous aborderons d’ailleurs plus loin.

Chaque équipe de qualité devrait maintenant posséder des compétences en IA, et devrait prévoir une stratégie relativement à ce domaine en ébullition. En commençant par identifier les outils qui utilisent des fonctionnalités d’IA, en en faisant l’apprentissage puis en acquérant de l’expérience avec ceux-ci, ils pourront ensuite être regroupés en une boîte à outils performante qui pourra soutenir la stratégie déterminée précédemment. Quant aux tests visant l’IA elle-même, l’expérience acquise dans le secteur de l’automobile pourra être un bon point de départ.

Agile, DevOps et QAOps

Manquant souvent de maturité en DevOps, l’assurance qualité y est tout aussi importante, d’où l’émergence d’une approche « QAOps ». On incite d’ailleurs à utiliser des tableaux de bord qualité, permettant une vision globale et un meilleur suivi des métriques de qualité. Un tableau de bord qualité devrait permettre de facilement planifier et suivre le cheminement prévu, de trouver les erreurs et les écarts, et de faire les ajustements nécessaires, et ce, en offrant une bonne visibilité de ces éléments et en optimisant la communication de ceux-ci à l’équipe entière.

   Exemple de tableau de bord tiré de slideTeam.net

Automatisation

Du côté de l’automatisation, la création d’un centre d’excellence et de groupes spécialisés est suggérée au sein des organisations. Par le développement d’un cadre stratégique, les équipes pourront optimiser la gestion des jeux de données d’essais ainsi que des environnements d’essais. Pour plusieurs projets, une proportion importante du travail est nécessaire pour obtenir, faire fonctionner et maintenir les environnements de tests, ce qui fait qu’une quantité considérable de temps, une denrée toujours précieuse, pourrait être récupérée grâce à cette expertise. Encore ici, il sera idéal de choisir et d’utiliser des outils efficaces et conviviaux qui soutiendront les efforts d’automatisation. Côté Web, la plus récente version de Selenium pourrait être une option de choix. Selenium est une suite d’outils très populaire comprenant entre autres l’outil Selenium WebDriver, une collection d’API open-source permettant d’automatiser les tests d’une application Web, sur différents navigateurs. Très attendue, la première version bêta est disponible depuis le mois de février dernier, élargissant l’éventail des possibilités en automatisation des tests QA.

Nouveauté dans Selenium 4, tiré de zenq.com

 

D’ailleurs, Selenium peut très bien se marier avec l’IA et l’apprentissage automatique qui, comme présenté précédemment, peuvent aussi prendre une place importante dans l’automatisation. Conjointement avec Selenium ou intégrée à d’autres outils, l’IA permet de créer et automatiquement mettre à jour des tests unitaires, de tester les interfaces utilisateur ou l’API d’une application, ou de soutenir l’automatisation des tests de maintenance.

Test du big data

Dans les domaines de la santé, de l’assurance, de la finance et des télécommunications, le volume toujours croissant des données dirige notre intérêt vers le domaine des mégadonnées, mieux connu sous le nom de big data. Il sera primordial de développer ou d’adapter une stratégie de tests en fonction de cette réalité.

 

Test des IoT (internet of things)

Du côté manufacturier, on retrouve maintenant le domaine des objets connectés (internet of things), domaine qui est lui aussi en rapide expansion. L’évaluation des caractéristiques non fonctionnelles comme la sécurité, la confidentialité, la fiabilité et l’utilisabilité y prend une place particulièrement importante. Plusieurs normes ISO/IEC et IEEE ont d’ailleurs été publiées dans les dernières années, et certaines ont fait ou feront l’objet d’une mise à jour en 2021.

 

Coûts de la non-qualité

Le risque de ne pas s’intéresser à la qualité logicielle est grand, et le coût de la non-qualité a d’ailleurs été estimé par le CISQ (Consortium for Information & Software Quality™). Ce coût s’élèverait à 2080 milliards de dollars en 2020 chez nos voisins américains : coûts de la dette technique, des systèmes ancestraux (legacy), des échecs opérationnels et de cybersécurité, et des échecs de grands projets qui n’ont pas pu être menés à bien. Les opportunités pour l’assurance qualité sont donc indéniables, et le rendement envisagé a de fortes chances de se concrétiser .

Comme pour l’agilité, de nombreux principes de qualité logicielle sont maintenant bien connus et reconnus, mais force est de constater qu’ils sont le plus souvent mal ou pas du tout appliqués dans les entreprises. Que ce soit en négligeant les grands principes généraux comme la prévention (plutôt que la détection tardive) des défauts en créant dès le départ du code de qualité, ou la répartition de l’effort de tests tout au long du processus de développement, ce qui améliore la qualité tout comme la satisfaction des membres de l’équipe, et augmente les chances de succès du projet, ou que ce soit dans les fautes plus concrètes comme le manque de traçabilité, les mauvais choix de compétences ou d’organisation des équipes, ou l’insuffisance de couverture de tests, les obstacles à la qualité sont nombreux et les risques qui en découlent sont grands. En priorité, il faudra s’assurer que la qualité soit au cœur du travail des équipes de développement, pour prévenir les défauts à la source plutôt que de s’acharner à les réparer par la suite.

Dans tous les cas, le travail des experts comme ceux de l’équipe de Zentelia restera vital pour développer, soutenir et maintenir la qualité logicielle. La spécialisation dans les divers domaines métier, comme en évaluation des spécifications non fonctionnelles, les compétences en analyse de risque et dans les verticaux tel que la santé, la maîtrise de différents outils cruciaux ainsi que l’élaboration de gabarits et de guides de pratique en qualité, représentent quelques-unes seulement des avenues à emprunter pour optimiser le service offert par l’équipe de Zentelia.

Auteure : Caroline Julien, spécialiste des tests chez Zentelia