Maison  >  Article  >  Périphériques technologiques  >  Intelligence artificielle, apprentissage automatique et avenir du développement logiciel

Intelligence artificielle, apprentissage automatique et avenir du développement logiciel

王林
王林avant
2023-04-30 13:37:061053parcourir
Chaque interaction réussie entre vous et vos applications préférées est le résultat d'un effort conjoint de l'équipe QA.

Intelligence artificielle, apprentissage automatique et avenir du développement logiciel

Chaque interaction réussie que vous avez avec vos applications préférées est le résultat d'un effort de collaboration de l'équipe d'assurance qualité (AQ). Ces chasseurs de problèmes infatigables veillent à ce que chaque aspect des applications sur lesquelles les utilisateurs d'appareils mobiles du monde entier comptent pour leurs besoins quotidiens fonctionne correctement à chaque version et mise à jour.

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

Lorsque les efforts de l’équipe échouent, ils sont sûrs d’entendre la nouvelle : de nombreux utilisateurs n’hésiteront pas à fournir des commentaires négatifs sur les sites d’avis populaires (et très évidents).

Les utilisateurs d'applications mobiles modernes - c'est-à-dire la quasi-totalité d'entre nous désormais - attendent la perfection, et l'objectif principal des équipes d'assurance qualité est de garantir que chaque déploiement d'un produit sans bug.

La présence de bugs et de problèmes peut rapidement faire échouer une application. Malheureusement, garantir une expérience sans bug n’est pas une tâche facile. Et cela devient de plus en plus compliqué. Le monde actuel du développement logiciel devient de plus en plus complexe, et les tests par rapport aux nombreux potentiels et scénarios qu'apporte cette complexité signifient que les tests eux-mêmes deviennent de plus en plus complexes et gourmands en ressources.

Compte tenu de l’historique du développement d’applications mobiles, il est tout à fait raisonnable de s’attendre à ce que les applications ne fassent que devenir plus complexes et nécessitent des tests plus avancés et plus fréquents. Mais est-ce que cela doit être ainsi ? Sommes-nous destinés à avoir de plus en plus besoin de personnel et d’équipes d’assurance qualité de plus en plus grandes ?

Les années 1980 : tests manuels

Prenons un moment pour réfléchir à la façon dont nous en sommes arrivés là. Jusqu'à récemment - "Wow - je suppose que c'était vraiment dans les années 1980" - les équipes d'assurance qualité des logiciels s'appuyaient fortement sur des tests manuels de leurs équipements pour s'assurer que les produits mis sur le marché fonctionnaient bien

C'était plus dans des temps plus simples. , les appareils avaient beaucoup moins de fonctionnalités et de scénarios actifs, le codage manuel était donc un moyen de test adéquat. Bien que ce travail fastidieux prenne beaucoup de temps lorsqu'il est effectué de manière approfondie, les tests manuels fonctionnent bien pour les testeurs.

Mais la technologie, étant une bête en constante évolution et amélioration, a introduit des changements sous forme d'automatisation, ce qui a considérablement amélioré le processus de test. Les logiciels continuent de progresser et de devenir plus complexes.

Années 1990 – 2010 : automatisation des tests de codage

Au cours des décennies suivantes, les progrès dans le domaine des tests ont libéré les testeurs d'assurance qualité de l'obligation de parcourir physiquement les cas de test. Ils n’ont plus besoin de rechercher manuellement les bogues dans des tas de code.

Ils disposent d'une nouvelle arme dans la guerre contre les problèmes logiciels : les tests manuels à grande échelle sont devenus peu pratiques, et si une équipe d'assurance qualité doit tester minutieusement une version potentielle dans un laps de temps raisonnable, elle doit effectuer des tests via Script. outil d'automatisation.

Alors, la guerre de la complexité est-elle gagnée ? Pas complètement. Il est préférable de considérer les tests automatisés moins comme une innovation révolutionnaire que comme une nouvelle étape dans la course aux armements avec la complexité en constante évolution des logiciels.

Le temps presse mais il n’y a pas encore de victoire claire à l’horizon. À mesure que les applications mobiles gagnent en popularité et deviennent un outil essentiel dans notre vie quotidienne, les tests automatisés perdent du terrain. Heureusement, un changement tant attendu arrive, une vraierévolution.

Les années 2020 : l'automatisation des tests sans code

Jusqu'à récemment, le dilemme des équipes de tests d'assurance qualité était devenu vraiment désastreux. Pour garantir des versions de produits de haute qualité, les tests automatisés nécessitent des outils de codage de plus en plus sophistiqués, ce qui signifie que les équipes d'assurance qualité doivent consacrer de plus en plus de programmeurs aux tests plutôt qu'à d'autres tâches, telles que la génération de nouvelles fonctionnalités. Non seulement cela coûte de plus en plus cher, mais cela implique également de repousser de plus en plus les dates de sortie. Mais l’alternative, un lancement catastrophique, peut être bien plus coûteuse (comme l’ont prouvé de nombreux lancements ratés de grande envergure).

Mais l'inévitable s'est produit. Grâce au principe d'abstraction – la représentation basée sur l'interface ouvre la voie à des processus extrêmement complexes (pensez, par exemple, aux 1 et aux 0 qui se cachent derrière l'article que vous lisez) – de nombreux experts annoncent depuis longtemps une nouvelle couche d'abstraction, qui Il existe une « révolution sans code » qui s'est réellement concrétisée ces dernières années.

Plusieurs plateformes ont vu le jour récemment qui permettent l'utilisation de solutions sans code dans diverses industries. L'un des exemples les plus évidents de la révolution sans code est la popularité des véritables éditeurs de sites Web WYSIWYG (pensez à Squarespace ou Wix), et dans le domaine le moins évident des tests de logiciels, la société que j'ai fondée, Sofy, est une plateforme unique. , qui fournit des tests sans code pour les applications mobiles.

La révolution du no-code a provoqué des changements bouleversants, permettant aux non-experts de gérer des tâches complexes et laissant aux experts plus de temps pour gérer d'autres tâches. Par conséquent, nous verrons sans aucun doute de plus en plus de solutions sans code pour diverses 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, je pense que la prochaine étape dans les tests logiciels est de se tester logiciel.

Je ne suis pas seul dans ce cas : tout comme la révolution du no-code, l'autotest des logiciels est une réalité attendue depuis des années. Au rythme auquel la technologie évolue et se développe, il n’est pas absurde d’imaginer que d’ici 2025, l’automatisation intelligente des tests (c’est-à-dire les logiciels d’auto-test) capables de tester les opérations de l’IA sans intervention humaine sera considérablement développée.

Actuellement, des implémentations limitées de tests intelligents améliorent la vitesse et la qualité des versions logicielles en s'appuyant sur des plateformes d'apprentissage automatique (ML) et d'intelligence artificielle. Cela permet des tests rapides et continus (et donc un retour sur investissement amélioré). De plus, l’IA peut reproduire l’intelligence humaine, tandis que le ML permet aux ordinateurs d’apprendre sans intervention humaine.

L'intelligence artificielle et l'apprentissage automatique utilisent des algorithmes basés sur l'apprentissage profond pour accéder aux données et apprendre à partir des données en extrayant des modèles pour un débogage et une prise de décision plus efficaces. De plus, cette technologie permet aux équipes d'assurance qualité d'effectuer de nombreux tests sur divers appareils et différents facteurs de forme.

Pas des jours, mais des heures. Maintenant c'est une révolution.

Aucun code n'exige encore des gens ; les gens ne sont pas des machines : ils font des erreurs. Même sans code, bien que considérablement réduite, l’erreur humaine reste un facteur à l’origine de graves problèmes. Tenez compte de la surutilisation des ressources, du temps et des efforts provoquée par les tests manuels.

Les tests intelligents génèrent et maintiennent automatiquement des cas de test et génèrent des avantages précieux qui peuvent être résumés par une productivité et une qualité de sortie accrues. Mais pour parvenir à une automatisation intelligente des tests, vous devez d'abord combiner les éléments suivants :

  • Apprendre de l'apport humain : Lorsqu'une machine teste, elle doit agir comme une action humaine. Il doit comprendre ce dont les humains ont besoin et ce qu’ils veulent, ainsi que la manière dont ils utilisent les appareils. Comme nous l’avons évoqué, cela peut être difficile à prédire, et des applications complexes impliquent des scénarios et des modèles de test complexes. Cependant, la machine doit être comprise et utilisée de ce point de vue.
  • Apprenez à partir des données d'utilisation réelle du produit : La machine doit comprendre comment l'application est utilisée dans différents environnements de production. Cela inclut la compréhension de l'appareil susceptible d'être utilisé, de la langue dans laquelle l'appareil est configuré et du déroulement de son utilisation, y compris l'utilisation des menus, des écrans et des actions.
  • Données d'entraînement : Comme les voitures autonomes (un écrou qui n'a pas encore été résolu), l'apprentissage automatique nécessite des données d'entraînement pour aider à définir les modèles logiciels.

Ces trois éléments doivent être internalisés et testés minutieusement pour chaque changement de code. Ils doivent ensuite être regroupés et hiérarchisés de manière transparente et intelligente. Ce n’est pas une mince affaire, mais nous continuerons à œuvrer pour passer à l’étape suivante.

Nous ne l'avons pas encore. Chacune de ces étapes doit être franchie avant de pouvoir avancer, mais ce n'est en réalité qu'une question de temps.

Les logiciels d'auto-test ne sont que la première étape : je prédis que nous pouvons nous attendre à d'autres exemples sans code qui arrivent tout juste sur le marché dans le sens de l'apprentissage automatique. Je pense que ce n'est qu'une question de temps avant que la génération de sites Web entiers basés sur certains paramètres spécifiés par l'utilisateur devienne une réalité. Aujourd’hui, la révolution du no-code est enfin arrivée, mais avec elle vient le début d’une autre révolution.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer