how use poka yoke technique improve software quality
소프트웨어 엔지니어링은 체계적이고 잘 계획된 소프트웨어 개발 접근 방식을 통해 고품질 소프트웨어를 생산하는 것을 목표로하는 학문입니다.
여기에는 고품질 제품을 달성하기위한 표준에 따라 많은 우수 사례가 포함되어 있습니다. 소프트웨어 개발의 세 가지 주요 단계는 분석 – 설계 – 구현입니다. 무결점 제품을 생산하려면 고품질 소프트웨어를 구현하는 것이 필수적입니다.
학습 내용 :
소프트웨어 프로세스 엔지니어링
결함 관리
결함은 제품에서 발생하는 예기치 않은 또는 원치 않는 동작입니다. 결함과 관련된 모든 것은 특정 상태가 아니라 지속적인 프로세스입니다.
소프트웨어 개발 초기 단계에서 결함을 찾아 수정하면 시간, 재 작업 및 비용이 절감됩니다. 나중 단계에서 결함을 찾는 데는 항상 초기 단계보다 여러 번 비용이 듭니다. 신뢰성, 휴대 성, 유지 보수성 등을 추가하여 품질을 향상시킵니다.
따라서 모든 회사는 결함 관리 개발의 모든 단계에서 시스템 및 결함 관리 팀을 통해 제품의 품질을 높이고 고객의 신뢰를 얻습니다.
이러한 실수 방지 기술 중 하나는 POKA-YOKE입니다.
Poka-Yoke는 무엇입니까?
일본 엔지니어 Shigeo Shingo가 도입 한 품질 보증 프로세스입니다. 이 용어는 일본어에서 실수를 의미하는 'Poka'와 실수 방지 또는 실수 방지 기술을 의미하는 'Yoke'로 사용됩니다.
Poka-Yoke의 목적은 초기 설계 및 개발 단계에서 실수를 방지하거나 수정 (사용자에게 경고 또는 경고 메시지를 표시하도록 설계)하여 결함을 줄이는 프로세스를 개발하는 것입니다. 이 기술은 대부분 제조 산업에서 사용되지만 이제이 효과적인 기술은 소프트웨어 개발 프로세스에도 적용됩니다.
제조업의 Poka-Yoke 사례
제조 업계의 Poka-Yoke 디자인의 좋은 예 – 휴대폰의 SIM 카드 슬롯은 사용자가 올바른 방식으로 만 SIM 카드를 삽입 할 수 있도록 설계되었습니다. 사용자가 SIM 카드를 휴대폰에 꽂는 동안 실수 할 가능성이 없습니다. 이것은 설계 실수를 증명합니다.
소프트웨어 애플리케이션의 Poka-Yoke 예제
소프트웨어 응용 프로그램에서 Poka-yoke 프로세스의 완벽한 예는 – Gmail 이메일 첨부 기능 – 새 이메일을 작성하는 동안 '첨부 파일 찾기'라는 단어를 입력하고 파일을 첨부하지 않고 보내려고하면 Google에서 다음과 같은 팝업 알림을 표시합니다. 이메일에 '첨부 파일 찾기'라는 단어를 사용했지만 파일을 첨부하지 않았습니다. 계속 보내시겠습니까?
Poka-Yoke 기술은 어떻게 작동합니까?
Poka-Yoke 프로세스를 구현하는 단계 :
다음은 소프트웨어 결함을 방지하기위한 프로세스를 설계하고 구현하는 몇 가지 단계입니다.
- 애플리케이션에 대한 모든 사용자 시나리오 또는 종단 간 테스트 사례를 나열합니다.
- 질문하여 이러한 모든 사용자 시나리오를 분석하십시오. 5 가지 이유 이러한 시나리오가 실패 할 수있는 방법을 이해하기위한 질문.
- 이러한 사용자 시나리오가 잘못 될 수있는 방법을 파악한 후에는 가능한 문제를 방지하기 위해 Poka-Yoke 기술을 설계하고 적용합니다 ( 예를 들어, 이 디자인은 작성된 함수가 제대로 작동하는지 확인하는 간단한 단위 테스트 일 수 있습니다.)
- 사용자 시나리오의 잘못된 입력 또는 처리에 대한 오류 또는 경고 메시지를 제공하여 결함을 방지하도록 설계된 기술이 제대로 작동하는지 확인합니다.
- 평가판이 통과되면 새 릴리스 / 빌드에서 매번 수행 할 Poka-Yoke 프로세스 목록에이 기술을 추가합니다. (위의 단위 테스트 예제에서 함수 코드를 확인하기 위해 단위 테스트가 작성되면 양수 값과 음수 값으로 작동하는지 확인하십시오.이 테스트를 통과하면 '단위 테스트'저장소에 추가하여 변경 될 때마다 실행됩니다. 관련 모듈에서 만들어집니다)
- 이 Poka-Yoke 프로세스의 성공을 측정하십시오. 이 기술이 실제로 결함을 예방하거나 포착했는지 확인하십시오.
Poka-Yoke의 카테고리
- 결함 예방
- 결함 감지
결함 예방 SDLC에서 가장 중요한 활동입니다. 이 방법은 가능한 모든 문제와 해당 문제를 제거하는 데 필요한 조치를 식별하는 데 사용됩니다. 설계 단계 자체에서 많은 소프트웨어 결함을 예방할 수 있습니다.
품질 보증 팀은 다음을 검토하여 이러한 결함을 예방할 수 있습니다. 소프트웨어 요구 사항 사양 문서 . 이 단계에서 확인 된 모든 문제는 소프트웨어 코딩 단계에서 해결되며 이후 단계로 진행되지 않습니다.
위에 제공된 제조 및 소프트웨어 산업의 예는 결함 방지 기술의 좋은 예입니다.
결함 감지 품질 보증 팀의 가장 일반적인 작업입니다. QA 팀은 테스트 케이스를 효과적으로 실행하기 위해 다양한 접근 방식과 전략을 사용합니다. 결함은 다음과 같은 다른 많은 테스트 방법으로 감지됩니다. 연기 및 탐색 적 테스트.
좋은 Poka-Yoke 프로세스의 특성은 무엇입니까?
- Poka-Yoke는 생성 및 유지 관리가 간단해야합니다. 취급하기 쉽고 비용 효율적이어야합니다. 복잡한 Poka-Yoke를 유지하는 것은 시간이 많이 걸리며 제대로 유지하지 않으면 문제가 발생하는 경우가 많습니다.
- Poka-Yoke는 문제를 빠르게 감지 할 수 있도록 SDLC 초기에 설계해야합니다.
- 좋은 Poka-Yoke는 문제가 발생할 때 문제를 찾을 수있을만큼 정확해야합니다.
- 좋은 Poka-Yoke는 소프트웨어에서 발생하는 가장 일반적인 문제를 중지하는 방식으로 설계되어야합니다.
- 소프트웨어 디자인 및 코딩 프로세스의 일부 여야합니다.
소프트웨어 설계 단계에서 Poka-Yoke의 필요성
양질의 소프트웨어를 개발하려면 사용자의 기대에 따라 설계하는 것이 중요합니다. 사용자는 비용이 많이 드는 실수없이 소프트웨어를 쉽게 사용 / 처리 할 수 있어야합니다.
디자인 및 품질의 Poka-Yoke 사례
# 1) Gmail을 사용하여 이메일을 작성하는 동안 첨부 파일이 누락 된 예.
# 2) 일부 웹 사이트는 비밀번호 안전성을 표시하기 위해 비밀번호 안전성 표시기를 표시합니다. 또한 사용자가 문자와 숫자를 조합하여 강력한 암호를 사용하도록 안내합니다.
# 3) 사용자 검색 쿼리에 대한 맞춤법 수정을 자동 제안하는 Google 검색 엔진 기능. 이를 통해 사용자는 실수로 인한 실수를 방지 할 수 있습니다.
# 4) 은행 웹 사이트는 이중 텍스트 필드 기능을 사용하여 비밀번호 또는 계좌 번호와 같은 민감한 정보를 허용합니다. 두 번째 텍스트 필드는 일반적으로 입력 값을 제공하는 동안 실수를 방지하고 두 텍스트 필드 값이 일치하는지 확인하기 위해 암호화됩니다.
기본 게이트웨이를 사용할 수없는 Windows 10을 수정하는 방법
소프트웨어 개발에서 Poka-Yoke의 필요성
수많은 업계 사례를 통해 제품 출시 후 결함을 수정하는 비용이 개발주기에서 수정하는 것보다 몇 배 더 많은 것으로 잘 알려져 있습니다.
추가 읽기 = >> 품질 비용 (COQ)은 무엇입니까?
출시 후 문제를 방지하는 가장 좋은 솔루션은 초기 개발 단계에서 결함을 포착하여 수정 비용을 줄일 수있는 Poka-Yoke 기술을 도입하는 것입니다. Poka-Yoke 프로세스 구현은 주로 테스터의 능력 문제를 포착하고 제거합니다.
소프트웨어 개발의 Poka-Yoke 예제
- 단위 테스트 소프트웨어 개발의 실수를 방지하는 가장 효과적인 수단 중 하나입니다.
- 키트에 유효성 검사 Poka-Yoke를 포함하는 것은 항상 개발자에게 좋은 제안입니다. 코드에서 유효성 검사 실수를 처리해야합니다. 이러한 유효성 검사 문제는 정기적으로 다시 검토하고 업데이트해야합니다.
- 일반적이고 가장 효과적인 Poka-Yoke는 소프트웨어의 실수를 방지 할 수있는 적합한 후보자를 고용하는 것입니다.
결론
실수하는 것은 괜찮습니다. 똑같은 실수를 반복하지 마세요 . 그리고 다시 같은 실수를하지 않으려면 몇 가지 검사 또는 프로세스가 있어야합니다. 이 문제를 해결하기 위해 Poka-Yoke 기술이 개발되었습니다.
기사 참조 :- Shigeo Shingo, Zero Quality Control
- 위키 백과 참고
- Boris Beizer, Software Testing Techniques, 2nd ed. Van Nostrand Reinhold
저자 정보 : 님의 게스트 게시물입니다. Nataraj Kanchyani. 그는 방갈로르의 Centurylink Technologies India Pvt Ltd에서 수석 소프트웨어 엔지니어 테스트로 일하고 있습니다.
이 기술에 대한 작업 경험이 있습니까? 아니면 이러한 결함 방지 및 감지 프로세스를 개발해 본 적이 있습니까? 아래 댓글로 알려주세요.
추천 도서
- 품질 속성은 무엇입니까?
- 가짜 품질의 신 대 진정한 인간-소프트웨어 품질에 대한 책임은 누구입니까?
- 소프트웨어 품질 보증 (SQA)이란? : 초보자를위한 가이드
- 테스트의 상호 이해 : 고품질 소프트웨어를 제공하기위한 핵심
- 소프트웨어 테스트 및 품질 보증 인증-2 부