Программная инженерия — это дисциплина, целью которой является создание высококачественного программного обеспечения посредством систематического, хорошо спланированного подхода к его разработке.
Она содержит множество передовых практик и строго следует стандартам для достижения качественного продукта. Три основные фазы разработки программного обеспечения: анализ – проектирование – реализация. Для создания высококачественного программного обеспечения очень важно производить продукт, который не содержит дефекты.
Друзья, поддержите нас вступлением в наш телеграм канал QaRocks. Там много туториалов, задач по автоматизации и книг по QA.
Содержание:
Как работает техника 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 в программном обеспечении является функция вложений электронной почты 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. Некоторые веб-сайты показывают индикатор надежности пароля. Он также рекомендует пользователям использовать надежный пароль, состоящий из комбинаций символов и цифр.
3. Функция поисковой системы Google автоматически предлагает исправления орфографии для поискового запроса пользователя. Это помогает пользователям избежать непреднамеренных ошибок.
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».