
3 сем / Руденский_3316_ПР6
.docxМинобрнауки России
Санкт-петербургский государственный
Электротехнический университет
«ЛЭТИ» им. В.И. Ульянова (Ленина)
Кафедра вычислительной техники
Отчёт
Практическая работа №6
По дисциплине «Введение в тестирование ПО»
Тема: «Применение ИИ в тестировании»
Студент гр. 3316 |
|
Руденский И.М. |
Преподаватель |
|
Турнецкая Е.Л. |
Санкт-Петербург
2024
Цель работы: получение практических навыков применения искусственного интеллекта в тестировании программного обеспечения.
Для выполнения работы я выбрал модель ChatGPT-4omni. К сожалению, в РФ она доступна только с VPN, но она является одной из самых проработанных языковых моделей, которые работают на русском языке, так что её использование оправдано. ChatGPT-4o обладает функциями памяти: модель запоминает информацию и делает для себя выводы по запросам пользователя, а затем анализирует их и адаптирует новые ответы на основе полученных данных. Кроме того, модель является условно бесплатной – пользователю даётся 15 бесплатных запросов на самую новую модель в день, а далее запросы выполняются к ChatGPT-3.5.
Ссылка на модель: chatgpt.com
Ход работы
1) Выполним запрос для генерации примера тестовых данных (рис 1)
Рисунок 1
2) Попросим модель дать несколько определений в сфере тестирования (рис 2, 3)
Рисунок 2
Рисунок 3
3) Попросим модель составить отчёт по дефекту. Далее приложен текст моего вопроса и ответа модели, т.к. ответ получился очень большим.
Мой запрос: Составь отчёт по дефекту: Дефект заключается в том, что при запуске программы её иконка в трее дублируется
ChatGPT сказал:
Отчёт по дефекту
Общая информация
Идентификатор дефекта: DEF-001
Заголовок: Дублирование иконки программы в трее при запуске
Приоритет: Средний (Medium)
Серьёзность: Низкая (Low)
Описание дефекта
При запуске программы в системном трее создаётся две одинаковые иконки вместо одной. Это приводит к визуальной избыточности и потенциальной путанице для пользователя.
Шаги воспроизведения
Запустить программу с ярлыка на рабочем столе или из меню «Пуск».
Наблюдать за появлением иконки в области уведомлений (трее).
Фактический результат
Иконка программы появляется дважды в трее.
Ожидаемый результат
Иконка программы должна появляться в трее ровно один раз.
Среда воспроизведения
Операционная система: Windows 10 Pro, 64-bit
Версия программы: 1.0.3
Аппаратное обеспечение:
Процессор: Intel Core i5-10400
ОЗУ: 8 ГБ
Графика: Intel UHD Graphics 630
Вложения
Скриншоты дублированной иконки в трее.
Лог программы (если доступен).
Видео воспроизведения дефекта (если необходимо).
Дополнительная информация
Проблема наблюдается только при первом запуске программы после включения компьютера. Повторный запуск программы из состояния «закрыто» (без перезагрузки ОС) дефект не вызывает.
Возможная причина: программа несколько раз инициализирует создание иконки в трее из-за ошибок в логике обработки события загрузки.
Статус дефекта
Назначен разработчику: Иванов Иван
Текущий статус: Открыт
Комментарии
Рекомендуется проверить логику обработки событий инициализации иконки при запуске приложения. Убедиться, что вызов добавления иконки в трей происходит ровно один раз.
4) Попросим составить тестовый сценарий, тест моего запроса и ответа модели ниже.
Мой запрос: Составь тестовый сценарий для тестирования страницы сайта образовательного учреждения, на которой отображается расписание занятий
ChatGPT сказал:
Тестовый сценарий: Тестирование страницы расписания занятий на сайте образовательного учреждения
Цель тестирования
Проверить корректность отображения расписания занятий на странице сайта образовательного учреждения, а также проверить функциональность и соответствие требованиям.
Предварительные условия
Пользователь авторизован (если требуется).
Доступ к интернету стабильный.
Расписание занятий предварительно загружено в базу данных.
Открыт браузер, поддерживаемый сайтом (например, Chrome, Firefox).
Тестовые данные
Учебные группы:
Группа A (понедельник: математика, вторник: физика).
Группа B (среда: химия, четверг: биология).
Преподаватели и аудитории:
Преподаватель Иванов И.И., аудитория 101.
Преподаватель Петрова А.А., аудитория 202.
Тестовые шаги и ожидаемые результаты
Шаг |
Действие |
Ожидаемый результат |
1 |
Перейти на сайт образовательного учреждения. |
Главная страница сайта загружается без ошибок. |
2 |
Открыть страницу с расписанием занятий (например, через меню «Расписание»). |
Страница загружается корректно, отображается заголовок «Расписание занятий». |
3 |
Выбрать группу (например, Группа A). |
Отображается расписание занятий для выбранной группы. |
4 |
Проверить отображение расписания: название предмета, время занятия, преподаватель, аудитория. |
Все данные отображаются корректно и соответствуют ожидаемому расписанию. |
5 |
Переключиться на другую группу (например, Группа B). |
Расписание обновляется, данные соответствуют расписанию выбранной группы. |
6 |
Проверить фильтрацию по дню недели (например, выбрать «Понедельник»). |
Отображается только расписание занятий, которые проходят в выбранный день. |
7 |
Проверить адаптивность страницы на разных разрешениях экрана (например, мобильный и десктоп). |
Расписание отображается корректно, элементы не обрезаются и не перекрываются. |
8 |
Проверить наличие кнопки загрузки расписания (если предусмотрено). |
Кнопка доступна, при нажатии загружается корректный файл (например, PDF или Excel). |
9 |
Проверить работу поиска (например, ввести имя преподавателя). |
В результатах поиска отображаются только занятия, проводимые указанным преподавателем. |
10 |
Проверить отображение ошибок (например, при отсутствии расписания). |
Выводится сообщение: «Расписание отсутствует» (или аналогичное), страница не выдаёт системных ошибок. |
Дополнительные проверки
Проверить производительность страницы:
Время загрузки страницы не превышает 3 секунд.
Проверить локализацию (если сайт доступен на нескольких языках).
Проверить корректность ссылок на странице (например, ссылки на преподавателей, аудитории).
Проверить доступность страницы для людей с ограниченными возможностями (например, использование Screen Reader).
Критерии успеха
Расписание отображается корректно для всех групп, дней недели и преподавателей.
Все функции страницы (фильтры, поиск, загрузка расписания) работают без ошибок.
Страница адаптируется к разным устройствам и разрешениям экрана.
Сообщения об ошибках информативны и корректны.
5) Попросим модель составить теоретический вопрос с 3-4 вариантами ответов.
6) Спросим модель о том, как нам начать путь к становлению QA-инженером.
Текст запроса и ответ приведен ниже.
Мой запрос: с чего мне начать обучение тестированию, если я хочу стать QA инженером?
ChatGPT сказал:
Начать обучение тестированию лучше с понимания основ и постепенного углубления в практические навыки. Вот пошаговый план:
1. Изучение основ тестирования
Понять, что такое тестирование, зачем оно нужно, и какие виды тестирования существуют: функциональное, регрессионное, нагрузочное, и др.
Ознакомиться с жизненным циклом разработки ПО (SDLC) и ролью QA в нём.
Прочитать базовую литературу, например:
"Тестирование DOT COM" Савина.
"Foundations of Software Testing" Исбашер и др.
2. Освоение техники тест-дизайна
Изучить техники тестирования: эквивалентное разбиение, анализ граничных значений, тестирование состояний и переходов.
Научиться писать тест-кейсы и тестовые сценарии.
3. Изучение инструментов
Освоить инструменты для тестирования:
Для ручного тестирования: Jira, TestRail, Postman.
Для автоматизации: Selenium, Cypress, Playwright.
Для API-тестирования: Postman, SoapUI.
Для нагрузочного тестирования: JMeter, Locust.
4. Практика
Найти проекты для практики:
Зарегистрируйтесь на платформах для тестирования, например, TestIO или uTest.
Практикуйтесь на открытых сайтах или демо-приложениях (например, интернет-магазины, калькуляторы).
5. Изучение языков программирования
Начните изучение языков, часто используемых в автоматизации:
Python, Java, JavaScript или C#.
Разберите основы: синтаксис, работа с файлами, написание простых тестов.
6. Знакомство с системами контроля версий
Изучите основы работы с Git и GitHub.
7. Изучение тестирования API
Разберитесь с понятием API и протоколами HTTP/HTTPS, REST, SOAP.
Практикуйтесь в тестировании API через Postman.
8. Углубление в смежные темы
Изучите основы баз данных (SQL).
Разберитесь в работе ОС, например Linux (основные команды).
Изучите основы CI/CD (Jenkins, GitLab CI/CD).
9. Получение опыта и сертификация
Попробуйте найти стажировку или начальную позицию тестировщика.
Рассмотрите получение сертификатов, например:
ISTQB Foundation Level (международный стандарт).
10. Регулярное обучение
QA — это постоянно развивающаяся область, поэтому важно регулярно изучать новые подходы и инструменты. Подписывайтесь на профильные ресурсы, участвуйте в митапах и конференциях.
Если нужно более детальное руководство по какому-либо этапу, дайте знать! 😊
Оценка корректности ответов на вопросы 1-6 по порядку
1) Модель полностью удовлетворила запрос, предоставив тестовые данные, которые позволят проверить базовые, пограничные и специфические случаи.
2) Модель ответила верно на все поставленные вопросы и дала определения корректно.
3) Отчёт по дефекту был составлен чётко, по пунктам, со всеми необходимыми уточнениями. Такой запрос запросто можно увидеть в Jira или в подобном месте.
4) Тестовый сценарий, предложенный моделью, можно применить в реальных условиях, он действительно поможет протестировать сайт.
5) Теоретический вопрос был дан по теме, в нем есть 3 неправильных и 1 правильный ответ. Модель дала объяснение, почему ответ верен, а другие - нет
6) Моделью был предложен развёрнутый план по тому, как можно стать QA-инженером.
Вывод
Применение искусственного интеллекта (ИИ) в тестировании программного обеспечения открывает новые возможности для повышения эффективности и качества разработки. ИИ позволяет автоматизировать рутинные задачи, такие как генерация тест-кейсов, анализ логов и определение областей риска в коде, что сокращает время на подготовку и выполнение тестов. Машинное обучение помогает выявлять скрытые зависимости и предсказывать потенциальные дефекты на ранних этапах разработки. Например, использование инструментов на основе ИИ для анализа поведения приложения может сократить время на регрессионное тестирование, обнаруживая отклонения в работе без прямого участия человека.
Однако внедрение ИИ требует изменений в подходах и навыках QA-инженеров, поскольку необходимо понимать принципы работы моделей, их ограничения и способы интерпретации результатов. Кроме того, для эффективного применения ИИ требуется подготовка качественных данных, что может быть дополнительным вызовом. Несмотря на сложности, потенциал использования ИИ огромен: он не только улучшает процесс тестирования, но и способствует более глубокому пониманию работы сложных систем. Таким образом, применение ИИ становится важным этапом в развитии тестирования как дисциплины, помогая командам достигать высокого уровня качества и производительности.
Использованные источники
Савин Роман А. Тестирование DOT COM. Посібник для початківців. — СПб: Питер, 2020.
Myers Glenford J. The Art of Software Testing. — John Wiley & Sons, 2011.
Веб-ресурсы:
Применение искусственного интеллекта в тестировании программного обеспечения. Хабр. Доступ: https://habr.com.
AI Tools for Software Testing. TestProject Blog. Доступ: https://blog.testproject.io.
Статья: Artificial Intelligence in Software Testing. Автор: К. Джонсон, журнал IEEE Software, 2021.