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

Тема16(Тестирование)-К

.pdf
Скачиваний:
21
Добавлен:
02.04.2015
Размер:
16.44 Mб
Скачать

Разработка и стандартизация программных средств и информационных технологий

В.И.Кияев

Кафедра информатики

СПбГУЭФ

2011 г.

Тестирование как элемент реализации качества

Тема занятия (тема 16):

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

тестирование как элемент реализации качества

2

110

Тестирование как элемент реализации качества

Сюжет 1 – каждый оказывался в ситуации, когда вдруг:

3

 

Тестирование

качества

 

 

 

Сюжет 2 : здравица в честь «великого программиста»

4

Тестирование как элемент реализации качества

Тестирование это:

поиски абсолюта правильности работы программного продукта

поиски ошибок проектиро- вания и программирования

поиски путей разрушения программного продукта

5

Тестирование как элемент реализации качества

Определение понятия «тестирование»

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

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

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

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

6

Тестирование как элемент реализации качества

Определение понятия «тестирование»

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

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

В программном обеспечении имеется ошибка, если:

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

оно делает то, что от нее не требуется

оно несанкционированно начинает, продолжает или прекращает работу

7

Тестирование как элемент реализации качества

Определение понятия «тестирование»

Тестирование (IEEE 610, SWEBOK):

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

Нужно готовить специальные ситуации тесты

Система в ходе тестирования должна работать

Оценивается соответствие программного продукта в широком и специальных смыслах поиск ошибок

Для формирования общей оценки оценивается вероятное число ошибок в данной ситуации

8

Тестирование как элемент реализации качества

Определение понятия «тестирование»

Технологии

Разработка,

Инструменты

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

Требования

Информация о

 

 

несоответствиях

9

1980

1987

1990

1999

2004

10

Тестирование как элемент реализации качества

История понятия «тестирование»

Процесс выполнения программы с намерением найти ошибки.

[Г.Майерс. Надежность программного обеспечения. М:Мир, 1980]

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

[ANSI/IEEE standard 610.12-1990: Glossary of SE Terminology. NY:IEEE, 1987]

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

[B. Beizer. Software Testing Techniques, Second Edition. NY:van Nostrand Reinhold, 1990]

Техническое исследование программы для получения информации о ее качестве с точки зрения определенного круга заинтересованных лиц. [С. Kaner, 1999]

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

[IEEE Guide to Software Engineering Body of Knowledge, SWEBOK, 2004]

Тестирование как элемент реализации качества

Определение понятия «тестирование»

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

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

11

Тестирование как элемент реализации качества

Место тестирования в системе качества

Quality Assurance

Обеспечение качества

Quality Control

Контроль качества

Тестирование

12

Тестирование как элемент реализации качества

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

Тестирование это один из важнейших методов оценки качества программной системы

Если ошибки есть, тестирование должно их выявлять

Если их нет, тестирование должно это подтверждать

Тестирование должно давать ключевую информацию:

какие части системы наиболее устойчивы

где вероятно еще есть ошибки и какого рода

достаточно ли полно оценено качество системы в целом и стоит ли тратить усилия и средства на доработку

13

Тестирование как элемент реализации качества

Виды деятельности, связанные с тестированием

1.Контекстная проработка проекта, выделение проблемных зон и зон, подлежащих тестированию.

Общая оценка возможно необходимых ресурсов для проведения многоаспектного тестирования.

Ревизия тестового «хозяйства» и анализ его пригодности.

2.Планирование работ по тестированию.

Формирование тестового покрытие: настройка имею- щихся тестовых компонентов и средств тестирования. Разработка средств автоматизации.

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

14

Тестирование как элемент реализации качества

Виды деятельности, связанные с тестированием

3.Предварительная оценка возможных ошибок на основании аналогичных проектов и FMEA-анализа.

Выявление реальных ошибок и дефектов в ходе выполнения тестирования, исправление ошибок и внесение изменений.

Ведение версионного и конфигурационного контроля.

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

Планирование корректирующих мероприятий по предотвращению возможных ошибок.

15

Тестирование как элемент реализации качества

Конкретный алгоритм:

1. Моделируем ситуацию использования программного приложения в соответствии с требованиями

2.Оформляем ее в виде сценария использования приложения

3.Понимаем, как должно вести себя приложение в рамках выполнения сценария

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

5.Результат тестовый вариант (Test Case)

6.Реализуем тестовый вариант и оцениваем достаточность набора ситуаций: достаточно окончание тестирования,

16

нет переход к п. 1

 

 

Тестирование как элемент реализации качества

Пример: тестирование работы банкомата

 

 

 

Время / Вывести

 

 

Начало

 

исходное сообщение

 

 

Карта / Вывести приглашение

 

 

Время / Вывести

ввести PIN

 

 

 

исходное сообщение

 

 

Сообщение о

Сообщение о

 

 

 

выдаче баланса

выдаче денег

Сообщение о

 

 

 

Сумма / Выдать

 

Запрос баланса /

деньги

блокировке

 

 

 

Выдать чек

 

 

 

 

Выбор

 

 

 

 

 

Авторизация

 

 

суммы

 

Некорректный PIN /

 

 

 

Сообщение

 

 

 

Авторизация 1

Корректный PIN /

Выбор

 

 

Вывести меню

операции

Запрос денег / Вывести

 

 

Некорректный PIN /

Некорректный PIN /

 

вопрос о сумме

Заблокировать карту

 

 

Сообщение

 

 

 

Авторизация 2

 

 

 

17

 

 

 

 

Тестирование как элемент реализации качества

Упражнение:

построить схему тестирования Web-сервиса по заказу билетов

18

Тестирование как элемент реализации качества

Стратегия достижения целей качества

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

исследований, обучение персонала

19

 

Тестирование как элемент реализации качества

Customer

 

Распределенный

 

процесс

 

Management

When will I get the new

 

team, Moscow

 

functionality implemented ?!!

 

 

 

Mom!

 

 

 

 

Development

CEO of Lanit-Tercom on

 

team, SPb

SPb-site team

 

 

Testing team,

 

 

Novosibirsk

 

 

17

 

 

 

 

 

 

 

Тестирование как элемент реализации качества

 

 

 

 

 

Схема организация процесса и

 

 

 

 

 

компоновки средств разработки

Формирование требований

 

программной системы

 

Согласование ТЗ

 

 

 

Формирование заданий на разработку ПК

 

Внедрение ПС

 

Оперативное планирование разработки ПС

 

 

 

Коррекция и контроль деятельности

 

 

Промышленная эксплуатация ПС

 

Аналитик

Анализиз

 

 

ОООИОИ

 

 

 

 

Локальное

 

Тестирование

 

 

 

хранилище

 

 

 

 

 

 

 

 

Основной

Подсистематестирования

 

 

 

 

 

 

 

 

 

репозиторий

Подсистемамоделирования

 

Центральное хранилище

проектов

 

Подсистемауправленияверсиями

 

Репозиторий версий

 

 

 

 

 

 

Подсистема управления запросов на изменения

Репозиторий

Разработчик

 

Анализ

 

 

изменении

 

Разработчик

 

 

 

 

 

 

 

Разработка

 

Подсистема управления требованиями

Репозиторий

Локальное

 

 

 

 

 

Тестирование

 

 

требований

хранилище

 

 

 

 

 

 

 

 

 

 

 

 

Подсистема тестирования

 

Подсистема управления версиями

Основной

Основной

 

 

 

 

 

Подсистема моделирования

 

Подсистема тестирования

репозиторий

репозиторий

 

 

 

 

 

 

 

Подсистема управления версиями

 

Подсистема моделирования

 

18

 

 

 

Репликации с центральным хранилищем

 

 

 

 

 

 

Тестирование как элемент реализации качества

Стоимость исправления ошибки в ходе ЖЦ ПС

22

Тестирование как элемент реализации качества

V-образная модель жизненного цикла разработки ПС

23

Тестирование как элемент реализации качества

Общая модель тестирования

24

Тестирование как элемент реализации качества

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

25

Тестирование как элемент реализации качества

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

Модульное

Интеграционное

Системное

26

Тестирование как элемент реализации качества

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

27

Тестирование как элемент реализации качества

Стратегии тестирования

28

Тестирование как элемент реализации качества

29

Тестирование как элемент реализации качества

Модель тестирования как «черного ящика»

30