Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
125174f.doc
Скачиваний:
157
Добавлен:
08.06.2015
Размер:
386.05 Кб
Скачать

Курсовая работа

на тему

«Тестирование программного обеспечения»

г. Воронеж

2015 Г.

Содержание

Введение…………………………………………………………………………...3

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

1.1 Модульное тестирование……………………………………….…………….6

1.2 Интеграционное тестирование…………………………….…………………9

1.3 Системное тестирование……….………………………….…...……………11

1.4 Регресионное тестирование...………………………………….……………14

1.5 Ручное и автоматизированное тестирование ……………………………...16

2. Автоматизация тестирования программного обеспечения…...……………18

2.1 Основные аспекты автоматического тестирования ………......……..……18

2.2 Преимущества и недостатки автоматического тестирования..…………...20

3. Практическая часть……………. …………………………………………….23

3.1 Постановка задачи………………………………………….…...…………...23

3.2 Описание тестируемой программы………………………………………...23

3.3 Выполнение тестирования…………….……………………………………25

3.4 Листинг тестов……………………………………………………………….27

3.5 Листинг тестируемой программы.………………………………..………...28

Список использованных источников…………………………………………...35

Введение

Разработка программного обеспечения (ПО) представляет собой сложный, в настоящее время, как правило, итерационный процесс, включающий такие этапы, как:

- определение требований к ПО;

- проектирование ПО;

- кодирование (реализация) ПО;

- тестирование и отладка ПО;

- внедрение и поддержка ПО.

Одним из важнейших с точки зрения обеспечения должного качества ПО этапов разработки является тестирование. Тестирование ПО представляет собой процесс анализа программного продукта с целью обнаружить несоответствия между поведением разработанного ПО и требованиями спецификаций (т.е. ошибки) и оценить возможности программного продукта [1]. Другими словами, тестирование – это процесс исполнения программы с целью обнаружения ошибок и дефектов.

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

В данной курсовой работе описаны существующие методы тестирования ПО и основные аспекты автоматизации процесса тестирования. В практической части представлена реализация модульного тестирования программы, написанной на C#.

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

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

Тестирование ПО может выполняться в соответствии со стратегией «белого ящика» (whitebox testing) или «черного ящика» (blackbox testing).

Тестирование по принципу «белого ящика» (структурное тестирование) предполагает анализ логики работы программы и корректности ее работы при известной внутренней структуре программы. Другими словами, в этом случае тестировщик имеет доступ к исходному коду тестируемых программ и строит тесты, исходя из структуры программ. Исчерпывающее структурное тестирование предполагает выполнение каждого пути в программе, однако на практике выполнение каждого пути обычно не реализуемо, поэтому ограничиваются покрытием операторов, решений и/или условий.

Метод покрытия операторов обеспечивает выполнение каждого оператора программы, по крайней мере, один раз. Метод покрытия решений прдеполагает, что при тестировании каждое решение примет значения «истина» или «ложь» хотя бы один раз. Покрытие решений обычно удовлетворяет критерию покрытия операторов. Наилучшим методом является покрытие условий, при котором все возможные результаты каждого условия в решении выполняются, по крайней мере, один раз.

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

Можно выделить три основных этапа тестирования (рисунок 1). На первом этапе выполняется ручная разработка тестов или автоматическая генерация для конкретной среды тестирования. По результатам прогона программы на тестах создается протокол результатов тестирования. На завершающем этапе выполняется оценка результатов тестирования и принимается решение о продолжении или остановке тестирования.

Рисунок 1. Этапы тестирования

Существуют различные признаки, по которым можно выполнить классификацию видов тестирования ПО. В частности, по степени изолированности компонентов тестируемой системы выделяют следующие виды (или уровни) тестирования:

- модульное;

- интеграционное;

- системное.

По степени автоматизации различают ручное и автоматизированное тестирование.

На рисунке 2 представлена схема различных видов тестирования.

Рисунок 2. Виды тестирования

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]