Файл: Федеральное государственное автономное образовательное учреждение высшего образования казанский (приволжский) федеральный университет высшая школа информационных технологий и информационных систем.docx

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

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

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

Добавлен: 12.01.2024

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

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

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

СОДЕРЖАНИЕ

Оглавление

Введение

Уровни тестирования

Артефакты тестирования

Роль тестирования в процессе разработки

Фазы жизненного цикла тестирования программного обеспечения

Проектирование тестирования

Выполнение тестов

Измерения в процессе тестирования. Польза измерений

Польза измерений при тестировании программного обеспечения

Общий процесс прогнозирования

Показатели, характеризующие стоимость тестирования

Показатели этапа тест-дизайна

Показатели, характеризующие стратегию тестирования

Метрики для этапа планирования тестирования

Метрики для показателей этапа тест-дизайна

Отслеживание Бэклога

Метрики для оценки качества тестирования

Достижение поставленных целей

Метрики для оценки стоимости тестирования

Метрики для оценки объема тестирования

Тесты для автоматизации

Метрики для оценки стратегии тестирования

Измерение комбинаций техник тестирования

Оценка адекватности тестовых данных

Польза и правила применения метрик в процессе тестирования

Сочетание с экспертным мнением

Заключение

Список литературы

Приложение 1

Приложение 2

Приложение 3

Приложение 4



Федеральное государственное автономное образовательное учреждение
высшего образования


КАЗАНСКИЙ (ПРИВОЛЖСКИЙ) ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ

ВЫСШАЯ ШКОЛА ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ И
ИНФОРМАЦИОННЫХ СИСТЕМ


Направление подготовки: 09.03.03 Прикладная информатика

Профиль: Прикладная информатика в экономике

ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА

ОПТИМИЗАЦИЯ ПРОЦЕССОВ ПЛАНИРОВАНИЯ И ПРОЕКТИРОВАНИЯ ТЕСТИРОВАНИЯ ПУТЕМ ИДЕНТИФИКАЦИИ И ИССЛЕДОВАНИЯ ПОКАЗАТЕЛЕЙ И МЕТРИК

Работа завершена:

«___»_____________2017 г.

Студент группы 11-308 ___________________М.Н.Романова

Работа допущена к защите:

Научный руководитель

Менеджер OOO "Системы документооборота"

«___»_____________2017 г. ___________________Р.С.Сарварова

Директор Высшей школы ИТИС

«___»_____________2017 г. __________________ А.Ф. Хасьянов

Казань – 2017 г.

Оглавление


Таблица терминов, определений и сокращений 5

Введение 7

1Теоретические основы тестирования программного обеспечения 9

1.1Понятие тестирования 9

1.2Уровни тестирования 10

1.3Типы тестирования 14

1.4Артефакты тестирования 15

1.5Роль тестирования в процессе разработки 19

1.6Жизненный цикл тестирования программного обеспечения 21

1.6.1Необходимость жизненного цикла тестирования программного обеспечения 21

1.6.2Фазы жизненного цикла тестирования программного обеспечения 22

1.6.3Планирование тестирования 24

1.6.4Проектирование тестирования 27

1.6.5Выполнение тестов 31

1.6.6Обзор тестирования 33

1.7Измерения в процессе тестирования. Польза измерений 38

1.7.1Измерения в области разработки программного обеспечения 39

1.7.2Польза измерений при тестировании программного обеспечения 42

1.7.3Измерение процесса 43

1.7.4Общий процесс прогнозирования 45

2Выделение показателей этапов планирования тестирования и тест-дизайна 46

2.1Планирование тестирования 46

2.1.1Показатели, характеризующие прогресс тестирования 47

2.1.2Показатели, характеризующие стоимость тестирования 49

2.1.3Показатели, характеризующие качество тестирования 50

2.1.4Показатели, характеризующие области для дальнейшего тестирования и ожидаемые дефекты 51

3Показатели этапа тест-дизайна 53

3.1Показатели, характеризующие прогресс тестирования 53

3.2Показатели, характеризующие стоимость тестирования 54

3.2.1Показатели, характеризующие объем тестирования 54

3.2.2Показатели, характеризующие стратегию тестирования 55

3.2.3Показатели, характеризующие качество тестирования 57

4Метрики для этапа планирования тестирования 59

4.1Метрики для оценки прогресса тестирования 59

4.1.1Оценка приостановки тестирования 59

4.1.2Оценка окончания тестирования 61

4.1.3Измерение объема тестирования 63

4.1.4Отслеживание статуса тестирования 65

4.1.5Производительность персонала 65

4.1.6Ведение документации 66

4.2Метрики для оценки стоимости тестирования 67

4.2.1Измерение ожидаемых затрат на тестирование, продолжительность тестирования и требования к ресурсам 67

4.2.2Затраты на обучение и оснащение 79

4.3Метрики для оценки качества тестирования 79

4.3.1Измерение тестового покрытия 80

4.3.2Измерение эффективности дымового тестирования 80

4.3.3Измерение качества тестового плана 82

4.4Измерение оценки области для дальнейшего тестирования и ожидаемые дефекты 84

4.4.1Количество ошибок на этапе документации и ожидаемое количество ошибок 85

4.4.2Классификация ошибок 85

5Метрики для показателей этапа тест-дизайна 87

5.1 Метрики для оценки прогресса тестирования 87

5.1.1Отслеживание прогресса тестирования и статуса тестирования 87

5.1.2Отслеживание Бэклога 91

5.1.3Измерение производительности персонала 92

5.2Метрики для оценки качества тестирования 97

5.2.1Измерение эффективности Тест-кейсов 97

5.2.2Достижение поставленных целей 102

5.2.3Измерение полноты тестов 102

5.3 Метрики для оценки стоимости тестирования 105

5.3.1Оценка рентабельности инструментария для автоматизированного тестирования 105

5.4Метрики для оценки объема тестирования 108

5.4.1Оценка Тест-кейсов 108

5.4.2Число регрессионных тестов 109

5.4.3Тесты для автоматизации 112

5.5Метрики для оценки стратегии тестирования 119

5.5.1Последовательность Тест-кейсов 120

5.5.2Определение области для дальнейшего тестирования 122

5.5.3Измерение комбинаций техник тестирования 125

5.5.4Оценка адекватности тестовых данных 128

6Методические рекомендации по применению метрик 130

6.1 Что такое метрики и почему они полезны? 130

6.2Польза и правила применения метрик в процессе тестирования 131

6.2.1Мотивация сотрудников 133

6.2.2Своевременность сбора данных 133

6.2.3Анализ погрешностей 133

6.2.4Простота метрик 134

6.2.5Сочетание с экспертным мнением 134

Заключение 135

Список литературы 137

Приложение 1 142

Приложение 2 157

Приложение 3 160

Приложение 4 162

Таблица терминов, определений и сокращений


Бэклог

Бэклог - это журнал оставшейся работы, которую необходимо выполнить команде.

Общий план

Это документ высокого уровня, который описывает подход и требования к тестированию на проекте в общем. Также описываются уровни тестирования, которые будут представлены, и стратегию тестирования в рамках этих уровней.

ОС

Операционная система - комплекс взаимосвязанных программ, предназначенных для управления ресурсами компьютера и организации взаимодействия с пользователем.

ПО

Программное обеспечение

Тестовый случай (тест-кейс)

Тестовый случай – это набор условий или шагов, которым должен следовать тестировщик, чтобы определить, соответствует ли данная отдельная функция требованиям или нет.

Эргономика ПО

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


ЯП

Язык программирования — формальный язык, предназначенный для записи компьютерных программ.

IEEE

Институт инженеров электротехники и электроники - IEEE - международная некоммерческая ассоциация специалистов в области техники, мировой лидер в области разработки стандартов по радиоэлектронике, электротехнике и аппаратному обеспечению вычислительных систем и сетей.

SOX

SOX Section 404 (Sarbanes-Oxley Act Section 404) – Закон Сарбейнза — Оксли. Прописывает жесткие требования к созданию механизмов внутреннего контроля и процедур финансовой отчетности в корпорациях.



Введение


Тестирование стало неотъемлемой частью большинства проектов по разработке программного обеспечения. Именно оно является основным способом обеспечения высокого качества продукта. Зачастую на долю тестирования приходит до 40% от общих трудозатрат по проекту.

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

Множество исследований посвящено использованию метрик на этапе выполнения тестов, то есть непосредственного тестирования системы, как-то: метрики по Тестовым случаям, метрики по дефектам. Но крайне редко затрагиваются этапы планирования тестирования и проектирования тестирования. В связи с этим данная работа приобретает весьма актуальный характер.

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

Задачами данной работы являются:

  1. Составление наиболее полной классификации типов тестирования по уровням;

  2. Выявление основных этапов жизненного цикла тестирования программного обеспечения путем сравнительного анализа данных из различных источников;

  3. Исследование этапов жизненного цикла тестирования;

  4. Выявление показателей исследуемых этапов тестирования;

  5. Исследование метрик для измерения выделенных показателей;

  6. Разработка методических рекомендаций по применению метрик.

  1. Теоретические основы тестирования программного обеспечения

    1. Понятие тестирования


Любое достаточно крупное разрабатываемое программное обеспечение рано или поздно начинает нуждаться в тестировании. Тестирование - обязательная и абсолютно неотъемлемая часть разработки, часть жизненного цикла разрабатываемого объекта. Определений этому роду деятельности существует довольно много, ниже сформулированы некоторые из них.

Тестирование – это процесс запуска и выполнения программы или приложения с целью нахождения ошибок в программном обеспечении.

Кроме того, можно сказать, что это процесс валидации и верификации на то, что продукт:

  • соответствует бизнес и техническим требованиям, которыми руководствовалась команда при создании;

  • работает так, как ожидалось.

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

Проверка программного обеспечения неотъемлемая часть жизненного цикла программного обеспечения. Некоторые ошибки являются дорогостоящими или опасными. Программный продукт, нужно проверять самым полным образом, потому что процесс всегда может пойти не так - люди делают ошибки все время.

Так как предполагается, что работа может иметь ошибки, то, во-первых, люди, разрабатывающие продукт, должны сами перепроверить свою работу. Однако некоторые ошибки происходят от неверных предположений и незнания, поэтому можно сделать те же самые ошибки и при тестировании.

Можно отметить несколько факторов, которые ясно объясняют, почему тестирование программного обеспечения имеет важное значение и каковы основные аспекты, которые нужно учитывать при тестировании любого продукта или приложения.

Тестирование программного обеспечения является очень важным в силу следующих причин [1, 4, 6]1:

  • тестирование программного обеспечения действительно необходимо, чтобы указать на недостатки и ошибки, которые были сделаны во время фазы разработки;

  • это важно, поскольку оно гарантирует заказчику надежность и удовлетворение его ожиданий от приложения;

  • качественный продукт помогает заслужить доверие заказчика;

  • тестирование необходимо для того, чтобы обеспечить поставку высококачественного продукта или приложения (программного обеспечения), которое требует меньших расходов на техническое обслуживание и, следовательно, приводит к более точной, последовательной и надежной работе;

  • тестирование требуется для эффективной работы программного приложения или продукта;

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

    1. 1   2   3   4   5   6   7   8   9   ...   31