Тема: Исследование методик тестирования разговорных интерфейсов
Закажите новую по вашим требованиям
Представленный материал является образцом учебного исследования, примером структуры и содержания учебного исследования по заявленной теме. Размещён исключительно в информационных и ознакомительных целях.
Workspay.ru оказывает информационные услуги по сбору, обработке и структурированию материалов в соответствии с требованиями заказчика.
Размещение материала не означает публикацию произведения впервые и не предполагает передачу исключительных авторских прав третьим лицам.
Материал не предназначен для дословной сдачи в образовательные организации и требует самостоятельной переработки с соблюдением законодательства Российской Федерации об авторском праве и принципов академической добросовестности.
Авторские права на исходные материалы принадлежат их законным правообладателям. В случае возникновения вопросов, связанных с размещённым материалом, просим направить обращение через форму обратной связи.
📋 Содержание
Введение…………………………………………………………….……....5
1. Тестирование и диалоговые интерфейсы
1.1 Тестирование программных продуктов
1.1.1 Определение тестирования……...…………………………………...7
1.1.2 Подходы к тестированию…………………………………………….9
1.1.3 Процесс тестирования………………………….………………...…11
1.1.4 Подготовка к тестированию………………………….….……….…12
1.1.5 Тест-дизайн……………………………………………….…………14
1.1.6 Методики тестирования…………………………………………….17
1.1.7 Автоматизация тестирования………………………………………22
1.1.8 Принципы хорошего тестирования……………….……….……….25
1.2 Диалоговые системы
1.2.1 Определение диалоговой системы и ее актуальность в современном мире………………………………….……….………….…………...29
1.2.2 Функции диалоговых систем…………………………….…………31
1.2.3 Архитектура диалоговой системы и инструменты для ее разработки………………………………………………….……..….32
1.2.4 Рекомендации по разработке диалоговой системы……………….35
1.2.5 Компания JUST AI и платформа JAICP………………………….…37
1.2.6 Тестирование диалоговых систем………...……….…………….…40
2. Проверка методик тестирования на диалоговой системе
2.1 Описание чат-бота
2.1.1 Выбор тематической области для чат-бота………..…….…………44
2.1.2 Бот-справочник о правилах DnD……….……….………….………45
2.2 Устройство чат-бота…………….……….…….……………..……….46
2.3 Статические методы
2.3.1 Правила составления паттернов……….….……….…….…………48
2.3.2 Статическое тестирование паттернов………….…….…….………49
2.3.3 Статическое тестирование именованных паттернов..…….………51
2.4 Тестирование с помощью тест-кейсов
2.4.1 Ошибки в тестах…………………………………………….………56
2.4.2 Ошибки в паттернах и именованных паттернах……….…………57
2.4.3 Пересечение паттернов…………….…………….…………………58
2.4.4 Ошибки в сценарии………………………….….…….……….……62
2.4.5 Другие ошибки………………………………………………………63
2.4.6 Общие выводы………………….…….…….………………….……64
2.5 Тестирование с привлечением пользователей
2.5.1 Загрузка чат-бота в канал…………………..…….…………………65
2.5.2 Общение бота с пользователями……………………………………66
Заключение………………………………………….………………….…70
Список литературы……………………………………………………......73
Приложения……………………………………………………………….…..…76
📖 Введение
Несмотря на то, что направление создания разговорных интерфейсов развито довольно хорошо, оно еще очень молодо и пока не обладает достаточным набором методов и подходов к тестированию разработок. Вместе с тем, при проектировании разговорных интерфейсов на текущий момент разработчики ориентируются в основном на гипотезы, не имея возможности исследовать и проверять эффективность выдвигаемых им предположений. Иных строго регламентированных методик не существует, либо они находятся в других областях знаний и требуют адаптации под реалии практики создания разговорных интерфейсов.
Поэтому целью моей работы является проведение сравнительного исследования и подбор методов для оценки качества ботов и проверки состоятельности продуктовых гипотез.
Объект работы – методики тестирования программных продуктов.
Предмет работы – применимость и эффективность методик тестирования для тестирования диалоговых систем.
Задачи работы:
1. Изучить принципы и методы тестирования программных продуктов;
2. Найти информацию о методах тестирования чат-ботов;
3. Самостоятельно определить набор методов, позволяющих наиболее полно протестировать диалоговую систему;
4. Изучить платформу JAICP;
5. Придумать чат-ботa для проверки эффективности методов тестирования;
6. Создать этого бота с помощью инструментов платформы JAICP;
7. Протестировать бота с помощью выбранных методов;
8. Сделать вывод об эффективности методов для оценки качества чат-ботов.
При выполнении работы применялись следующие методы: теоретический анализ литературных источников по проблеме исследования, анализ, синтез информации, моделирование, программирование, тестирование.
✅ Заключение
Вторая половина первой главы посвящена теории разработки и тестирования диалоговых интерфейсов. Было дано определение диалоговой системы, обозначены возможности современных разговорных интерфейсов и перспективы их развития; описаны принципы, на основе которых осуществляется их работа, и инструменты для их создания. Из источников были выделены требования, которым должен удовлетворять чат-бот, и рекомендации по их выполнению. Помимо этого, была изучена и описана платформа JAICP от компании JUST AI и выбран ряд методик, применимых для тестирования диалоговых систем.
Был описан следующий набор методов, позволяющих наиболее полно протестировать диалоговую систему:
• Статические методы:
◦ Поиск ошибок в коде;
◦ Поиск ошибок в тесте;
◦ Проверка переходов между состояниями;
◦ Тестирование графического интерфейса;
◦ Проверка соответствия требованиям заказчика;
• Динамические методы:
◦ Тестирование с помощью тест-кейсов;
◦ Тестирование «счастливого пути»;
◦ «Отрицательное тестирование»;
◦ Тестирование с привлечением пользователей;
◦ Оценка удобства пользования.
Практическая часть работы заключалась в проектировании, создании и тестировании диалогового интерфейса. Во второй главе описано устройство созданного мной чат-бота, а также обоснован выбор тематической области, которой он посвящен. Сценарий для бота был написан автоматически, с помощью созданной в рамках данной работы программы на языке Python; устройство программы обозначено в тексте главы, а ее код содержится в приложении 4.
Тестирование было разделено на три этапа: статическое, с помощью тест-кейсов и с привлечением пользователей. В ходе статического тестирования база данных и сценарий чат-бота были проверены на наличие орфографических, пунктуационных и речевых ошибок, а также ошибок в паттернах для стейтов и именованных паттернах. Выявленные ошибки приведены в тексте главы.
Для написания тест-кейсов была создана еще одна программа; ее код вы можете найти в приложении 5. Ошибки, выявленные в ходе автоматического тестирования, были классифицированы, а их количество после каждого набора внесенных в устройство бота изменений, занесено в сводную таблицу. Каждый класс ошибок подробно рассмотрен и подкреплен примерами; описаны причины возникновения ошибок и способы их исправления. Сделаны выводы об особенностях устройства и тестирования чат-ботов и сложностях, с которыми может столкнуться разработчик.
Последний этап тестирования чат-бота проводился с привлечением пользователей. Им было предложено пообщаться с диалоговым агентом, подключенным к мессенджеру Telegram, и дать характеристику его работы. Записи диалогов были обработаны, и на их основе сделаны выводы о манере общения собеседников чат-бота, достаточности объема его базы данных и недочетах в его устройстве. Пользователи назвали работу диалоговой системы удовлетворительной, но выявили в ней несколько недостатков.
В результате проведенного эксперимента были сделаны выводы об эффективности методов тестирования чат-ботов:
• Статические методы полезны при проектировании и разработке чат-бота. В процессе написания сценария разработчику следует просматривать готовый текст и паттерны на предмет ошибок, но по окончании разработки целесообразнее сразу переходить к динамическим методам. «Ручная» проверка бота занимает гораздо больше времени, а количество найденных ошибок оказывается в разы меньше, чем при автоматической.
• Проверка с помощью тест-кейсов – высокоэффективный метод, позволяющий за небольшое количество времени найти и отладить большое количество ошибок. С помощью автоматизации процесса написания тестов его скорость можно сделать еще выше. Эффективность этого метода зависит от количества вариантов, которые тестировщик смог собрать для каждого из прописанных в сценарии запросов. Чем больше вариантов, тем меньше шанс, что при эксплуатации бот не сможет распознать какую-либо фразу.
• Тестирование с привлечением пользователей также можно назвать эффективным методом, поскольку оно позволяет найти «белые пятна» в сценарии: запросы и слова, которые не были учтены при разработке. Оно также дает возможность получить информацию о реальных потребностях людей, о том, какие из путей диалога наиболее популярны, и о манере речи пользователей, на которых ориентирован бот.
Использование тест-кейсов в связке с «живым» тестированием бота пользователями позволяет получить наиболее полную картину о достоинствах и недостатках бота и разработать стратегию улучшения качества его работы.
Тема данного исследования была предложена компанией Just AI.





