how use poka yoke technique improve software quality
Le génie logiciel est une discipline qui vise à produire des logiciels de haute qualité grâce à une approche systématique et bien planifiée du développement de logiciels.
Il contient de nombreuses bonnes pratiques, suivant les normes pour atteindre le produit de qualité. Les trois principales phases du développement logiciel sont l'analyse - la conception - la mise en œuvre. Pour réaliser un logiciel de haute qualité, il est essentiel de produire un produit sans défaut.
copier le tableau dans un autre tableau java
Ce que vous apprendrez:
Génie des procédés logiciels
Gestion des défauts
Le défaut est le comportement inattendu ou indésirable qui se produit dans le produit. Tout ce qui est lié à un défaut est un processus continu, pas un état particulier.
La détection et la correction du défaut au stade précoce du développement logiciel réduisent le temps, les retouches et l'argent. Trouver le défaut dans les étapes ultérieures coûte toujours plusieurs fois plus que les premières étapes. Il améliore la qualité en ajoutant fiabilité, portabilité, maintenabilité, etc.
Par conséquent, il est conseillé à chaque entreprise de choisir Gestion des défauts équipe de gestion des systèmes et des défauts à chaque étape du développement pour atteindre une bonne qualité des produits et gagner la confiance des clients.
L'une de ces techniques de prévention des erreurs est POKA-YOKE,
Qu'est-ce que Poka-Yoke?
Il s’agit d’un processus d’assurance qualité introduit par l’ingénieur japonais Shigeo Shingo. Ce terme est utilisé dans la langue japonaise comme «Poka» signifiant erreur et «Yoke» signifiant empêcher, c'est-à-dire technique de prévention des erreurs ou de correction des erreurs.
Le but de Poka-Yoke est de développer des processus pour réduire les défauts en évitant ou en corrigeant (conception pour afficher des alertes ou des messages d'avertissement à l'utilisateur) dans les premières phases de conception et de développement. Cette technique est principalement utilisée dans les industries manufacturières, mais maintenant cette technique efficace est également adaptée aux processus de développement de logiciels.
Exemple de Poka-Yoke d'une industrie manufacturière
Un bon exemple de conception Poka-Yoke de l'industrie manufacturière - les fentes pour carte SIM dans les téléphones portables sont conçues de manière à ce que l'utilisateur ne soit autorisé à insérer la carte SIM que de manière correcte. Il n'y a aucune chance pour l'utilisateur de faire une erreur en plaçant la carte SIM sur un téléphone portable. Cela rend la conception à l'épreuve des erreurs.
Exemple de Poka-Yoke à partir d'une application logicielle
L'exemple parfait du processus Poka-yoke dans une application logicielle est - Fonction de pièces jointes aux e-mails Gmail - lorsque vous tapez le mot `` trouver une pièce jointe '' lors de la composition d'un nouvel e-mail et essayez de l'envoyer sans joindre de fichier Google vous montrera un rappel contextuel indiquant que vous Vous avez utilisé les mots «trouver en pièce jointe» dans votre e-mail, mais vous n'avez joint aucun fichier, voulez-vous continuer à envoyer?
Comment fonctionne la technique Poka-Yoke?
Étapes pour mettre en œuvre un processus Poka-Yoke:
Voici quelques étapes pour concevoir et mettre en œuvre un processus de prévention des défauts logiciels:
- Répertoriez tous les scénarios utilisateur ou cas de test de bout en bout pour l'application.
- Analysez tous ces scénarios utilisateurs en demandant 5-pourquoi questions pour comprendre les façons dont ces scénarios peuvent échouer.
- Une fois que vous avez identifié les façons dont ces scénarios utilisateur peuvent être erronés, concevez et appliquez une technique Poka-Yoke pour éviter les problèmes éventuels ( Par exemple, cette conception pourrait être un simple test unitaire pour vérifier si une fonction a été écrite fonctionne correctement ou non).
- Assurez-vous que la technique conçue pour éviter le défaut fonctionne correctement en donnant des erreurs ou le message d'avertissement pour une saisie ou une gestion incorrecte du scénario utilisateur.
- Une fois l'essai réussi, ajoutez cette technique à la liste des processus Poka-Yoke à effectuer à chaque fois sur une nouvelle version / build. (Dans l'exemple de test unitaire ci-dessus, une fois que le test unitaire est écrit pour vérifier le code de la fonction, vérifiez s'il fonctionne pour des valeurs positives et négatives. Lorsque ce test réussit, ajoutez-le au référentiel de `` tests unitaires '' à exécuter à chaque modification est fait dans les modules appropriés)
- Mesurez le succès de ce processus Poka-Yoke. Vérifiez si cette technique a vraiment empêché ou détecté des défauts lorsqu'elle se produit.
Catégories de Poka-Yoke
- Prévention des défauts
- Détection des défauts
Prévention des défauts est l'activité la plus importante du SDLC. Cette méthode est utilisée pour identifier tous les problèmes possibles et les actions nécessaires pour éliminer ces problèmes. De nombreux défauts logiciels peuvent être évités lors de la phase de conception elle-même.
L'équipe d'assurance qualité peut aider à prévenir ces défauts en examinant les Documents de spécification des exigences logicielles . Tous les problèmes identifiés à cette étape sont traités dans la phase de codage du logiciel et ne peuvent pas être portés à des étapes ultérieures.
Les exemples d'industrie de fabrication et de logiciel fournis ci-dessus sont de bons exemples de techniques de prévention des défauts.
Détection des défauts est la tâche la plus courante des équipes d'assurance qualité. Les équipes d'AQ utilisent diverses approches et stratégies pour exécuter efficacement les cas de test. Les défauts sont détectés par de nombreuses autres méthodes de test comme Fumée et essais exploratoires.
Quelles sont les qualités d'un bon processus Poka-Yoke?
- Poka-Yoke doit être simple à créer et à entretenir. Il doit être facile à manipuler et rentable. La maintenance d'un Poka-Yoke complexe prend du temps et entraîne souvent des problèmes s'il n'est pas entretenu correctement.
- Poka-Yoke devrait être conçu tôt dans SDLC afin de pouvoir détecter rapidement les problèmes.
- Un bon Poka-Yoke doit être suffisamment précis pour détecter les problèmes lorsqu'ils se produisent.
- Un bon Poka-Yoke doit être conçu de manière à éviter les problèmes les plus courants dans le logiciel.
- Cela devrait faire partie du processus de conception et de codage du logiciel.
Besoin de Poka-Yoke en phase de conception logicielle
Pour développer un logiciel de qualité, il est important de le concevoir en fonction des attentes de l’utilisateur. L'utilisateur doit pouvoir utiliser / manipuler le logiciel facilement sans faire d'erreurs coûteuses.
Exemples de Poka-Yoke dans la conception et la qualité
# 1) Un exemple de fichiers joints manquants lors de la rédaction d'un e-mail à l'aide de Gmail.
# 2) Certains sites Web affichent l'indicateur de force du mot de passe pour montrer la force du mot de passe. Il guide également les utilisateurs à utiliser un mot de passe fort avec des combinaisons de caractères et de chiffres.
# 3) Fonction du moteur de recherche Google pour suggérer automatiquement des corrections orthographiques pour la requête de recherche de l'utilisateur. Cela aide les utilisateurs à éviter de faire des erreurs par inadvertance.
# 4) Les sites Web bancaires utilisent la fonction de champ de texte double pour accepter des informations sensibles telles que des mots de passe ou des numéros de compte. Le deuxième champ de texte est généralement crypté pour éviter de faire une erreur lors de la fourniture de la valeur d'entrée et pour vérifier si les deux valeurs du champ de texte correspondent.
que signifie la non-concordance des clés de sécurité
Le besoin de Poka-Yoke dans le développement de logiciels
D'après d'innombrables exemples du secteur, il est maintenant bien connu que le coût de la réparation d'un défaut après la sortie du produit est plusieurs fois supérieur à celui de sa réparation au cours du cycle de développement.
Lectures complémentaires = >> Quel est le coût de la qualité (COQ)?
La meilleure solution pour éviter les problèmes post-publication consiste à introduire les techniques Poka-Yoke qui pourraient détecter les défauts dans les premières phases de développement, ce qui rend la réparation moins coûteuse. La mise en œuvre du processus Poka-Yoke dépend en grande partie Capacité du testeur pour capturer et éliminer les problèmes.
Exemples de Poka-Yoke dans le développement de logiciels
- Test unitaire est l'un des moyens les plus efficaces de développement de logiciels anti-erreurs.
- Avoir la validation Poka-Yoke dans le kit est toujours une bonne suggestion pour les développeurs. Les erreurs de validation doivent être gérées dans votre code. Ces problèmes de validation doivent être revus et mis à jour périodiquement.
- Un Poka-Yoke commun et le plus efficace consiste à embaucher les bons candidats pour sécuriser votre logiciel.
Conclusion
Faire des erreurs, c'est bien; ne faites pas la même erreur encore et encore . Et pour éviter de refaire les mêmes erreurs, il devrait y avoir des contrôles ou des processus en place. Des techniques Poka-Yoke sont développées pour résoudre ce problème.
Références d'article:- Shigeo Shingo, contrôle de qualité zéro
- Wikipédia référence
- Boris Beizer, Software Testing Techniques, 2e éd. Van Nostrand Reinhold
À propos de l'auteur: Ceci est un message d'invité de Nataraj Kanchyani. Il travaille en tant qu'ingénieur logiciel senior-test chez Centurylink Technologies India Pvt Ltd, Bangalore.
Avez-vous une expérience de travail sur cette technique? Ou avez-vous déjà travaillé sur le développement de tels processus de prévention et de détection des défauts? Faites-nous savoir dans les commentaires ci-dessous.
lecture recommandée
- Quels sont les attributs de qualité?
- Faux Dieu de la qualité contre les vrais humains - Qui est responsable de la qualité des logiciels?
- Qu'est-ce que l'assurance qualité logicielle (SQA): un guide pour les débutants
- Compréhension mutuelle dans les tests: une clé pour fournir un logiciel de qualité
- Test de logiciels et certifications d'assurance qualité - Partie 2