Table des matières
1. La vraie vérité
3. IA systématique peu fiable
5. Mesures d'atténuation des risques
Maison Périphériques technologiques IA L'IA qui fait tant de bruit est tellement excitante !

L'IA qui fait tant de bruit est tellement excitante !

Apr 11, 2023 pm 05:34 PM
人工智能 ai 版本

​Auteur | Mush Honda

Planificateur | Yun Zhao

À la fin de l'année dernière, comme du jour au lendemain, l'intelligence artificielle est redevenue populaire. Premièrement, les images générées par DALL-E 2 étaient réalistes et "l'équitation". "astronaute" était accrocheur. Inoubliable, suivi de Stable Diffusion, une IA de dessin sous copyright public qui génère des images générées par du texte, et de la dernière "bombe royale" : ChatGPT, qui était au sommet de ses débuts, a valu à OpenAI beaucoup de affronter. Même pendant la Fête du Printemps, de nombreux internautes ont déploré qu'elle soit « en danger », craignant que l'apogée de cette vague d'intelligence artificielle ne leur enlève réellement leur emploi. Cependant, la réalité sera-t-elle vraiment ainsi ? L’IA va-t-elle inaugurer une renaissance des logiciels d’application informatique ? Cet article prend comme exemple une application de terrain spécifique pour expliquer les trois étapes de l'élaboration de l'IA et explique plusieurs raisons pour lesquelles l'IA ne devrait pas et ne peut pas devenir complètement autonome. De plus, l'auteur a également expliqué à quoi devrait ressembler un véritable personnage d'IA. Nous devons être vigilants, mais pas paniquer.

« Grâce à l'intelligence artificielle, le délai de livraison sera réduit de quelques minutes à quelques secondes ! » « Les fournisseurs et les clients reviendront à l'ère de l'expérience bon marché et conviviale, et les logiciels d'application informatique inaugureront un moment de renaissance »

 !

Malheureusement, un espace de stockage bon marché, des vitesses de traitement élevées, des équipements de formation en IA facilement disponibles et Internet ont transformé cette promesse en un battage médiatique exagéré.

Prenons l'exemple des tests de logiciels. Si vous recherchez « Application de l'intelligence artificielle dans les tests de logiciels », le système renverra une série de solutions « magiques » promises aux acheteurs potentiels. De nombreuses solutions offrent des moyens de réduire le travail manuel, d'améliorer la qualité et de réduire les coûts. Ce qui est un peu étrange, c'est que certains fabricants promettent que leurs solutions d'IA peuvent parfaitement résoudre les problèmes de tests logiciels, et la formulation est encore plus choquante - le "Saint Graal" des tests logiciels - l'idée est de le dire ainsi - c'est de éloignez les gens des difficultés et des soucis. Cela vous libère du cycle de développement logiciel et rend le cycle de test plus court, plus efficace et plus simple.

L'IA peut-elle vraiment se transformer en le tout-puissant « Saint Graal » ? Par ailleurs, faut-il laisser l’IA remplacer complètement l’humain ? Il est temps de mettre un terme à ces battages médiatiques presque absurdes.

1. La vraie vérité

Dans le monde réel, exclure les humains du processus de développement logiciel est beaucoup plus complexe et intimidant. Indépendamment de l'utilisation de méthodologies en cascade, de développement rapide d'applications, DevOps, agile et autres, les personnes restent au centre du développement logiciel car elles définissent les limites et le potentiel des logiciels qu'elles créent. Dans le domaine des tests logiciels, étant donné que les exigences commerciales sont souvent floues et en constante évolution, les « objectifs » changent constamment. Les utilisateurs exigent des changements en termes de convivialité, et même les attentes des développeurs quant à ce qui est possible avec le changement logiciel.

Les normes et méthodes originales de test de logiciels (y compris le terme assurance qualité) proviennent du domaine des tests de produits de fabrication. Dans ce cas, le produit est bien défini, les tests sont plus mécaniques, mais les caractéristiques du logiciel sont malléables et changent fréquemment. Les tests logiciels ne se prêtent pas à cette approche machine uniforme de l’assurance qualité.

Dans le développement de logiciels modernes, il existe de nombreuses choses que les développeurs ne peuvent pas prédire ni connaître. Par exemple, les attentes en matière d'expérience utilisateur (UX) peuvent avoir changé après la première itération du logiciel. Exemples spécifiques : Les utilisateurs ont des attentes plus élevées en matière de temps de chargement d'écran plus rapides ou d'exigences de défilement plus rapides. Les utilisateurs ne souhaitent plus un défilement prolongé vers le bas de l'écran, car ce n'est plus populaire.

Pour diverses raisons, l'intelligence artificielle ne peut jamais prédire ou tester par elle-même ce que même son créateur ne peut pas prédire. Par conséquent, dans le domaine des tests logiciels, il est impossible de disposer d’une intelligence artificielle véritablement autonome. La création d’un « terminateur » de tests logiciels peut susciter l’intérêt des spécialistes du marketing et des acheteurs potentiels, mais de tels déploiements sont voués à être un mirage. Au lieu de cela, l’autonomie des tests logiciels a plus de sens dans le contexte de la collaboration entre l’IA et les humains.

2. L'IA doit passer par trois étapes de maturité

Tests logiciels Le développement de l'IA est essentiellement divisé en trois étapes de maturité :

  • Étape opérationnelle (Opérationnel)
  • Étape procédurale (Processus)
  • Stade systématique (Systémique)

Actuellement, la grande majorité des tests de logiciels basés sur l'intelligence artificielle sont en phase opérationnelle. À la base, les tests opérationnels consistent à créer des scripts qui imitent des routines que les testeurs exécutent des centaines de fois. L'« IA » dans cet exemple est loin d'être intelligente et peut aider à raccourcir la création de scripts, l'exécution répétitive et le stockage des résultats.

L'IA procédurale est une version plus mature de l'IA opérationnelle et est utilisée par les testeurs pour la génération de tests. D'autres utilisations peuvent inclure l'analyse et les recommandations de la couverture des tests, l'analyse des causes profondes des défauts et l'estimation des efforts, ainsi que l'optimisation de l'environnement de test. L’IA des processus peut également faciliter la création de données synthétiques basées sur des modèles et des utilisations.

Les avantages de l'IA procédurale sont évidents, fournissant une paire d'« yeux » supplémentaire pour compenser et couvrir certains des risques que les testeurs prennent lors de la mise en place de stratégies d'exécution de tests. Dans les applications pratiques, l’IA procédurale peut faciliter le test du code modifié.

  • Les tests manuels voient souvent les testeurs retester l'ensemble de l'application, à la recherche de conséquences inattendues lorsque le code est modifié.
  • L'IA procédurale, en revanche, peut recommander de tester une seule unité (ou une zone d'impact limitée) plutôt qu'un nouveau test massif de l'ensemble de l'application.

À ce niveau d'IA, nous voyons des avantages évidents en termes de temps et de coût de développement.

Cependant, lorsque l'attention se porte sur la troisième étape - l'IA systémique, le tableau devient flou, car l'avenir pourrait bien devenir une pente glissante et une promesse non récompensée.

3. IA systématique peu fiable

Les tests systématiques (ou complètement autonomes) de l'IA sont impossibles (du moins actuellement impossibles). L'une des raisons est que l'IA nécessitera beaucoup de formation. Les testeurs peuvent être sûrs que l’IA des processus suggérera un test unitaire garantissant de manière adéquate la qualité du logiciel. Cependant, avec l’IA système, les testeurs ne peuvent pas savoir avec un degré élevé de certitude que le logiciel répondra à toutes les exigences.

Si ce niveau d'IA est véritablement autonome, il devra tester toutes les exigences imaginables - même celles qui ne sont pas imaginables par les humains. Ils doivent ensuite revoir les hypothèses et les conclusions de l’IA autonome. Confirmer que ces hypothèses sont correctes nécessite beaucoup de temps et d’efforts pour fournir des preuves hautement crédibles.

Les tests de logiciels autonomes ne pourront jamais être entièrement réalisés. Parce que les gens ne lui feront pas confiance, ce qui équivaut à perdre l’objectif et le principe d’atteindre une autonomie complète.

4. L'intelligence artificielle a besoin de formation

Bien que l'intelligence artificielle entièrement autonome soit un mythe, l'intelligence artificielle qui soutient et étend les efforts humains en matière de qualité des logiciels est un objectif qui mérite d'être poursuivi. Dans ce cas, les humains peuvent soutenir l’IA : les testeurs doivent encore rester patients dans la supervision, la correction et l’enseignement de l’IA et des ensembles de formation en constante évolution sur lesquels elle s’appuie. Le défi est de savoir comment entraîner l'IA tout en attribuant des risques aux divers bugs du logiciel de test. Cette formation doit être continue et ne pas se limiter aux zones de test. Les constructeurs de voitures autonomes entraînent l’intelligence artificielle à distinguer si une personne traverse la rue ou fait du vélo.

Les testeurs doivent former et tester les logiciels d’IA sur des données antérieures pour renforcer leur confiance dans les capacités de l’IA. Dans le même temps, une IA véritablement autonome dans les tests doit prédire les conditions futures (conseils aux développeurs et conseils aux utilisateurs), ce qu’elle ne peut pas faire sur la base de données historiques. Au lieu de cela, les formateurs ont tendance à former l’IA sur la base d’ensembles de données basés sur leurs propres préjugés. Ces biais limitent les possibilités d’exploration de l’intelligence artificielle, tout comme un aveugle empêcherait un cheval de s’écarter de sa trajectoire établie par souci de certitude. Plus l’IA paraît biaisée, plus sa crédibilité sera mauvaise. La meilleure façon de former l’IA est de traiter les probabilités de risque et d’en dériver des stratégies d’atténuation des risques qui sont finalement évaluées par les humains.

5. Mesures d'atténuation des risques

En dernière analyse, les tests de logiciels concernent le sentiment d'accomplissement et la confiance en soi du testeur. Ils mesurent et évaluent les conséquences possibles de la mise en œuvre initiale ainsi que les modifications de code susceptibles de poser des problèmes aux développeurs et aux utilisateurs. Mais il est indéniable que même si les tests logiciels ont exploré pleinement toutes les possibilités de crash d'application, la fiabilité ne peut pas être de 100 %. Il existe un élément de risque dans tous les tests logiciels, qu'ils soient effectués manuellement ou automatiquement.

Les testeurs doivent décider de la couverture des tests en fonction de la probabilité que le code cause des problèmes. Ils doivent également utiliser l’analyse des risques pour décider quels domaines doivent être ciblés en dehors de la couverture. Même si l’IA détermine et affiche la probabilité relative de panne logicielle à tout moment de la chaîne d’activité des utilisateurs, les testeurs doivent toujours confirmer manuellement les calculs.

L'intelligence artificielle offre la possibilité d'une continuité logicielle affectée par les écarts historiques. Cependant, il n’existe toujours pas un niveau élevé de confiance dans les recettes d’évaluation des risques liés à l’IA et de réduction des risques.

Les outils de test de logiciels basés sur l'IA doivent être pratiques et efficaces afin d'aider les testeurs à produire des résultats réalistes tout en les déchargeant du travail manuel.

Le déploiement le plus excitant (et potentiellement perturbateur) de l'IA dans les tests logiciels se situe au deuxième niveau de maturité du développement de l'IA : l'IA procédurale. Comme l'a noté un chercheur de Katalon : « La plus grande utilisation pratique de l'IA appliquée aux tests logiciels se situera au niveau du processus, la première étape de la création de tests autonomes. C'est à ce moment-là que je pourrai créer des tests automatisés que je pourrai créer. , peut aussi me servir. "

L'intelligence artificielle autonome et autodirigée, remplaçant toute participation humaine au processus de test des logiciels, etc. sont autant de battage médiatique. Il est plus réaliste et souhaitable de s’attendre à ce que l’IA augmente et complète les efforts humains et réduise les délais de test.

Lien de référence : https://dzone.com/articles/ai-in-software-testing-the-hype-the-facts-the-pote

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 de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Où trouver la courte de la grue à atomide atomique
1 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Quelle méthode est utilisée pour convertir les chaînes en objets dans vue.js? Quelle méthode est utilisée pour convertir les chaînes en objets dans vue.js? Apr 07, 2025 pm 09:39 PM

Lors de la conversion des chaînes en objets dans vue.js, JSON.Parse () est préféré pour les chaînes JSON standard. Pour les chaînes JSON non standard, la chaîne peut être traitée en utilisant des expressions régulières et réduisez les méthodes en fonction du format ou du codé décodé par URL. Sélectionnez la méthode appropriée en fonction du format de chaîne et faites attention aux problèmes de sécurité et d'encodage pour éviter les bogues.

Comment optimiser les performances de la base de données après l'installation de MySQL Comment optimiser les performances de la base de données après l'installation de MySQL Apr 08, 2025 am 11:36 AM

L'optimisation des performances MySQL doit commencer à partir de trois aspects: configuration d'installation, indexation et optimisation des requêtes, surveillance et réglage. 1. Après l'installation, vous devez ajuster le fichier my.cnf en fonction de la configuration du serveur, tel que le paramètre innodb_buffer_pool_size, et fermer query_cache_size; 2. Créez un index approprié pour éviter les index excessifs et optimiser les instructions de requête, telles que l'utilisation de la commande Explication pour analyser le plan d'exécution; 3. Utilisez le propre outil de surveillance de MySQL (ShowProcessList, Showstatus) pour surveiller la santé de la base de données, et sauvegarde régulièrement et organisez la base de données. Ce n'est qu'en optimisant en continu ces étapes que les performances de la base de données MySQL peuvent être améliorées.

Comment résoudre MySQL ne peut pas être démarré Comment résoudre MySQL ne peut pas être démarré Apr 08, 2025 pm 02:21 PM

Il existe de nombreuses raisons pour lesquelles la startup MySQL échoue, et elle peut être diagnostiquée en vérifiant le journal des erreurs. Les causes courantes incluent les conflits de port (vérifier l'occupation du port et la configuration de modification), les problèmes d'autorisation (vérifier le service exécutant les autorisations des utilisateurs), les erreurs de fichier de configuration (vérifier les paramètres des paramètres), la corruption du répertoire de données (restaurer les données ou reconstruire l'espace de la table), les problèmes d'espace de la table InNODB (vérifier les fichiers IBDATA1), la défaillance du chargement du plug-in (vérification du journal des erreurs). Lors de la résolution de problèmes, vous devez les analyser en fonction du journal d'erreur, trouver la cause profonde du problème et développer l'habitude de sauvegarder régulièrement les données pour prévenir et résoudre des problèmes.

Comment utiliser MySQL après l'installation Comment utiliser MySQL après l'installation Apr 08, 2025 am 11:48 AM

L'article présente le fonctionnement de la base de données MySQL. Tout d'abord, vous devez installer un client MySQL, tel que MySQLWorkBench ou le client de ligne de commande. 1. Utilisez la commande MySQL-UROot-P pour vous connecter au serveur et connecter avec le mot de passe du compte racine; 2. Utilisez Createdatabase pour créer une base de données et utilisez Sélectionner une base de données; 3. Utilisez CreateTable pour créer une table, définissez des champs et des types de données; 4. Utilisez InsertInto pour insérer des données, remettre en question les données, mettre à jour les données par mise à jour et supprimer les données par Supprimer. Ce n'est qu'en maîtrisant ces étapes, en apprenant à faire face à des problèmes courants et à l'optimisation des performances de la base de données que vous pouvez utiliser efficacement MySQL.

Géospatial de Laravel: optimisation des cartes interactives et de grandes quantités de données Géospatial de Laravel: optimisation des cartes interactives et de grandes quantités de données Apr 08, 2025 pm 12:24 PM

Traiter efficacement 7 millions d'enregistrements et créer des cartes interactives avec la technologie géospatiale. Cet article explore comment traiter efficacement plus de 7 millions d'enregistrements en utilisant Laravel et MySQL et les convertir en visualisations de cartes interactives. Exigences initiales du projet de défi: extraire des informations précieuses en utilisant 7 millions d'enregistrements dans la base de données MySQL. Beaucoup de gens considèrent d'abord les langages de programmation, mais ignorent la base de données elle-même: peut-il répondre aux besoins? La migration des données ou l'ajustement structurel est-il requis? MySQL peut-il résister à une charge de données aussi importante? Analyse préliminaire: les filtres et les propriétés clés doivent être identifiés. Après analyse, il a été constaté que seuls quelques attributs étaient liés à la solution. Nous avons vérifié la faisabilité du filtre et établi certaines restrictions pour optimiser la recherche. Recherche de cartes basée sur la ville

La clé principale de MySQL peut être nul La clé principale de MySQL peut être nul Apr 08, 2025 pm 03:03 PM

La clé primaire MySQL ne peut pas être vide car la clé principale est un attribut de clé qui identifie de manière unique chaque ligne dans la base de données. Si la clé primaire peut être vide, l'enregistrement ne peut pas être identifié de manière unique, ce qui entraînera une confusion des données. Lorsque vous utilisez des colonnes entières ou des UUIdes auto-incrémentales comme clés principales, vous devez considérer des facteurs tels que l'efficacité et l'occupation de l'espace et choisir une solution appropriée.

Les ingénieurs de backend senior à distance (plates-formes) ont besoin de cercles Les ingénieurs de backend senior à distance (plates-formes) ont besoin de cercles Apr 08, 2025 pm 12:27 PM

Ingénieur backend à distance Emploi Vacant Société: Emplacement du cercle: Bureau à distance Type d'emploi: Salaire à temps plein: 130 000 $ - 140 000 $ Description du poste Participez à la recherche et au développement des applications mobiles Circle et des fonctionnalités publiques liées à l'API couvrant l'intégralité du cycle de vie de développement logiciel. Les principales responsabilités complètent indépendamment les travaux de développement basés sur RubyOnRails et collaborent avec l'équipe frontale React / Redux / Relay. Créez les fonctionnalités de base et les améliorations des applications Web et travaillez en étroite collaboration avec les concepteurs et le leadership tout au long du processus de conception fonctionnelle. Promouvoir les processus de développement positifs et hiérarchiser la vitesse d'itération. Nécessite plus de 6 ans de backend d'applications Web complexe

Solutions au service qui ne peuvent pas être démarrées après l'installation de MySQL Solutions au service qui ne peuvent pas être démarrées après l'installation de MySQL Apr 08, 2025 am 11:18 AM

MySQL a refusé de commencer? Ne paniquez pas, vérifions-le! De nombreux amis ont découvert que le service ne pouvait pas être démarré après avoir installé MySQL, et ils étaient si anxieux! Ne vous inquiétez pas, cet article vous emmènera pour le faire face calmement et découvrez le cerveau derrière! Après l'avoir lu, vous pouvez non seulement résoudre ce problème, mais aussi améliorer votre compréhension des services MySQL et vos idées de problèmes de dépannage, et devenir un administrateur de base de données plus puissant! Le service MySQL n'a pas réussi et il y a de nombreuses raisons, allant des erreurs de configuration simples aux problèmes système complexes. Commençons par les aspects les plus courants. Connaissances de base: une brève description du processus de démarrage du service MySQL Service Startup. Autrement dit, le système d'exploitation charge les fichiers liés à MySQL, puis démarre le démon mysql. Cela implique la configuration

See all articles