![](https://qarocks.ru/wp-content/uploads/2023/10/blog-impokayokeages-1024x612.webp)
Программная инженерия — это дисциплина, целью которой является создание высококачественного программного обеспечения посредством систематического, хорошо спланированного подхода к его разработке.
Она содержит множество передовых практик и строго следует стандартам для достижения качественного продукта. Три основные фазы разработки программного обеспечения: анализ – проектирование – реализация. Для создания высококачественного программного обеспечения очень важно производить продукт, который не содержит дефекты.
БЕСПЛАТНО СКАЧАТЬ КНИГИ в телеграм канале "Библиотека тестировщика"
Содержание:
Как работает техника Poka-Yoke?
Важность Poka-Yoke на этапе проектирования ПО
Управление дефектами
Дефект – это неожиданное или нежелательное поведение продукта. Все, что связано с дефектом, — это непрерывный процесс, а не определенное состояние.
Поиск и устранение дефектов на ранних этапах разработки программного обеспечения сокращает время, деньги и объем дополнительной работы. Выявление дефекта на более поздних стадиях всегда обходится в несколько раз дороже. Это повышает качество за счет повышения надежности, портативности, ремонтопригодности и т. д.
Следовательно, каждой компании рекомендуется использовать систему управления дефектами и привлекать команду по отслеживаю дефектов на каждом этапе разработки. Это поможет достичь высокого качества продукции и завоевать доверие клиентов.
Одним из таких методов защиты от ошибок является POKA-YOKE.
Что такое Poka-Yoke?
Poka-Yoke – это процесс обеспечения качества, предложенный японским инженером Сигео Синго. Данный термин используется в японском языке как “Poka”, «ошибка», и “Yoke”, «предотвращение», то есть метод предотвращения или защиты от ошибок.
Целью Poka-Yoke является разработка процессов для уменьшения количества дефектов путем их предотвращения или исправления (разработка для отображения предупреждающих сообщений пользователю) на ранних стадиях проектирования и разработки. Этот метод в основном использовался на производстве, но теперь эта эффективная техника адаптирована и к процессам разработки ПО.
Пример Poka-Yoke из производственной сферы
Рассмотрим хороший пример использования метода Poka-Yoke в производственной сфере. Слоты для SIM-карт в мобильных телефонах спроектированы таким образом, что пользователю разрешается вставлять SIM-карты только правильным образом. Физически невозможно установить SIM-карту в мобильный телефон неправильно, что защищает от ошибок всю конструкцию в целом.
Пример Poka-Yoke из программного приложения
![Пример программного обеспечения Poka Yoke](https://qarocks.ru/wp-content/uploads/2023/03/poka-yoke-software-example.png)
Прекрасным примером техники Poka-Yoke в программном обеспечении является функция вложений электронной почты Gmail. Когда вы набираете слово “найти вложение” при составлении нового письма и пытаетесь отправить его без вложения файла, Google покажет вам всплывающее напоминание о том, что вы так и не вложили никаких файлов в свое письмо и уточнит, хотите ли вы продолжить отправку?
Как работает техника Poka-Yoke?
Шаги по внедрению метода Poka-Yoke:
Ниже приведены несколько шагов по разработке и внедрению процесса предотвращения дефектов программного обеспечения:
- Перечислите все пользовательские сценарии и комплексные тестовые сценарии для приложения.
- Проанализируйте все эти пользовательские сценарии, задавая вопросы по принципу “5 причин”, чтобы понять, почему они могут потерпеть неудачу.
- Как только вы определите, почему эти сценарии могут быть ошибочными, вы сможете разработать и применить метод Poka-Yoke, чтобы избежать возможных проблем. Например, это может быть простой модульный тест для проверки правильности работы какой-либо написанной функции.
- Убедитесь, что метод разработан так, чтобы избежать дефектов при правильной работе, выдавая ошибки или предупреждающие сообщения о неправильном вводе или обработке пользовательских сценариев.
- Как только испытание пройдено, добавьте эту технику в список процессов Poka-Yoke, которые должны выполняться каждый раз при новом релизе/сборке. В приведенном выше примере модульного тестирования, после написания модульного теста для проверки кода функции, проверьте, работает ли он для положительных и отрицательных значений. Когда тест будет пройден, добавьте его в репозиторий “Unit tests”, который будет выполняться каждый раз при внесении изменений в соответствующие модули.
- Оцените успех метода Poka-Yoke. Проверьте, действительно ли эта техника предотвратила или выявила дефекты на этапе их возникновения.
Категории Poka-Yoke
- Предотвращение дефектов
- Обнаружение дефектов
Предотвращение дефектов является наиболее важным видом деятельности в SDLC. Этот метод используется для выявления всех возможных проблем и действий, необходимых для их устранения. Многие дефекты программного обеспечения можно предотвратить уже на этапе проектирования.
Команда обеспечения качества может помочь предотвратить дефекты путем анализа документов спецификации требований к программному обеспечению. Все проблемы, выявленные на этом этапе, решаются на этапе написания кода программного обеспечения и не могут быть перенесены на более поздние этапы.
Приведенные выше примеры производственной отрасли и индустрии программного обеспечения являются хорошими примерами методов предотвращения дефектов.
Обнаружение дефектов — наиболее распространенная задача команд по обеспечению качества. Они используют различные подходы и стратегии для эффективного выполнения тестовых случаев. Дефекты обнаруживаются многими другими методами тестирования, такими как дымовое и исследовательское.
Качества техники Poka-Yoke
- Метод Poka-Yoke важно сделать простым в создании, обращении и обслуживании. Он также должен быть экономически эффективным. Обслуживание сложного Poka-Yoke отнимает много времени и часто приводит к проблемам, если его не поддерживать должным образом.
- Poka-Yoke должен быть разработан на ранних этапах SDLC, чтобы он мог быстро обнаружить проблемы.
- Хорошая техника Poka-Yoke должна быть достаточно точной, чтобы находить проблемы сразу в момент их возникновения.
- Метод Poka-Yoke должен быть разработан таким образом, чтобы предотвратить наиболее распространенные проблемы, возникающие в программном обеспечении.
- Эта техника должна быть частью процесса разработки и написания кода программного обеспечения.
Важность Poka-Yoke на этапе проектирования ПО
Чтобы разработать качественное программное обеспечение, важно спроектировать его в соответствии с ожиданиями пользователя. Пользователь должен иметь возможность легко использовать программу, не сталкиваясь с серьезными ошибками.
Примеры Poka-Yoke в области дизайна и качества:
1. Отсутствие файлов вложений при составлении электронного письма с помощью Gmail.
2. Некоторые веб-сайты показывают индикатор надежности пароля. Он также рекомендует пользователям использовать надежный пароль, состоящий из комбинаций символов и цифр.
![Пример Poka yoke](https://qarocks.ru/wp-content/uploads/2023/03/poka-yoke-example-2.png)
3. Функция поисковой системы Google автоматически предлагает исправления орфографии для поискового запроса пользователя. Это помогает пользователям избежать непреднамеренных ошибок.
![Пример Poka yoke](https://qarocks.ru/wp-content/uploads/2023/03/poka-yoke-example-3.png)
4. Банковские сайты используют функцию двойного текстового поля для ввода конфиденциальной информации, такой как пароли или номера счетов. Второе текстовое поле обычно зашифровано, чтобы избежать ошибок при вводе данных и проверить, совпадают ли оба значения обоих полей.
Необходимость Poka-Yoke в разработке программного обеспечения
Из бесчисленных примеров теперь хорошо понятно, что стоимость исправления дефекта после выпуска продукта во много раз превышает стоимость его исправления в цикле разработки.
Лучшим решением для предотвращения проблем после выпуска продукта является внедрение техники Poka-Yoke, которая позволяет выявить дефекты на ранних стадиях разработки, существенно удешевляя их исправление. Реализация процесса Poka-Yoke во многом зависит от способности тестировщика выявлять и устранять проблемы.
Примеры Poka-Yoke в разработке программного обеспечения
- Модульное тестирование — один из наиболее эффективных способов защиты от ошибок при разработке программного обеспечения.
- Наличие валидации Poka-Yoke всегда является хорошей практикой для разработчиков. Ошибки валидации должны быть обработаны в вашем коде. Вопросы валидации следует периодически пересматривать и обновлять.
- Распространенным и наиболее эффективным Poka-Yoke является наем правильных кандидатов для защиты вашего программного обеспечения от ошибок.
Заключение
Совершать ошибки – это нормально; просто не стоит повторять одну и ту же ошибку снова и снова. Чтобы избежать повторения ошибок, необходимо предусмотреть определенные проверки или процессы. Техника Poka-Yoke разработана специально для решения этой проблемы.
Перевод статьи «How to Use Poka-Yoke (Mistake Proofing) Technique to Improve Software Quality».