Тема: ИССЛЕДОВАНИЕ И РАЗРАБОТКА МЕТОДОВ ИНТЕЛЛЕКТУАЛЬНОГО ТЕСТИРОВАНИЯ ПРОГРАММНЫХ ПРОДУКТОВ
Характеристики работы
Закажите новую по вашим требованиям
Представленный материал является образцом учебного исследования, примером структуры и содержания учебного исследования по заявленной теме. Размещён исключительно в информационных и ознакомительных целях.
Workspay.ru оказывает информационные услуги по сбору, обработке и структурированию материалов в соответствии с требованиями заказчика.
Размещение материала не означает публикацию произведения впервые и не предполагает передачу исключительных авторских прав третьим лицам.
Материал не предназначен для дословной сдачи в образовательные организации и требует самостоятельной переработки с соблюдением законодательства Российской Федерации об авторском праве и принципов академической добросовестности.
Авторские права на исходные материалы принадлежат их законным правообладателям. В случае возникновения вопросов, связанных с размещённым материалом, просим направить обращение через форму обратной связи.
📋 Содержание
1 Описание предметной области 7
1.1 Характеристика предприятия 7
1.2 Место тестирования в разработке программного обеспечения 9
1.3 Виды тестирования 12
1.4 Понятие тестового сценария 22
1.5 Выводы по первому разделу 25
2 Построение системы интеллектуального тестирования 26
2.1 Выбор инструмента автоматизации 26
2.2 Проектирование автоматизированной системы тестирования 35
2.3 Выводы по второму разделу 38
3 Программная реализация системы 39
3.1 Создание структуры автотеста 39
3.2 Настройка ActionBuilder 40
3.3 Создание структуры проекта 42
3.4 Создание автотеста 46
3.5 Тестирование программы 49
3.6 Обоснование экономической эффективности 50
3.7 Выводы по третьему разделу 56
ЗАКЛЮЧЕНИЕ 57
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
📖 Введение
Преимущества, которые предоставляет система [18]:
- При любом изменении, внесенном программистом в код, запускается тестовый сценарий, проверяющий корректную работу прежней и новой функциональности. Таким образом, разработчик всегда уверен в том, что его действия не повлекли за собой ошибок работы приложения. А если ошибка возникла, то отчёт о прохождении тестов позволит точно идентифицировать место и причину сбоя.
- Автоматизированное тестирование значительно сокращает время разработки ПО, так как заменяет процесс ручного тестирования. Кроме того, автономные тесты способны работать для разных форм и приложений. Таким образом, один раз написанный тест может служить инструментом для поиска ошибок многократно.
- Случайный подход генерации данных, используемых в тестах, позволяет найти непредвиденные ошибки. Так как очень часто машина способна сгенерировать тестовый пример, который ручной тестировщик мог не предусмотреть.
- История прохождения тестов на разных этапах разработки даёт ценную статистическую информацию: среднее количество ошибок при разработке одной формы, прохождении одного спринта (если речь идёт о компаниях, поддерживающих гибкие методологии разработки), за всё время создания продукта; время, потраченное на исправление ошибок; типы ошибок, их процентное соотношение. Такого рода информация может быть представлена заказчику, а также активно использоваться при дальнейшей разработке, чтобы на её основании улучшить процесс, устраняя недостатки предыдущих релизов. Кроме того, информация может быть использована при прохождении проверок компании на соответствие тому или иному мировому стандарту.
Не смотря на все перечисленные преимущества автоматизированного тестирования, в большинстве компаний, занимающихся разработкой программного обеспечения, понятие ручного тестирования не превратилось в атавизм. Это происходит из-за того, что создание подобной системы является нетривиальной и очень специфической задачей. В зависимости от функциональности разрабатываемого программного обеспечения, языков и средств программирования, задача организации системы кардинально меняется, приобретая свои персональные проблемы.
Целью данной работы является повышение эффективности тестирования программного обеспечения IT-компании за счет разработки автоматизированной системы тестирования для продукта АЦК-Финансы, а также корректирования общего плана процесса разработки с учётом создания данной системы.
Задачи включают в себя:
- изучение теоретических данных по тестированию и автоматизированному тестированию;
- изучение основных фреймворков для написания автотестов и выбор оптимального;
- моделирование системы автоматизированного тестирования;
- программная реализация системы;
- оценка экономической эффективности данной разработки.
Объектом исследования данной работы является процесс автоматического тестирования приложения АЦК-Финансы.
Предмет исследования - программное приложение АЦК-Финансы, методы написания автотестов, модель работы системы автоматизированного тестирования.
Практическое значение создаваемой системы заключается в высвобождении человеческих ресурсов и увеличении экономического эффекта производимых тестовых операций.
Новизна магистерской диссертации заключается в разработке оригинального средства тестирования, которое позволит повысить эффективность работы компании за счет следующего:
- сокращения времени процесса тестирования;
- сокращения количества специалистов по тестированию;
- экономии денежных средств за счет уменьшения затрат на заработную плату.
Магистерская диссертаци состоит из 3 разделов:
- аналитическая часть - в данном разделе будет рассмотрен процесс автоматизированного тестирования, его место и роль в жизненном цикле программного обеспечения;
- построение системы - в данном разделе будут изучены основные системы написание автоматических тестовых сценариев и обоснован выбор среды, используемой в данной разработке, а также создана модель автоматизированной системы;
- проектная часть - в данном разделе будет представлен процесс разработки и анализа автоматического теста, также будет наглядно представлена экономическая эффективность от внедрения данной системы;
Магистерская диссертация написана на 64 страницах. Она включает в себя 21 рисунок, 3 таблицы и 4 формулы.
По окончании исследования планируется получение настраиваемой и функциональной системы автоматизированного тестирования.
✅ Заключение
В ходе разработки были решены следующие задачи:
- изучение теоретических данных по тестированию и автоматизированному тестированию;
- изучение основных фреймворков для написания автотестов и выбор оптимального;
- моделирование системы автоматизированного тестирования;
- программная реализация системы;
- оценка экономической эффективности данной разработки.
Результатом выполнения магистерской диссертации является разработка автоматизированной системы тестирования программного обеспечения. Благодаря данной системе повысилась эффективность работы компании, а именно:
- сократилось время процесса тестирования;
- сократилось количество специалистов по тестированию;
- уменьшились затраты денежных средств на заработную плату.
Автоматизированная система тестирования может быть использована с большой пользой, благодаря следующим ее качества:
- выполнение тестовых операций с наименьшим участием человека;
- высокая скорость обработки информации;
- возможность решения новых задач.
В настоящий момент система полностью реализована. Процесс написания тестовых сценариев максимально упрощен. Им занимается уже целая команда тестировщиков. Автоматические тесты помогают найти
большой процент программных багов и сократить трудозатраты на ручной прогон сценариев.
Продолжая тему максимальной автоматизации, в будущем планируется работа по внедрению системы автоматического создания тестовых багов по отчету о прохождении тестов. В настоящий момент для того, чтобы известить разработчиков о возникшей ошибке тестировщикам приходится вручную просматривать тестовые отчёты и создавать задачи по их исправлению. В будущем этот процесс планируется автоматизировать. Проблемы возникают лишь с определением того, на кого назначать эту работу. Обычно тестировщики сами знают, кто из разработчиков занимался той или иной функциональностью и сами решают на кого назначать работу. При автоматизированном подходе придётся немного изменить и сам процесс разработки, для того, чтобы эту информацию можно было бы извлечь непосредственно из программного кода.



