ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 01.12.2023

Просмотров: 73

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ И РОССИЙСКОЙ ФЕДЕРАЦИИ федеральное государственное бюджетное образовательное учреждение высшего образования
«УЛЬЯНОВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»
А.А. РОМАНОВ
ТЕСТИРОВАНИЕ
ПРОГРАММНОГО
ОБЕСПЕЧЕНИЯ
Лабораторный практикум
Ульяновск
УлГТУ
2022

УДК 004.8(076)
ББК 32.813.5я7
Р 69
Р 69
Рекомендовано научно-методической комиссией факультета информационных систем и технологий в качестве практикума.
Рецензент заместитель декана по учебной работе ФИСТ, доцент
И.В. Беляева
Романов, Антон Алексеевич
ТЕСТИРОВАНИЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ : лабораторный практикум / А. А. Романов. – Ульяновск : УлГТУ, 2022. – 45 с.
Практикум адресован студентам для выполнения и оформления лабораторных работ по дисциплине «Тестирование программного обеспечения». Рекомендации и требования к лабораторным работам разработаны в соответствии с рабочей программой дисциплины.
Предназначены для студентов, обучающихся по укрупненной группе специальностей и направлений
09.00.00 «Информатика и вычислительная техника».
Работа подготовлена на кафедре «Информационные системы».
УДК 004.8(076)
ББК 32.813.5я7
© Романов А.А., 2022
© Оформление. УлГТУ, 2022

3
СОДЕРЖАНИЕ
ВВЕДЕНИЕ .................................................................................................... 4
ЛАБОРАТОРНАЯ РАБОТА №1 ................................................................... 7
ЛАБОРАТОРНАЯ РАБОТА №2 ................................................................. 12
ЛАБОРАТОРНАЯ РАБОТА №3 ................................................................. 23
ЛАБОРАТОРНАЯ РАБОТА №4 ................................................................. 31
ЛАБОРАТОРНАЯ РАБОТА №5 ................................................................. 35
ЛАБОРАТОРНАЯ РАБОТА №6 ................................................................. 39
СПИСОК ЛИТЕРАТУРЫ ........................................................................... 45

4
ВВЕДЕНИЕ
Целью освоения дисциплины «Тестирование программного обеспечения» является освоение современных методов и технологий оценки программного обеспечения на соответствие моделям, потребностям на должном уровне.
Задачами дисциплины являются:

формирования навыков применения методов, типов, видов тестирования для оценки качества программного обеспечения;

использование современных инструментов для оценки качества программного обеспечения.
Кроме того, в результате изучения дисциплины «Тестирование программного обеспечения» обучающиеся на основе приобретенных знаний, умений и навыков достигают освоения компетенций на определенном уровне их формирования.
Тематический план дисциплины:
1. Понятия тестирования программного обеспечения
1.1
Основы тестирования программного обеспечения
1.2
Виды, уровни, типы, методы тестирования
2. Тестовая документация. Процессы тестирования программного обеспечения
2.1 Виды тестовой документации.
2.2 Дефекты при тестировании программного обеспечения. Жизненный цикл дефектов.
2.3 Проектирование тестовой документации.
3. Инструменты и подходы тестирования программного обеспечения
3.1 Модульное тестирование программного обеспечения.
3.2 Автоматизация тестирования программного обеспечения.
3.3 Нагрузочное тестирование.


5
При подготовке к лекции студент может, используя рабочую программу дисциплины, уяснить тему лекции и вопросы, которые будет раскрывать преподаватель при изучении дисциплины. Преподаватель раскрывает наиболее важные, принципиальные вопросы каждой темы, способствующие пониманию логики построения курса, структуры и содержания основных понятий тестирования программного обеспечения, особенностей инструментов и технологий. В конце лекции преподаватель, как правило, формулирует задание для самостоятельной работы студента: изучение определенных разделов учебника, дополнительной литературы, материалов форумов или официальной документации, которые позволят студенту углубить понимание темы и подготовиться выполнению лабораторных работ.
Лабораторные занятия проводятся в соответствии с рабочей программой при последовательном изучении тем дисциплины и представляют собой выполнение обучаемыми набора практических задач предметной области с целью выработки у них навыков их решения. Перед проведением лабораторного занятия по решению задач преподаватель информирует студентов о теме занятия, сообщает о целях и задачах проведения практического занятия, порядке его проведения и критериях оценки результатов работы. Особое внимание при этом студентам следует обратить на особенности работы с теми или иными технологиями и инструментами, необходимыми для решения задач по указанной преподавателем теме занятия.
На лабораторном занятии студентам выдаются (по вариантам) задания на его выполнение. При необходимости преподаватель отвечает на вопросы, помогает разобраться с нюансами инструментов или технологий.
После выполнения происходит демонстрация студентом своей разработки и беседа с преподавателем. В случае необходимости преподаватель может

6 давать небольшие задания на доработку, если в процессе собеседования останутся какие-то вопросы или исходное задание будет выполнено не в полном объеме по истечению срока.
Самостоятельная работа является необходимой и обязательной для каждого обучающегося, ее объем по курсу «Тестирование программного обеспечения» определяется данной рабочей программой дисциплины.
Самостоятельная работа – это изучение без участия преподавателя отдельных тем (вопросов темы), рекомендованных в рабочей программе по данной дисциплине. Главная задача самостоятельной работы – развитие самостоятельности, ответственности и организованности, творческого подхода к решению проблем учебного и профессионального уровня.
Самостоятельная работа студентов делится на два вида: аудиторную; внеаудиторную. Видами самостоятельной работы студента в аудиторное время являются: решение задач в рамках лабораторных занятий, участие студента в собеседованиях и т. д. Аудиторная самостоятельная работа студентов организуется и проходит под контролем преподавателя, предполагает выдачу студентам групповых или индивидуальных заданий и самостоятельное выполнение их студентами под методическим и организационным руководством преподавателя.


7
ЛАБОРАТОРНАЯ РАБОТА №1
Тема лабораторной работы: тестирование документации.
Общие сведения по работе
Документация является одним из объектов тестирования. Главной целью в этом тестировании является сокращение ошибок разного характера, улучшение структурированности, предупреждение потенциальных проблем в дальнейшей разработке программного обеспечения. Настоящая лабораторная работа направлена не столько на исправление документации для ее дальнейшего использования, сколько для проведения ретроспективного анализа своей собственной работы, результат которой уже известен, и модификации документации для повышения ее качества. Необходимо протестировать документацию по одной из своих прошлых работ (курсовая работа или проект).
Методические рекомендации и материалы
Документация является одним из составных компонентов любой программной системы. Документация в зависимости от вида жизненного цикла (ЖЦ) программного обеспечения может создаваться на каждом из этапов. Контроль за качеством документации является одной из актуальных проблем в разработке.
Тестирование документации проводится для:
1. Минимизации потенциальных рисков при реализации новой функциональности.
2. Минимизации проблем доработки и сопровождения существующего программного обеспечения.
Определение доступной для тестирования документации можно выполнить, основываясь на наличии формальных требованиях к ней.
Можно выделить две группы документации:

8 1. Документация, выполненная в строгом соответствии со стандартами
(ГОСТ, ISO): техническим заданием (ТЗ), спецификациями, требованиями к программному обеспечению, инструкциями, и т. д.
2. Документация, выполненная по внутренним правилам команды или заказчика
(документация, основанная на стандартах, сгенерированная документация).
Тестировать документацию можно, основываясь на следующих критериях:
1. Полнота. Каждый элемент функциональности должен был представлен в документе в требуемом объеме. Если описываются функциональные требования в ТЗ, то они должны давать полное представление, как должна работать система.
2. Однозначность. Интерпретация написанного в документе должна быть одинаковой для всех участников проекта. Необходимо приводить списки терминов и аббревиатур с расшифровкой.
3. Непротиворечивость.
Документ проверяется на наличие конфликтных требований, на соответствие требований в разных разделах документа.
4. Актуальность.
Документация и реально разработанный программный продукт соответствуют друг другу в один и тот же момент времени.
5. Структурированность. Структурные элементы документации позволяют пользователю осуществлять поиск нужной ему информации.
6. Тестируемость. Если описывается какая-либо функциональность, то должна быть возможность ее проверки на финальном этапе разработки. Если протестировать что-то невозможно, то каким образом будет проверяться завершенность разработки?


9
Использование документации не только для процесса разработки, но и процедуры тестирования важно с точки зрения следующих аспектов:
1. Для ускорения процедуры тестирования. От детальности и точности описания функциональности зависит то, как быстро тестировщик сможет выполнить тестирование.
2. Для использования полной документации в качестве источника для создания тестовой документации и проектирования тест-планов.
3. Для сокращения затрат на техническую поддержку.
Любая деятельность по тестированию направлена проверку объектов тестирования при помощи соответствующих методов, определяющих порядок операций с объектом. Для тестирования документации применяются следующие методы:
1. Рецензирование (анализ) документации разными группами специалистов. Анализ позволяет выявить проблемы, с которыми знаком каждый из экспертов своей области. Рецензирование выполняется путем просмотра пакета документов специалистом и фиксации выполнения заданных критериев тестирования документации.
2. Пробное создание тест-кейсов (сценариев тестирования). Это трудоемкий вариант, но с его помощью возможны модельные прогоны сценариев для выявления недостатков, устранения противоречий.
Собираются сведения о необходимости корректировок, уточнений.
3. Обсуждение на основе проектов и прототипов. Создаются наброски
(структурные, функциональные,
UI,
…), позволяющие детализировать критические моменты системы и позволяющие в схематичном графическом виде удобно представить некоторые части

10 будущей системы. Результатом обсуждения будет пересмотр части пунктов документации.
Порядок тестирования документации:
1. Определить объем и вид документов, требующихся для конкретного вида жизненного цикла разработки и выбранной методологии разработки.
2. Определить цели тестирования документации.
3. Выбрать существующие документы и провести их анализ одним из выбранных способов.
4. Оценить документацию по критериям, сформировать отчет о тестировании документации.
Задания к лабораторной работе
1. Выбрать документацию, в которой описываются требования к проектированию или разработке программного обеспечения или структуре базы данных.
2. Провести анализ и составить отчет со следующей структурой: a. Цель работы. b. Описание тестируемой документации. c. Описание критериев качества тестируемой документации d. Описание и обоснование метода тестирования документации. e. Список несоответствий в документации критериям качества с указанием номеров пунктов исходной документации, цитированием части документации и конкретными рекомендациями к исправлению. f. Выводы по работе. g. Список использованных источников.
3. Оформить и защитить отчет.


11
Контрольные вопросы
1. Объясните понятие «жизненный цикл программного обеспечения».
2. Какую документацию нужно тестировать?
3. На каком этапе ЖЦ разработки нужно тестировать документацию?
4. Из каких шагов состоит тестирование документации?
5. Когда тестирование документации оправдано?

12
ЛАБОРАТОРНАЯ РАБОТА №2
Тема лабораторной работы: работа с классификацией видов тестирования.
Общие сведения по работе
Классификация видов тестирования отражает многообразие походов организации контроля качества программных систем. Понимание классификации позволяет определить возможные варианты процедур тестирования, оценить трудоемкость, спланировать тестирование, выбрать подходящие инструменты. Это знание является необходимым при построении жизненного цикла разработки программных систем. Навыки использования видов тестирования для контроля функционирования программных систем позволяют тестировщику быстрее локализовать дефекты, создавать более полные наборы тестов.
Методические рекомендации и материалы
Деление на различные виды тестирования позволяет применять только подходы соразмерно требованиям к проверке поставленных требований, т. е. отдельные виды тестирования могут получить повышенный приоритет выполнения, в то время как все прочие виды тестирования будут не так важны. Выбор видов тестирования зависит от поставленных требований
(зачастую в ТЗ уже сформулированы требования приемочного тестирования, которые нужно будет проверить при готовности системы), этапа разработки, условий использования системы. Используемые виды тестирования можно использовать в чистом виде (например, тестирование пользовательского интерфейса), так и охарактеризовать с позиций типов, методов и других видов тестирования (ручное функциональное тестирование, автоматизированное функциональное тестирование, регрессионное ручное функциональное тестирование, и т. д.)

13
Представление классификации основано на делении следующим ключевым группам:
1. Уровни тестирования предполагают оценивать программную систему с точки зрения объема программных модулей и учета соответствующих аспектов (например, внимание будет сосредоточено только на проверке кода, реализующего бизнес-логику, или важным будет являться момент интеграции подсистем или модулей). В зависимости от степени детальности компонентов подразделяются на:

Компонентное (модульное) – тестирование программы на уровне отдельно взятых модулей, функций или классов. Цель компонентного тестирования – выявление локализованных в модуле ошибок в реализации алгоритмов, а также определение степени готовности системы к переходу на следующий уровень разработки и тестирования.

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

Системное тестирование проверяет как функциональные, так и нефункциональные требования к системе в целом. При этом выявляются дефекты, такие как неверное использование ресурсов системы, не предусмотренные комбинации данных пользовательского уровня, несовместимость с окружением, непредусмотренные сценарии