Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

3 сем / Руденский_3316_ПР6

.docx
Скачиваний:
0
Добавлен:
06.06.2025
Размер:
260.71 Кб
Скачать

Минобрнауки России

Санкт-петербургский государственный

Электротехнический университет

«ЛЭТИ» им. В.И. Ульянова (Ленина)

Кафедра вычислительной техники

Отчёт

Практическая работа №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)

Описание дефекта

При запуске программы в системном трее создаётся две одинаковые иконки вместо одной. Это приводит к визуальной избыточности и потенциальной путанице для пользователя.

Шаги воспроизведения

  1. Запустить программу с ярлыка на рабочем столе или из меню «Пуск».

  2. Наблюдать за появлением иконки в области уведомлений (трее).

Фактический результат

Иконка программы появляется дважды в трее.

Ожидаемый результат

Иконка программы должна появляться в трее ровно один раз.

Среда воспроизведения

  • Операционная система: Windows 10 Pro, 64-bit

  • Версия программы: 1.0.3

  • Аппаратное обеспечение:

    • Процессор: Intel Core i5-10400

    • ОЗУ: 8 ГБ

    • Графика: Intel UHD Graphics 630

Вложения

  1. Скриншоты дублированной иконки в трее.

  2. Лог программы (если доступен).

  3. Видео воспроизведения дефекта (если необходимо).

Дополнительная информация

  • Проблема наблюдается только при первом запуске программы после включения компьютера. Повторный запуск программы из состояния «закрыто» (без перезагрузки ОС) дефект не вызывает.

  • Возможная причина: программа несколько раз инициализирует создание иконки в трее из-за ошибок в логике обработки события загрузки.

Статус дефекта

  • Назначен разработчику: Иванов Иван

  • Текущий статус: Открыт

Комментарии

Рекомендуется проверить логику обработки событий инициализации иконки при запуске приложения. Убедиться, что вызов добавления иконки в трей происходит ровно один раз.

4) Попросим составить тестовый сценарий, тест моего запроса и ответа модели ниже.

Мой запрос: Составь тестовый сценарий для тестирования страницы сайта образовательного учреждения, на которой отображается расписание занятий

ChatGPT сказал:

Тестовый сценарий: Тестирование страницы расписания занятий на сайте образовательного учреждения

Цель тестирования

Проверить корректность отображения расписания занятий на странице сайта образовательного учреждения, а также проверить функциональность и соответствие требованиям.

Предварительные условия

  1. Пользователь авторизован (если требуется).

  2. Доступ к интернету стабильный.

  3. Расписание занятий предварительно загружено в базу данных.

  4. Открыт браузер, поддерживаемый сайтом (например, Chrome, Firefox).

Тестовые данные

  1. Учебные группы:

    • Группа A (понедельник: математика, вторник: физика).

    • Группа B (среда: химия, четверг: биология).

  2. Преподаватели и аудитории:

    • Преподаватель Иванов И.И., аудитория 101.

    • Преподаватель Петрова А.А., аудитория 202.

Тестовые шаги и ожидаемые результаты

Шаг

Действие

Ожидаемый результат

1

Перейти на сайт образовательного учреждения.

Главная страница сайта загружается без ошибок.

2

Открыть страницу с расписанием занятий (например, через меню «Расписание»).

Страница загружается корректно, отображается заголовок «Расписание занятий».

3

Выбрать группу (например, Группа A).

Отображается расписание занятий для выбранной группы.

4

Проверить отображение расписания: название предмета, время занятия, преподаватель, аудитория.

Все данные отображаются корректно и соответствуют ожидаемому расписанию.

5

Переключиться на другую группу (например, Группа B).

Расписание обновляется, данные соответствуют расписанию выбранной группы.

6

Проверить фильтрацию по дню недели (например, выбрать «Понедельник»).

Отображается только расписание занятий, которые проходят в выбранный день.

7

Проверить адаптивность страницы на разных разрешениях экрана (например, мобильный и десктоп).

Расписание отображается корректно, элементы не обрезаются и не перекрываются.

8

Проверить наличие кнопки загрузки расписания (если предусмотрено).

Кнопка доступна, при нажатии загружается корректный файл (например, PDF или Excel).

9

Проверить работу поиска (например, ввести имя преподавателя).

В результатах поиска отображаются только занятия, проводимые указанным преподавателем.

10

Проверить отображение ошибок (например, при отсутствии расписания).

Выводится сообщение: «Расписание отсутствует» (или аналогичное), страница не выдаёт системных ошибок.

Дополнительные проверки

  1. Проверить производительность страницы:

    • Время загрузки страницы не превышает 3 секунд.

  2. Проверить локализацию (если сайт доступен на нескольких языках).

  3. Проверить корректность ссылок на странице (например, ссылки на преподавателей, аудитории).

  4. Проверить доступность страницы для людей с ограниченными возможностями (например, использование Screen Reader).

Критерии успеха

  1. Расписание отображается корректно для всех групп, дней недели и преподавателей.

  2. Все функции страницы (фильтры, поиск, загрузка расписания) работают без ошибок.

  3. Страница адаптируется к разным устройствам и разрешениям экрана.

  4. Сообщения об ошибках информативны и корректны.

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.

Соседние файлы в папке 3 сем