Les tests d’applications de développement personnel peuvent-ils être confiés à l’IA ? Résultats de vérification avec métronome
Un exemple de développement de métronome sera utilisé pour montrer dans quelle mesure les tests d’applications de développement personnel peuvent être confiés à l’IA. Nous résumerons la réussite de 109 tests automatiques, la découverte de défauts de transition d'écran, l'analyse de 96 enregistrements BPM et la plage finale de confirmation humaine.

Si vous développez vous-même une application, il n’est pas facile de trouver suffisamment de temps pour les tester. En effet, il est nécessaire de mettre en œuvre, de vérifier le fonctionnement, d'enregistrer les résultats et d'examiner les défauts par une seule personne.
Grâce à l'utilisation de l'IA dans le développement de l'application métronome, j'estime que Dans le cas du développement individuel, l'IA peut être la principale responsable des tests.
Non seulement ils ont pu découvrir des défauts que les humains avaient manqués, mais ils ont également pu confirmer l'exactitude du rythme à l'aide de calculs et d'analyses d'enregistrement. Cependant, la confirmation finale des spécifications et des résultats ainsi que la décision de publication sont prises par des humains.
La portée laissée à l’IA et la portée confirmée par les humains
Dans ce développement, nous avons effectué des tests aux étapes suivantes :
| étape de test | Construction utilisée |
|---|---|
| locale | construction de développement |
| test interne | Version de vérification |
| fermer l'essai | Construction de la production |
Dans cet article, les « tests utilisant l'IA » incluent non seulement le fonctionnement du terminal utilisant l'IA, mais également la vérification à l'aide d'un traitement automatisé de tests et d'analyses. Tout n’a pas été confirmé uniquement par les opérations d’écran de l’IA ou le jugement visuel.
Nous avons laissé la plupart des tâches à l'IA, telles que la détermination de la perspective des tests, la création des spécifications au format Excel, l'exploitation du terminal, la détermination de la réussite/l'échec, la prise de captures d'écran et la confirmation de la reproduction des défauts.
Le flux de base est le suivant.
- L'IA identifie les perspectives de test et crée des spécifications de test au format Excel
- Après examen par l'IA, un humain confirme la version finale de la spécification
- L'IA exécute le test sur le dispositif de vérification et enregistre les résultats et les captures d'écran
- Comparez les résultats des tests et les preuves, et après examen par l'IA, confirmation finale par des humains
À titre de preuve, utilisez des captures d'écran prises sur l'appareil de vérification lors de l'exécution du test. Les images ne seront pas générées ou traitées par la génération AI.
Les dessins ont été vérifiés par des humains avec l’aide de l’IA. L'IA est en charge de l'exécution et les humains sont chargés de vérifier les points importants des spécifications, des résultats et de l'apparence.
Découvrez des défauts que d'autres ont manqués
L'un des bugs découverts par l'IA était Si vous effectuiez une opération spécifique, vous pouviez passer à un écran qui aurait dû être supprimé.
Je ne dévoilerai pas les opérations spécifiques ni la configuration de l'écran, mais c'est une incohérence qui permet de revenir sur un écran que l'on ne devrait pas pouvoir atteindre. D'après ce que nous avons confirmé, il n'y a eu aucun préjudice réel pour les utilisateurs, mais nous avons déterminé qu'il y avait un problème avec la gestion de l'état de l'écran qui devait être résolu.
Ce problème n’a pas été détecté lors des tests sur l’homme.
L’IA a même précisé les étapes pour le reproduire. Nous effectuons des révisions en fonction du contenu, le testons à nouveau à l'aide de l'IA, puis procédons à la confirmation finale par des humains.
Lors de tests antérieurs, nous avons également découvert et résolu un problème où l'affichage du bouton pendant 10 à 12 battements cassait les lignes, ainsi qu'un problème d'interface utilisateur où les notifications couvraient les opérations de saisie/confirmation.
Lorsque vous implémentez vous-même une fonction, vous avez tendance à la vérifier en vous concentrant sur le fonctionnement attendu. Sur la base de ce résultat, je pense que l’IA peut non seulement effectuer le travail à ma place, mais également assumer le rôle de détection des problèmes que j’ai manqués lors de mes propres contrôles.
Vérifier la précision du rythme par le calcul et l'enregistrement
Le cœur d’un métronome réside dans sa capacité à marquer avec précision un rythme à un tempo défini. Par conséquent, nous avons vérifié la position de sondage calculée et l’intervalle réel entre les sons.
Vérifier les calculs de l'horloge interne
Pour l'horloge interne qui génère le son, nous avons calculé la position attendue du son en utilisant une méthode de calcul différente de celle mise en œuvre, et comparé les résultats. En effet, la même erreur de calcul ne sera pas répercutée sur la valeur attendue.
Des tests d'horloge interne antérieurs ont vérifié les conditions suivantes :
| Cible de vérification | conditions |
|---|---|
| Combinaison de tempo et de nombre de divisions | 30, 31, 96, 137, 299, 300 BPM x nombre de divisions 1 à 4. Équivalent à 10 minutes chacune |
| longs calculs | 137 BPM double croche équivalent à 30 minutes |
Dans cette plage, nous avons confirmé que l’erreur par rapport à la position de sondage attendue se situait dans la limite d’un échantillon et qu’il n’y avait pas de chevauchement dans la position de sondage attendue.
"Équivalent à 10 minutes" et "équivalent à 30 minutes" sont des plages de vérification des calculs. Ce n’est pas le résultat d’une mesure effectuée avec un appareil réel qui continue à produire du son pendant la même durée.
Enregistrez et vérifiez le son provenant des haut-parleurs
En plus des calculs internes, nous avons enregistré et analysé le son réel du haut-parleur avec un microphone pendant environ 1 minute à 96 BPM.
Nous avons détecté 88 battements de la section excluant avant et après l'enregistrement, et avons obtenu les résultats suivants.
| Article | Résultats de mesure |
|---|---|
| Définition du BPM | 96 BPM |
| BPM estimé | 95.998 BPM |
| intervalle de battement moyen | 625,011 ms (valeur théorique 625 ms) |
| écart type de l'intervalle de battement | Environ 1,32 ms |
| Plage d'intervalle de battement | 622〜628 ms |
Dans nos conditions, nous avons pu confirmer que le tempo moyen était d'environ 96 BPM. Aucun intervalle long indiquant des battements manquants n'a été détecté dans l'intervalle analysé.
Cependant, 95,998 BPM est une estimation analytique et ne garantit pas une précision de mesure jusqu'à cet ordre de grandeur. La détection se fait par incréments de 2 ms et inclut les erreurs dans le système d'enregistrement et d'analyse, on ne peut donc pas dire que toutes les variations observées sont dues à l'application.
De plus, le son de sortie a été mesuré à 96 BPM pendant environ 1 minute. Le son de sortie à d'autres tempos et l'écart cumulé dû à une lecture longue n'ont pas été vérifiés.
C’était particulièrement utile non seulement de pouvoir juger avec mes oreilles qu’il n’y avait pas de problème, mais aussi de pouvoir le confirmer numériquement. Le fait que nous ayons pu procéder à des mesures et à des analyses avec le soutien de l’IA a conduit à une confirmation approfondie.
Ce que j'ai confirmé dans la version de production
Dans cette version de production, 109 tests automatisés ont réussi. En dehors de cela, je vérifie le comportement suivant sur le terminal :
- Changement de tempo
- Opération de lecture lorsque l’écran est éteint
- Arrêter les notifications
- Conserver les paramètres après le redémarrage
Nous avons également confirmé que la piste audio fonctionne même lorsque les lumières sont éteintes et que le manque de mémoire tampon pour cette piste est de 0 au moment de l'acquisition. Ce résultat obtenu ne garantit pas qu’il n’y aura pas de coupures sonores pendant toute la durée de lecture.
Bien que la qualité ne puisse pas être déterminée par le seul nombre de tests effectués, en combinant les tests automatiques, le fonctionnement du terminal et l'analyse du son de sortie, nous avons pu vérifier sous un angle différent.
Problèmes qui subsistent lors de la confiance
Nécessite la préparation et la maintenance de l’environnement d’exécution
Lors de l'exécution de plusieurs émulateurs en même temps, le processeur et la mémoire du PC sont des contraintes. Pour les appareils réels, la méthode de connexion et l'état de compatibilité des outils d'exploitation, ainsi que pour les environnements de terminaux cloud, les coûts doivent également être pris en compte.
En plus de la construction de l'environnement initial, il y a aussi la difficulté de mettre à jour les tests en réponse aux changements d'écrans et de spécifications.
Les gens vérifient également les résultats attendus et les dessins.
Si le résultat attendu est erroné, quel que soit le nombre de tests que vous effectuez, vous ne pourrez pas l’évaluer correctement. Lorsqu’on confie le développement et les tests à la même IA, il faut veiller à ce que la même interprétation des spécifications puisse être héritée.
Par conséquent, la confirmation finale des spécifications et des résultats est effectuée par des humains. Il est également important de ne pas laisser les éléments que vous n'avez pas pu exécuter ou juger réussir l'examen.
Certains problèmes de dessin et certains inconforts pendant le fonctionnement sont difficiles à évaluer à partir d'une simple image fixe. Nous laisserons le processus de toucher et de vérification de la machine réelle avant de la rendre publique.
Les spécifications et les écrans servent également d'informations à transmettre à des tiers.
Les spécifications et les captures d'écran transmises au service AI peuvent révéler des fonctions et du contenu commercial non divulgués. Un soin particulier doit être apporté lors du traitement des projets confiés ou des données des utilisateurs.
Nous vérifions séparément si les données seront utilisées à des fins d'apprentissage, combien de temps elles seront conservées et qui peut y accéder, et déterminons si le contrat et les paramètres à utiliser répondent aux conditions du projet. L'utilisation de données factices et de comptes de test est également quelque chose que vous devez décider au moment de la mise en œuvre.
En développement personnel, vous pouvez être principalement responsable de l’IA.
« Est-il acceptable d'utiliser l'IA seule pour tester des applications au niveau d'un propriétaire individuel ? »
Ma réponse, basée sur mon expérience, est que la majeure partie du travail de test vous est laissée. Toutefois, la confirmation finale et la décision de publication sont laissées à la personne.
À tout le moins, les résultats étaient meilleurs que ce que j’avais pu obtenir moi-même. En effet, nous avons trouvé un bug que nous avions négligé et avons pu tout vérifier, des calculs internes au son de sortie réel.
Cela n'indique pas de supériorité ou d'infériorité par rapport aux ingénieurs généralistes ou aux ingénieurs QA. Mon expérience m'a permis d'utiliser l'IA pour compenser mon manque de compétences en matière de tests et les limites du développement et de la vérification par moi-même.
Les entreprises indépendantes exigent que vous portiez plusieurs casquettes dans un laps de temps limité. L’IA nécessite également une préparation et une confirmation, mais en lui confiant une exécution répétitive, un enregistrement et une enquête sur les problèmes, vous pouvez passer votre temps à prendre des décisions importantes.
Capacité d'augmenter la charge de travail d'une personne et d'avancer vers des confirmations qui étaient auparavant inaccessibles. C'est l'intérêt le plus important des tests d'IA lors du développement du métronome.