80bd6dc48615577db87f4f2e9e22a9d8.ppt
- Количество слайдов: 20
Тестирование программного обеспечения Материалы: http: //pta-ipm. narod. ru E-mail: pta-ipm@yandex. ru 1
Содержание курса n Цели, задачи и объекты тестирования. Этапы цикла разработки ПО и роль тестера на каждом этапе. n Понятие дефекта. Виды дефектов. n Критерии тестирования. Понятие тест-кейса. Документирование процесса тестирования. n Виды и методы тестирования на разных стадиях разработки ПО. Виды тестов. n Особенности тестирования различных объектов. n Тестирование «белого ящика» . n Средства автоматизации тестирования. Практическая работа: написание тест-кейсов Лабораторные работы: тестирование программ и описание дефектов в системе Test Track Pro Производственная практика в компании "Аркадия" (http: //www. arcadia. spb. ru/) – для желающих, успешно завершивших курс. Павловская Т. А. (СПб. ГУ ИТМО) 2
Что должен знать тестировщик ПО Тестирование программ можно использовать для того, чтобы показать наличие ошибок, и никогда — для того чтобы показать их отсутствие! Эдсгер Дейкстра Павловская Т. А. (СПб. ГУ ИТМО) 3
Литература 1. С. Канер, Д. Фолк, Е. Нгуен. Тестирование программного обеспечения. — К. : Диасофт, 2000. — 544 с. 2. Р. Калбертсон, К. Браун, Г. Кобб. Быстрое тестирование. — М: Вильямс, 2002. 3. С. Макконнелл. Совершенный код. — СПб: «Питер» , 2005. — 896 с. 4. Г. Майерс. Искусство тестирования программ. — М. : «Финансы и статистика» , 1982. — 176 с. 5. Л. Тамре. Введение в тестирование программного обеcпечения — M. : «Вильямс» , 2003. — 368 с. 6. Г. Майерс. Надежность программного обеспечения. — М. : «Мир» , 1980. — 360 с. 7. Б. Бейзер. Тестирование черного ящика. — СПб: «Питер» , 2005. — 318 с. 8. Э. Брауде. Технология разработки программного обеспечения. — СПб: «Питер» , 2004. — 655 с. 9. С. Орлов. Технологии разработки программного обеспечения. — СПб: «Питер» , 2003. — 480 с. Павловская Т. А. (СПб. ГУ ИТМО) 4
Литература 11. И. Винниченко. Автоматизация процессов тестирования. — СПб: «Питер» , 2005. — 203 с. 12. К. Бек. Экстремальное программирование. — СПб: «Питер» , 2002. 13. К. Ауэр, Р. Миллер. Экстремальное программирование. — СПб: «Питер» , 2003. — 368 с. 14. Д. Бентли. Жемчужины программирования. — СПб: «Питер» , 2002. — 272 с. 15. С. Бобровский. Технологии Пентагона на службе российских программистов. — СПб: «Питер» , 2003. — 222 с. 16. А. Якобсон, Г. Буч, Д. Рамбо. Унифицированный процесс разработки программного обеспечения. — СПб: «Питер» , 2002. — 496 с. 17. Р. Мартин. Чистый код: создание, анализ и рефакторинг. — СПб: «Питер» , 2010. — 464 с. Павловская Т. А. (СПб. ГУ ИТМО) 5
Ресурсы n sorlik. ru/swebok-ru/ (SWEBOK - Software Engineering Body of Knowledge) n software-testing. ru – библиотека, статьи, … n wiki. agiledev. ru/doku. php – гибкая разработка и тестирование n ru. wikipedia. org – Тестирование ПО, ISO 9126 n www. intuit. ru/catalog/se/testing - курсы лекций n www. cmcons. com/map - карта сайта. Смотреть: n n n Термины тестирования ПО; Термины, относящиеся к качеству Метрики кода; Тест Джоэла, … http: //www. osp. ru/os/2008/07/5478839/ (Б. Майер, 7 принципов тестирования ПО) Павловская Т. А. (СПб. ГУ ИТМО) 6
Объекты тестирования Тестировать можно все: n работу программы n качество ее кода и понятность комментариев n быстродействие n устойчивость под большой нагрузкой n расход ресурсов (памяти, диска, потери этих ресурсов) n взаимодействие с другими программами n стабильность работы n возможность работы на других платформах n удобство интерфейса n документацию к программе (смысловые и грамматические ошибки, понятность и полноту) n работу через сеть, работу аппаратного обеспечения и т. п. Павловская Т. А. (СПб. ГУ ИТМО) 7
Важность тестирования Павловская Т. А. (СПб. ГУ ИТМО) 8
Стоимость ошибки Ошибки в ПО - все возможные несоответствия между демонстрируемыми характеристиками его качества и сформулированными или подразумеваемыми требованиями и ожиданиями пользователей. 4. 06. 1996 через 40 сек. после запуска ракеты-носителя Ariane 5 произошёл автоподрыв 50 -метровой ракеты (оборудование стоило полмиллиарда долларов, не говоря об “упущенной выгоде”). Причина - некорректный перенос из ПО Ariane 4 в ПО Ariane 5 спецификации программного модуля, выполнявшего преобразование из double в WORD. Ракета Ariane 4 успешно запускалась более 100 раз. Павловская Т. А. (СПб. ГУ ИТМО) 9
Основная терминология n Тестирование – процесс выявления фактов расхождений с требованиями (ошибок). n Отладка (debug, debugging) – процесс поиска, локализации и исправления ошибок в программе [IEEE Std. 610 -12. 1990] Как правило, на фазе тестирования осуществляется и исправление идентифицированных ошибок, включающее: • локализацию ошибок • нахождение причин ошибок • корректировку программы. Судить о правильности результатов выполнения программы можно только сравнивая спецификацию функции с результатами ее вычисления. Основная проблема тестирования - определение достаточности множества тестов для истинности вывода о правильности реализации программы, а также нахождения множества тестов, обладающего этим свойством. Павловская Т. А. (СПб. ГУ ИТМО) 10
Определения тестирования по стандарту n Процесс выполнения ПО системы или компонента при заданных условиях с анализом или записью результатов и оценкой некоторых свойств тестируемого объекта. The process of operating a system or component under specified conditions, observing or recording the results, and making an evaluation of some aspect of the system or component. n Процесс анализа ПО с целью фиксации различий между существующим состоянием ПО и требуемым (что свидетельствует о проявлении ошибки) и оценки свойств тестируемого ПО. The process of analyzing a software item to detect the differences between existing and required conditions (that is, bugs) and to evaluate features of software items [IEEE Std. 610 -12. 1990]. n Контролируемое выполнение программы на конечном множестве тестовых данных и анализ результатов этого выполнения для поиска ошибок [IEEE Std 829 -1983]. Павловская Т. А. (СПб. ГУ ИТМО) 11
Статическое и динамическое тестирование n. Статическое тестирование выявляет неверные конструкции или неверные отношения объектов программы (ошибки формального задания) формальными методами анализа без выполнения тестируемой программы: С помощью специальных инструментов контроля кода n Обзоры (Reviews) n Инспекции (Inspections) n Сквозные просмотры (Walkthroughs) n Аудиты (Audits) n Тестирование требований, спецификаций, документации. n n. Динамическое тестирование осуществляет выявление ошибок на выполняющейся программе. Тестирование заканчивается, когда выполнилось или "прошло" (pass) успешно достаточное количество тестов в соответствии с выбранным критерием тестирования. Павловская Т. А. (СПб. ГУ ИТМО) 12
Критерии качества ПО Внешние характеристики nкорректность • наличие/отсутствие дефектов в спецификации, проекте и реализации nпрактичность • легкость изучения и использования nэффективность • степень использования системных ресурсов nнадежность • способность системы выполнять необходимые функции; интервал между отказами nцелостность • способность предотвращать неавторизованный или некорректный доступ nадаптируемость • возможность использования в других областях и средах nправильность • степень безошибочности данных, выдаваемых системой Внутренние характеристики nудобство сопровождения nтестируемость nудобочитаемость nгибкость nпортируемость nвозможность повторного использования nпонятность nживучесть • способность продолжать работу при недопустимых данных или в напряженных условиях Павловская Т. А. (СПб. ГУ ИТМО) 13
Источник: С. Макконнелл Павловская Т. А. (СПб. ГУ ИТМО) 14
Методики повышения качества ПО n Контроль качества – планомерная и систематичная программа действий, призванная гарантировать, что система обладает желательными характеристиками n Явное определение целевых характеристик (внутренних и внешних) – эффективная методика n Разработка стратегии тестирования. Выполнить задачи оценки и повышения качества только путем тестирования невозможно. n Неформальные и формальные технические обзоры n инспекция n обзор n аудит n Контроль изменений n Оценка результатов выполнения плана контроля качества n Прототипирование Павловская Т. А. (СПб. ГУ ИТМО) 15
Эффективность методик Методика устранения дефекта Min-max, % Сред. , % Неформальные обзоры проекта 25 -40 35 Формальные инспеции проекта 45 -65 55 Неформальные обзоры кода 20 -35 25 Формальные обзоры кода 45 -70 60 Моделирование или прототипирование 35 -80 65 Самостоятельная проверка кода 20 -60 40 Блочное тестирование 15 -50 30 Тестирование новых функций 20 -35 30 Интеграционное тестирование 25 -40 35 Регрессионное тестирование 15 -30 25 Тестирование системы 25 -55 40 Ограниченное бета-тестирование (< 10) 25 -40 35 Масштабное бета-тестирование (> 1000) 60 -85 75 Павловская Т. А. (СПб. ГУ ИТМО) 16
Рекомендуемая комбинация методик n Формальные инспекции всех требований, всех аспектов архитектуры и всех проектов критических частей системы n Моделирование или прототипирование n Чтение или инспекции кода n Тестирование выполнения программы Павловская Т. А. (СПб. ГУ ИТМО) 17
Главный закон контроля качества ПО Повышение качества системы снижает расходы на ее разработку IEEE Std 730 -2002 планирование контроля качества IEEE Std 1061 -1998 методологии метрик качества IEEE Std 1028 -1997 стандарт обзоров ПО IEEE Std 1008 -1987(R 1993) стандарт блочного тестирования IEEE Std 829 -1998 стандарт документации тестирования ПО Павловская Т. А. (СПб. ГУ ИТМО) 18
Capability Maturity Model Павловская Т. А. (СПб. ГУ ИТМО) 19
Взаимосвязь наиболее признанных и применяемых в мире стандартов в области разработки программного обеспечения Картинка для устрашения Павловская Т. А. (СПб. ГУ ИТМО) 20
80bd6dc48615577db87f4f2e9e22a9d8.ppt