#image_title

L’IA, l’apprentissage automatique et l’avenir du développement logiciel

Chaque interaction réussie entre vous et votre application préférée est le résultat des efforts combinés d’une équipe d’assurance qualité (AQ). Ces chasseurs de problèmes infatigables veillent à ce que chaque aspect des applications dont dépendent les utilisateurs d’appareils mobiles du monde entier pour leurs besoins quotidiens fonctionne sans accroc, à travers chaque version et mise à jour.

Lorsque vous vous réveillez au son de votre réveil matinal, que vous consultez la météo ou que vous envoyez un message à un être cher, ce sont ces héros souvent méconnus que nous devons remercier.

Et lorsque les efforts de cette équipe échouent, ils en entendent certainement parler : de nombreux utilisateurs n’hésitent pas à fournir des commentaires négatifs sur des sites d’avis populaires (et très visibles).

Les attentes de l’utilisateur d’applications mobiles modernes – c’est-à-dire la quasi-totalité d’entre nous, de nos jours – ne sont rien de moins que la perfection, et c’est l’objectif principal d’une équipe d’assurance qualité de garantir un produit sans erreur à chaque déploiement.

La présence d’erreurs et de problèmes peut rapidement faire couler une application. Malheureusement, il n’y a rien de facile à garantir une expérience sans bug. Et c’est de plus en plus difficile. Le monde du développement logiciel d’aujourd’hui devient chaque jour plus complexe, et tester les nombreux potentiels et scénarios que ces complexités leur apportent signifie que les tests eux-mêmes sont devenus de plus en plus compliqués et gourmands en ressources.

Compte tenu de l’histoire du développement d’applications mobiles, il est plus que raisonnable de s’attendre à ce que les applications ne deviennent que plus complexes et nécessitent des tests encore plus avancés et fréquents. Mais doit-il en être ainsi ? Sommes-nous condamnés à un besoin toujours croissant de personnel et d’équipes d’assurance qualité de plus en plus grandes ?

Les années 1980 : les tests manuels

Prenons quelques instants pour réfléchir à la façon dont nous en sommes arrivés là. Jusqu’à relativement récemment – le « wow-je suppose-que-c’était-vraiment-il-y-a-longtemps-maintenant les années 1980 » – les équipes d’assurance qualité des logiciels comptaient beaucoup sur les tests manuels de leurs appareils pour s’assurer que les produits mis sur le marché fonctionnaient correctement .

C’était une époque plus simple, avec des appareils capables de beaucoup moins et actifs dans beaucoup moins de scénarios, et donc le codage manuel était un moyen de test suffisant. Bien qu’il s’agisse d’un travail fastidieux qui prenait beaucoup de temps lorsqu’il était effectué de manière approfondie, les tests manuels fonctionnaient bien pour les testeurs.

Mais la technologie, étant la bête en constante évolution et amélioration qu’elle est, a inauguré des changements sous la forme d’automatisation qui ont considérablement amélioré le processus de test. Les logiciels ont évolué et sont devenus plus complexes.

Les années 1990 – 2010 : automatisation des tests codés

Au cours des décennies suivantes, les progrès des tests ont libéré les testeurs d’assurance qualité des exigences d’un travail pratique sur des cas de test. Ils n’avaient plus besoin de détecter manuellement les bogues dans des piles de code spaghetti.

Ils avaient une nouvelle arme dans la guerre contre les problèmes logiciels : les tests manuels à grande échelle étaient devenus impraticables et, si une équipe d’AQ devait tester en profondeur une version potentielle dans un délai raisonnable, elle devait exécuter des scripts de test. grâce à un outil d’automatisation.

Alors, la guerre contre la complexité était-elle gagnée ? Pas assez. En fait, il vaut peut-être mieux considérer les tests automatisés moins comme une innovation révolutionnaire que comme une nouvelle étape dans la course aux armements contre la complexité toujours croissante des logiciels.

Le temps tournait sans qu’une nette victoire se profile à l’horizon. Les tests automatisés ont perdu du terrain alors que les applications mobiles ont explosé en popularité et sont devenues des outils essentiels à bon nombre de nos vies quotidiennes. Heureusement, au coin de la rue, un changement attendu depuis longtemps, un vrai révolution.

Les années 2020 : automatisation des tests sans code

Jusqu’à très récemment, le sort de l’équipe de test d’assurance qualité était devenu assez désastreux. Pour garantir une version de produit de qualité, les tests automatisés nécessitaient des appareils de code de plus en plus complexes, ce qui signifiait que les équipes d’assurance qualité devaient consacrer de plus en plus de programmeurs spécifiquement aux tests, plutôt qu’à d’autres tâches, comme la production de nouvelles fonctionnalités. Non seulement cela coûtait de plus en plus cher, mais cela impliquait également de repousser de plus en plus les dates de sortie dans le futur. Mais l’alternative, un lancement désastreux, pourrait être beaucoup, beaucoup plus chère (comme l’attestent de nombreuses versions cassées très médiatisées).

Mais vint ensuite l’inévitable. Par le biais du principe d’abstraction — dans lequel les représentations basées sur l’interface pavent des processus incroyablement complexes (pensez aux uns et aux zéros qui se cachent derrière l’article que vous êtes en train de lire, par exemple) — de nombreux spécialistes avaient annoncé depuis longtemps l’arrivée d’une montée en puissance de une nouvelle couche d’abstraction, une « révolution sans code », et cela s’est effectivement concrétisé ces dernières années.

Une poignée de plates-formes sont récemment apparues qui permettent des solutions sans code dans une grande variété d’industries. L’un des exemples les plus visibles de la révolution sans code est la popularité des éditeurs de sites Web véritablement « ce que vous voyez, c’est ce que vous obtenez » (pensez à Squarespace ou Wix), tandis que dans le domaine beaucoup moins visible des tests de logiciels, Sofy, la société que j’ai fondée, est une plate-forme unique qui fournit des tests sans code pour les applications mobiles.

La révolution sans code a entraîné un changement radical, permettant aux non-spécialistes de gérer des tâches complexes et libérant ces spécialistes pour d’autres tâches. Nous verrons sans aucun doute de plus en plus de solutions sans code pour une grande variété d’industries dans un avenir proche.

2025 ? Logiciel d’auto-test vraiment intelligent

Cela dit, dans l’ordre des choses, la révolution sans code n’est qu’un autre pas en avant, et je pense que la prochaine étape des tests logiciels est un logiciel qui se teste.

Je ne suis pas seul sur ce point : comme la révolution sans code, les logiciels d’auto-test sont une réalité projetée depuis des années. Au rythme du changement et de la croissance de la technologie, ilIl n’est pas du tout absurde d’imaginer que d’ici 2025, l’automatisation intelligente des tests (c’est-à-dire les logiciels d’auto-test), où l’IA de test fonctionne sans intervention humaine, se développera considérablement.

Actuellement, la mise en œuvre limitée des tests intelligents ajoute de la vitesse et de la qualité aux versions logicielles en s’appuyant sur l’apprentissage automatique (ML) et les plates-formes d’IA. Cela permet des tests rapides et continus (et avec eux un retour sur investissement accru). L’IA peut dupliquer l’intelligence humaine tandis que le ML rend l’apprentissage par ordinateur possible sans intervention humaine.

L’intelligence artificielle et l’apprentissage automatique utilisent des algorithmes basés sur l’apprentissage en profondeur pour accéder aux données et apprendre de ces données grâce à l’extraction de modèles pour un débogage et une prise de décision plus efficaces. Grâce à cette technologie, les équipes d’assurance qualité peuvent exécuter de nombreux tests sur une grande variété d’appareils et de variantes de facteurs de forme.

Et pas en jours, mais en heures. Maintenant c’est Une révolution.

Aucun code n’a encore besoin de personnes et les personnes ne sont pas des machines : elles font des erreurs. Même sans code – bien que considérablement réduit – l’erreur humaine reste un facteur à partir duquel de graves problèmes peuvent encore survenir. Considérez également l’utilisation excessive de ressources, de temps et d’efforts qui découle des tests humains.

Les tests intelligents génèrent et maintiennent automatiquement les cas de test et offrent des avantages précieux, qui peuvent se résumer en une augmentation de la productivité et de la qualité des résultats. Mais pour que l’automatisation intelligente des tests se produise, les ingrédients suivants doivent d’abord être combinés :

1. Apprendre de l’apport humain: Lorsqu’une machine teste, elle doit agir comme un humain. Il doit apprendre ce dont un humain a besoin et ce qu’il veut, et comment un humain se comporte avec un appareil. Cela peut être difficile à prévoir et, comme nous en avons discuté, une application complexe signifie des scénarios et des modèles de test complexes. La machine doit comprendre et fonctionner à partir de ce point de vue.

2. Apprendre à partir des données d’utilisation réelle des produits: Il est important qu’une machine comprenne comment une application est utilisée dans différents environnements de produit. Cela inclut la compréhension des appareils pouvant être utilisés et de la langue dans laquelle l’appareil est configuré, ainsi que ses flux d’utilisation, y compris l’utilisation des menus, des écrans et des actions.

3. Données d’entraînement: Tout comme avec les véhicules autonomes (un écrou qui n’a pas encore été craqué), un apprentissage automatique nécessite des données de formation qui aident à définir les modèles logiciels.

Pour chaque changement de code, ces trois éléments doivent être intériorisés et testés de manière approfondie. Ils doivent être agrégés et hiérarchisés de manière transparente et intelligente. Ce n’est pas une mince affaire mais, par exemple, chez Sofy, nous continuons à travailler vers cette prochaine étape.

Nous n’en sommes pas encore là. Chacune de ces étapes doit être complétée avant que nous puissions aller de l’avant, mais ce n’est vraiment qu’une question de temps.

Et les logiciels d’auto-test ne sont qu’une étape : je prédis que nous pouvons nous attendre à ce que d’autres exemples de non-code, qui arrivent tout juste sur le marché, évoluent vers l’apprentissage automatique. Je crois que ce n’est qu’une question de temps, aussi, avant que la génération de sites Web entiers basés sur quelques paramètres spécifiés par l’utilisateur ne devienne une réalité. Aujourd’hui, la révolution sans code est enfin arrivée, mais avec elle est venu le début d’une autre révolution qui se profile à l’horizon.

GroupeCréé avec Sketch.
www.actusduweb.com
Suivez Actusduweb sur Google News


Ce site utilise des cookies pour améliorer votre expérience. Nous supposerons que cela vous convient, mais vous pouvez vous désinscrire si vous le souhaitez. J'accepte Lire la suite