how use poka yoke technique improve software quality
La ingeniería de software es una disciplina que tiene como objetivo producir software de alta calidad mediante un enfoque sistemático y bien planificado para el desarrollo de software.
Contiene muchas buenas prácticas, siguiendo los estándares para lograr el producto de calidad. Las tres fases principales del desarrollo de software son Análisis - Diseño - Implementación. Para lograr un software de alta calidad es esencial producir un producto libre de defectos.
aplicación de tarjeta de tiempo libre para iphone y android
Lo que vas a aprender:
Ingeniería de procesos de software
Gestión de defectos
El defecto es el comportamiento inesperado o no deseado que se produce en el producto. Todo lo relacionado con el defecto es un proceso continuo, no un estado en particular.
Encontrar y corregir el defecto en la etapa inicial del desarrollo de software reduce el tiempo, la repetición y el dinero. Encontrar el defecto en etapas posteriores siempre cuesta varias veces que en las etapas iniciales. Mejora la calidad al agregar confiabilidad, portabilidad, mantenibilidad, etc.
Por lo tanto, es aconsejable que todas las empresas vayan con un Gestión de defectos sistema y equipo de gestión de defectos en cada etapa del desarrollo para lograr una buena calidad en los productos y ganar la confianza del cliente.
Una de esas técnicas a prueba de errores es POKA-YOKE,
¿Qué es el Poka-Yoke?
Es un proceso de garantía de calidad introducido por el ingeniero japonés Shigeo Shingo. Este término se usa en el idioma japonés como 'Poka' que significa error y 'Yoke' que significa prevenir, es decir, prevención de errores o técnica a prueba de errores.
El propósito de Poka-Yoke es desarrollar procesos para reducir defectos evitando o corrigiendo (diseño para mostrar alertas o mensajes de advertencia al usuario) errores en las primeras fases de diseño y desarrollo. Esta técnica se utiliza principalmente en las industrias de fabricación, pero ahora esta técnica eficaz también se adapta a los procesos de desarrollo de software.
Ejemplo de Poka-Yoke de una industria manufacturera
Un buen ejemplo del diseño de Poka-Yoke de la industria de fabricación: la ranura para tarjeta SIM en los teléfonos celulares está diseñada de tal manera que el usuario puede insertar la tarjeta SIM solo de la manera correcta. No hay posibilidad de que el usuario cometa un error al colocar la tarjeta SIM en un teléfono celular. Esto hace que el diseño sea a prueba de errores.
Ejemplo de Poka-Yoke de una aplicación de software
¿Cómo ejecuto un archivo jar en Windows 10?
El ejemplo perfecto del proceso Poka-yoke en la aplicación de software es la función de archivos adjuntos de correo electrónico de Gmail, cuando escribe la palabra 'buscar adjunto' mientras redacta un nuevo correo electrónico e intenta enviarlo sin adjuntar un archivo, Google le mostrará un recordatorio emergente que dice que usted usó las palabras “encontrar adjunto” en su correo electrónico pero no adjuntó ningún archivo, ¿aún desea continuar enviando?
¿Cómo funciona la técnica Poka-Yoke?
Pasos para implementar un proceso Poka-Yoke:
A continuación, se muestran algunos pasos para diseñar e implementar un proceso para prevenir defectos de software:
- Enumere todos los escenarios de usuario o casos de prueba de un extremo a otro para la aplicación.
- Analice todos estos escenarios de usuario preguntando 5-porqués preguntas para comprender las formas en que estos escenarios pueden fallar.
- Una vez que identifique las formas en que estos escenarios de usuario pueden ser incorrectos, diseñe y aplique una técnica Poka-Yoke para evitar los posibles problemas ( Por ejemplo, este diseño podría ser una prueba unitaria simple para verificar si alguna función fue escrita está funcionando correctamente o no).
- Asegúrese de que la técnica diseñada para evitar el defecto esté funcionando correctamente dando errores o el mensaje de advertencia por entrada incorrecta o manejo del escenario del usuario.
- Una vez superada la prueba, agregue esta técnica a la lista de procesos de Poka-Yoke que se realizarán cada vez en una nueva versión / compilación. (En el ejemplo de prueba unitario anterior, una vez que se escribe la prueba unitaria para verificar el código de función, verifique si está funcionando para valores positivos y negativos. Cuando esta prueba pase, agréguela al repositorio de 'Pruebas unitarias' para que se ejecute cada vez que se realice algún cambio se realiza en módulos relevantes)
- Mide el éxito de este proceso Poka-Yoke. Compruebe si esta técnica realmente ha prevenido o detectado defectos al suceder.
Categorías de Poka-Yoke
- Prevención de defectos
- Detección de defectos
Prevención de defectos es la actividad más importante en SDLC. Este método se utiliza para identificar todos los posibles problemas y las acciones necesarias para eliminar esos problemas. Muchos defectos de software se pueden prevenir en la propia fase de diseño.
El equipo de Garantía de Calidad puede ayudar a prevenir estos defectos revisando el Documentos de especificación de requisitos de software . Todos los problemas identificados en esta etapa se abordan en la fase de codificación del software y se evita que se lleven a etapas posteriores.
Los ejemplos de la industria de fabricación y software proporcionados anteriormente son buenos ejemplos de técnicas de prevención de defectos.
Detección de defectos es la tarea más común de los equipos de control de calidad. Los equipos de control de calidad utilizan varios enfoques y estrategias para ejecutar casos de prueba de manera eficaz. Los defectos se detectan mediante muchos otros métodos de prueba como Fumar y pruebas exploratorias.
¿Cuáles son las cualidades de un buen proceso Poka-Yoke?
- Poka-Yoke debe ser simple de crear y mantener. Debe ser fácil de manejar y rentable. El mantenimiento de un Poka-Yoke complejo requiere mucho tiempo y, a menudo, genera problemas si no se mantiene correctamente.
- Poka-Yoke debe diseñarse al principio de SDLC para que pueda detectar problemas rápidamente.
- Un buen Poka-Yoke debería ser lo suficientemente preciso para encontrar problemas cuando ocurran.
- Un buen Poka-Yoke debe diseñarse de tal manera que detenga los problemas más comunes que ocurren en el software.
- Debe ser parte del proceso de diseño y codificación de software.
Necesidad de Poka-Yoke en la fase de diseño de software
Para desarrollar software de calidad, es importante diseñarlo de acuerdo con las expectativas del usuario. El usuario debe poder utilizar / manejar el software con facilidad sin cometer errores costosos.
Ejemplos de Poka-Yoke en diseño y calidad
# 1) Un ejemplo de archivos adjuntos faltantes al redactar un correo electrónico con Gmail.
# 2) Algunos sitios web muestran el indicador de seguridad de la contraseña para mostrar la seguridad de la contraseña. También guía a los usuarios a utilizar una contraseña segura con combinaciones de caracteres y números.
# 3) Función del motor de búsqueda de Google para sugerir automáticamente correcciones ortográficas para la consulta de búsqueda del usuario. Esto ayuda a los usuarios a evitar cometer errores involuntarios.
# 4) Los sitios web bancarios utilizan la función de campo de texto doble para aceptar información confidencial como contraseñas o números de cuenta. El segundo campo de texto generalmente está encriptado para evitar cometer errores al proporcionar el valor de entrada y para verificar si ambos valores del campo de texto coinciden.
La necesidad de Poka-Yoke en el desarrollo de software
A partir de innumerables ejemplos de la industria, ahora es bien sabido que el costo de corregir un defecto después del lanzamiento del producto es muchas veces mayor que solucionarlo en el ciclo de desarrollo.
Más lecturas = >> ¿Cuál es el costo de la calidad (COQ)?
La mejor solución para evitar problemas posteriores al lanzamiento es introducir las técnicas de Poka-Yoke, que podrían detectar defectos en las primeras fases de desarrollo, lo que hace que sea más barato solucionarlo. La implementación del proceso Poka-Yoke depende en gran medida de la Habilidad del probador para capturar y eliminar los problemas.
Ejemplos de Poka-Yoke en desarrollo de software
¿Qué es el archivo apk en Android?
- Examen de la unidad es uno de los medios más eficaces para el desarrollo de software a prueba de errores.
- Tener un Poka-Yoke de validación en el kit siempre es una buena sugerencia para los desarrolladores. Los errores de validación deben manejarse en su código. Estos problemas de validación deben revisarse y actualizarse periódicamente.
- Un Poka-Yoke común y más efectivo es contratar a los candidatos adecuados para que su software sea a prueba de errores.
Conclusión
Cometer errores está bien; simplemente no cometas el mismo error una y otra vez . Y para evitar volver a cometer los mismos errores, debería haber algunos controles o procesos en su lugar. Se desarrollan técnicas de Poka-Yoke para resolver este problema.
Referencias de artículos:- Shigeo Shingo, Control de calidad cero
- Wikipedia referencia
- Boris Beizer, Técnicas de prueba de software, 2.a ed. Van Nostrand Reinhold
Sobre el autor: Esta es una publicación de invitado de Nataraj Kanchyani. Trabaja como ingeniero de software senior de pruebas en Centurylink Technologies India Pvt Ltd, Bangalore.
¿Tienes alguna experiencia trabajando en esta técnica? ¿O ha trabajado alguna vez en el desarrollo de tales procesos de prevención y detección de defectos? Háganos saber en los comentarios a continuación.
Lectura recomendada
- ¿Cuáles son los atributos de calidad?
- Dios falso de la calidad versus verdaderos seres humanos: ¿quién es responsable de la calidad del software?
- ¿Qué es la garantía de calidad del software (SQA): una guía para principiantes?
- Comprensión mutua en las pruebas: clave para ofrecer un software de calidad
- Certificaciones de control de calidad y pruebas de software - Parte 2