how use poka yoke technique improve software quality
Engenharia de Software é uma disciplina que visa produzir software de alta qualidade por meio de uma abordagem sistemática e bem planejada para o desenvolvimento de software.
Contém muitas boas práticas, seguindo os padrões para alcançar o produto de qualidade. As três fases principais do Desenvolvimento de Software são Análise - Design - Implementação. Para obter software de alta qualidade é essencial para produzir um produto sem defeitos.
O que você aprenderá:
Engenharia de Processo de Software
Gestão de Defeitos
O defeito é o comportamento inesperado ou indesejado que ocorre no produto. Qualquer coisa relacionada ao defeito é um processo contínuo, não um estado particular.
Encontrar e corrigir o defeito no estágio inicial de Desenvolvimento de Software reduz o tempo, o retrabalho e o dinheiro. Encontrar o defeito em estágios posteriores sempre custa várias vezes do que nos estágios iniciais. Ele melhora a qualidade adicionando confiabilidade, portabilidade, facilidade de manutenção, etc.
Portanto, é aconselhável que toda empresa opte por um Gerenciamento de defeitos equipe de gerenciamento de sistemas e defeitos em todas as fases do desenvolvimento para atingir a boa qualidade dos produtos e ganhar a confiança do cliente.
Uma dessas técnicas à prova de erros é POKA-YOKE,
O que é Poka-Yoke?
É um processo de garantia de qualidade introduzido pelo engenheiro japonês Shigeo Shingo. Este termo é usado na língua japonesa como 'Poka' significando erro e 'Yoke' significando prevenção, ou seja, técnica de prevenção de erros ou à prova de erros.
O objetivo do Poka-Yoke é desenvolver processos para reduzir defeitos evitando ou corrigindo (design para mostrar alertas ou mensagens de advertência ao usuário) erros nas fases iniciais de design e desenvolvimento. Essa técnica é usada principalmente nas indústrias de manufatura, mas agora essa técnica eficaz também está adaptada aos processos de desenvolvimento de software.
Exemplo Poka-Yoke de uma indústria de manufatura
melhor extensão de bloqueio de anúncios para Chrome
Um bom exemplo de design Poka-Yoke da indústria de manufatura - os slots para cartões SIM em telefones celulares são projetados de tal forma que o usuário pode inserir o cartão SIM apenas de maneira correta. Não há chance do usuário cometer um erro ao colocar o cartão SIM em um telefone celular. Isso torna o projeto à prova de erros.
Exemplo Poka-Yoke de um aplicativo de software
O exemplo perfeito do processo Poka-yoke em um aplicativo de software é - recurso de anexos de e-mail do Gmail - quando você digita a palavra 'localizar anexo' enquanto redige um novo e-mail e tenta enviá-lo sem anexar um arquivo, o Google mostra um lembrete pop-up dizendo que você usou as palavras “localizar anexo” no seu e-mail, mas não anexou nenhum arquivo, deseja continuar enviando?
Como funciona a técnica Poka-Yoke?
Passos para implementar um processo Poka-Yoke:
Abaixo estão algumas etapas para projetar e implementar um processo para evitar defeitos de software:
- Liste todos os cenários de usuário ou casos de teste ponta a ponta para o aplicativo.
- Analise todos esses cenários de usuário perguntando 5 porquês perguntas para entender como esses cenários podem falhar.
- Depois de identificar as formas como esses cenários de usuário podem estar errados, projete e aplique uma técnica Poka-Yoke para evitar os possíveis problemas ( Por exemplo, este design pode ser um simples teste de unidade para verificar se alguma função escrita está funcionando corretamente ou não).
- Certifique-se de que a técnica projetada para evitar o defeito esteja funcionando corretamente, fornecendo erros ou a mensagem de aviso para entrada ou manipulação incorreta do cenário do usuário.
- Depois que o teste for concluído, adicione esta técnica à lista de processos Poka-Yoke a serem executados a cada vez em uma nova versão / compilação. (No exemplo de teste de unidade acima, uma vez que o teste de unidade é escrito para verificar o código de função, verifique se ele está funcionando para valores positivos e negativos. Quando este teste for aprovado, adicione-o ao repositório de 'Testes de unidade' para ser executado cada vez que houver alteração é feito em módulos relevantes)
- Meça o sucesso desse processo Poka-Yoke. Verifique se esta técnica realmente evitou ou detectou defeitos ao acontecer.
Categorias de Poka-Yoke
- Prevenção de Defeitos
- Detecção de Defeito
Prevenção de Defeitos é a atividade mais importante no SDLC. Este método é usado para identificar todos os possíveis problemas e ações necessárias para eliminá-los. Muitos defeitos de software podem ser evitados na própria fase de design.
A equipe de Garantia de Qualidade pode ajudar a prevenir esses defeitos revisando o Documentos de especificação de requisitos de software . Todos os problemas identificados nesta fase são tratados na fase de codificação do software e impedidos de prosseguir para as fases posteriores.
Os exemplos da indústria de manufatura e software fornecidos acima são bons exemplos de técnicas de prevenção de defeitos.
Detecção de Defeito é a tarefa mais comum para equipes de garantia de qualidade. As equipes de QA usam várias abordagens e estratégias para executar casos de teste com eficácia. Os defeitos são detectados por muitos outros métodos de teste, como Fumaça e testes exploratórios.
Quais são as qualidades de um bom processo Poka-Yoke?
- O Poka-Yoke deve ser simples de criar e manter. Deve ser fácil de manusear e econômico. Manter um Poka-Yoke complexo é demorado e geralmente resulta em problemas se não for mantido de maneira adequada.
- O Poka-Yoke deve ser projetado no início do SDLC para que possa detectar problemas rapidamente.
- Um bom Poka-Yoke deve ser preciso o suficiente para encontrar problemas quando eles ocorrerem.
- Um bom Poka-Yoke deve ser projetado de forma que evite os problemas mais comuns que ocorrem no software.
- Deve fazer parte do processo de design e codificação de software.
Necessidade de Poka-Yoke na fase de design de software
Para desenvolver software de qualidade, é importante projetá-lo de acordo com as expectativas do usuário. O usuário deve ser capaz de usar / manusear o software com facilidade, sem cometer erros caros.
Exemplos de Poka-Yoke em design e qualidade
# 1) Um exemplo de arquivos anexos ausentes ao escrever um e-mail usando o Gmail.
# 2) Alguns sites mostram o indicador de força da senha para mostrar a força da senha. Ele também orienta os usuários a usar uma senha forte com combinações de caracteres e números.
# 3) Recurso do mecanismo de pesquisa do Google para sugerir automaticamente correções ortográficas para a consulta de pesquisa do usuário. Isso ajuda os usuários a evitar erros inadvertidos.
# 4) Os sites de bancos usam o recurso de campo de texto duplo para aceitar informações confidenciais, como senhas ou números de contas. O segundo campo de texto geralmente é criptografado para evitar cometer erros ao fornecer o valor de entrada e para verificar se ambos os valores do campo de texto correspondem.
A necessidade de Poka-Yoke no desenvolvimento de software
A partir de inúmeros exemplos da indústria, agora é bem conhecido que o custo de consertar um defeito após o lançamento do produto é muitas vezes maior do que consertá-lo no ciclo de desenvolvimento.
Leitura adicional = >> Qual é o Custo da Qualidade (COQ)?
A melhor solução para evitar problemas pós-lançamento é introduzir as técnicas Poka-Yoke que podem detectar defeitos nas fases iniciais de desenvolvimento, tornando-o mais barato de consertar. A implementação do processo Poka-Yoke depende muito do Habilidade do testador para capturar e eliminar os problemas.
Exemplos de Poka-Yoke em desenvolvimento de software
- Teste de unidade é um dos meios mais eficazes de desenvolvimento de software à prova de erros.
- Ter o Poka-Yoke de validação no kit é sempre uma boa sugestão para desenvolvedores. Erros de validação devem ser tratados em seu código. Esses problemas de validação devem ser revisados e atualizados periodicamente.
- Um Poka-Yoke comum e mais eficaz é contratar os candidatos certos para proteger seu software de erros.
Conclusão
Cometer erros está certo; apenas não cometa o mesmo erro de novo e de novo . E para evitar cometer os mesmos erros novamente, deve haver algumas verificações ou processos em vigor. Técnicas Poka-Yoke são desenvolvidas para resolver este problema.
Referências do artigo:- Shigeo Shingo, controle de qualidade zero
- Wikipedia referência
- Boris Beizer, Software Testing Techniques, 2ª ed. Van Nostrand Reinhold
Sobre o autor: Este é um post convidado de Nataraj Kanchyani. Ele está trabalhando como Engenheiro de Software Sênior-Testing na Centurylink Technologies India Pvt Ltd, Bangalore.
Você tem alguma experiência trabalhando nesta técnica? Ou você já trabalhou no desenvolvimento de tais processos de prevenção e detecção de defeitos? Deixe-nos saber nos comentários abaixo.
Leitura recomendada
- Quais são os atributos de qualidade?
- Deus falso da qualidade versus seres humanos verdadeiros - quem é responsável pela qualidade do software?
- O que é Software Quality Assurance (SQA): um guia para iniciantes
- Compreensão mútua em testes: uma chave para entregar um software de qualidade
- Certificações de Teste de Software e Garantia de Qualidade - Parte 2