УТВЕРЖДАЮ Директор ИК ___________ А.А. Захарова «___» ____________2015 г. РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ ТЕСТИРОВАНИЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ НАПРАВЛЕНИЕ ООП: 09.03.04 ПРОГРАММНАЯ ИНЖЕНЕРИЯ КВАЛИФИКАЦИЯ (СТЕПЕНЬ): бакалавр БАЗОВЫЙ УЧЕБНЫЙ ПЛАН ПРИЕМА 2015 г. КУРС 3; СЕМЕСТР 6 КОЛИЧЕСТВО КРЕДИТОВ: 6 кредита ECTS ПРЕРЕКВИЗИТЫ: «Программирование», «Технологии программирования» КОРРЕКВИЗИТЫ: «Проектирование и архитектура программных систем» ВИДЫ УЧЕБНОЙ ДЕЯТЕЛЬНОСТИ И ВРЕМЕННОЙ РЕСУРС: ЛЕКЦИИ 24 часа ЛАБОРАТОРНЫЕ ЗАНЯТИЯ 40 часов АУДИТОРНЫЕ ЗАНЯТИЯ САМОСТОЯТЕЛЬНАЯ РАБОТА 64 152 часа часа ИТОГО 216 часов ФОРМА ОБУЧЕНИЯ очная ВИД ПРОМЕЖУТОЧНОЙ АТТЕСТАЦИИ: ЭКЗАМЕН – 6 семестр ОБЕСПЕЧИВАЮЩАЯ КАФЕДРА: «Прикладная математика» ЗАВЕДУЮЩИЙ КАФЕДРОЙ: к.т.н., доц. О.М. Гергет РУКОВОДИТЕЛЬ ООП: к.т.н., доц. Е.С. Чердынцев ПРЕПОДАВАТЕЛЬ: к.ф.-м.н., доц. Г.Е. Шевелев 2015 г. 1 1. Цели и задачи дисциплины Цель изучения курса «Тестирование программного обеспечения» - ознакомление студентов с основными видами и методами тестирования программного обеспечения (ПО) при структурном и объектно-ориентированном подходе в программировании. В курсе изучаются способы обеспечения качества программного продукта, классы критериев тестирования, разновидности тестирования, модульное, интеграционное и системное тестирование, общие принципы автоматизации тестирования, издержки тестирования, а также цели и задачи регрессионного тестирования. 2. Требования к уровню освоения содержания дисциплины Студент, изучивший курс «Тестирование программного обеспечения» должен Знать: приемы отладки и ручного тестирования ПО; отличительные особенности системного, модульного и интеграционного тестирования программного обеспечения; модель оценки степени тестированности программного продукта. Уметь: построить управляющий граф программы для тестирования; оценить сложность тестирования программного продукта с использованием математической модели; построить набор тестов для тестирования сложной информационной системы. Владеть: навыками использования различных методов ручного и автоматического тестирования ПО; разработке эффективных наборов тестов для простых и крупных информационных систем. 3. Место дисциплины в учебном процессе Настоящая дисциплина относится к вариативной части междисциплинарного профессионального модуля ДИСЦ.В.М – ДИСЦ.В.М17. В соответствии с рабочим учебным планом по направлению "Программная инженерия" дисциплина "Разработка и анализ требований" читается студентам третьего курса бакалавриата в 6 семестре Изучение данной дисциплины базируется на знаниях, полученных студентами при освоении учебных дисциплин: «Программирование», «Технологии программирования», «Проектирование и разработка Web приложений». Освоение дисциплины необходимо для изучения следующих дисциплин: «Компьютерное моделирование», «Технология командной разработки программного обеспечения». 4. Организационно-методические данные дисциплины Объем дисциплины и виды учебной работы 2 Всего Вид учебной работы часов Общая трудоемкость дисциплины 216 Аудиторные занятия (Ауд) 64 Лекции (ЛК) 24 Практические занятия (ПЗ) Семинары (Сем) Лабораторные работы (ЛР) 40 Самостоятельная работа (СР) 152 Курсовой проект (работа) - (КП, кр) Контрольное задание - (КЗ) Расчетно-графическая работа (РГР) Реферат (Реф) Другие виды самостоятельной работы Самоподготовка(Сам) (самостоятельное изучение разделов, про работка и лекционного повторение материала и материала учебников и учебных пособий, подготовка к лабораторным и практическим коллоквиумам, рубежному контролю и т.д.) занятиям, Вид итогового контроля Экз. (экзамен, зачет, дифференцированный зачет) 5. Содержание дисциплины Количество часов Х!! Наименование разделов и их содержание раздел а 1 2 Основные понятия тестирования 1. 2. Аудиторная работа Всего Предмет и задачи курса. Способ обеспечения качества продукта. Общая концепция. Основная терминология. Организация тестирования. Спецификация программы. Разработка тестов. Управляющий граф программы. Основные проблемы тестирования. Критерии выбора тестов Требования к идеальному критерию. Классы критериев. Структурные критерии. Функциональные критерии. Стохастические критерии. Мутационный критерий. Оценка покрытия программы и проекта. Методика 3 3 16 ЛК 4 2 41 6 ПЗ 5 ЛР 6 2 Внеауд. работа 7 12 35 интегральной оценки тестированности. Разновидности тестирования 3. Разновидности тестирования. Модульное тестирование. Особенности интеграционного тестирования для объектноориентированного программирования. Системное тестирование. Регрессионное тестирование. Комбинирование уровней тестирования. Особенности индустриального тестирования Автоматизация тестирования. Издержки тестирования. Качество программного продукта. Фазы процесса тестирования. Планирование тестирования. Типы тестирования. Подходы к разработке тестов. Документация и сопровождение тестов. Оценка качества тестов. Регрессионное тестирование 4. 5. Цели и задачи регрессионного тестирования. Виды регрессионного тестирования. Управляемое регрессионное тестирование. Обоснование корректности метода обзора тестов. Классификация тестов при отборе. Возможности повторного использования тестов. Классификация выборочных методов. Всего за весь курс: 84 6 38 41 6 35 34 4 30 216 24 40 40 152 6. Тематический план изучения дисциплины 6.1. Лабораторные работы № ЛР 1 1 № разделов курса 2 1 Наименование лабораторных работ Кол-во часов 3 Спецификация программного продукта. Планирование 4 2 10 20 10 2 3 3 3 тестирования Модульное тестирование Интеграционное тестирование 4 3 Системное тестирование 6.2 Практические (семинарские) занятия Рабочим учебным планом практические занятия не предусмотрены 4 6.3 Курсовой проект (работа), контрольное задание. Рабочим учебным планом курсовое проектирование не предусмотрено 6.4 Самостоятельное изучение разделов дисциплины N2 раздела 1 2 2 4 4 5 Вопросы, выносимые на самостоятельное изучение 2 Тестирование черного и белого ящиков Характеристики хорошего теста. Нагрузочные испытания. Тестирование потоков данных. Тестирование сценариев Жизненный цикл дефектов 7. Контрольные вопросы для самопроверки Раздел 1. Основные понятия тестирования Какие пункты содержит спецификация программного обеспечения? Что такое управляющий граф программы? Раздел 2. Критерии выбора тестов Какие существуют критерии выбора тестов? Какие предъявляются требования к идеальному критерию? Какие существуют классы критериев? Структурные критерии выбора тестов Функциональные критерии выбора тестов Стохастические критерии выбора тестов Мутационный критерий выбора тестов Раздел 3. Разновидности тестирования Оценка покрытия программы и проекта. Методика интегральной оценки тестированности. Модульное тестирование. Интеграционное тестирование. Особенности интеграционного тестирования при процедурном программировании. Особенности интеграционного тестирования для объектно-ориентированного программирования. Системное тестирование. Регрессионное тестирование. Раздел 4. Особенности индустриального тестирования Автоматизация тестирования. Издержки тестирования. Фазы процесса тестирования. Тестовый цикл. 5 Планирование тестирования. Типы тестирования. Подходы к разработке тестов. Тестирование спецификации. Тестирование сценариев. Документация и оценка индустриального тестирования. Жизненный цикл дефекта. Тестовый отчет. Оценка качества тестов. Раздел 5. Регрессионное тестирование Цели и задачи регрессионного тестирования Виды регрессионного тестирования. Управляемое регрессионное тестирование. Классификация тестов при отборе Возможности повторного использования тестов. Классификация выборочных методов. 8. Критерии оценки знаний, умений и навыков Итоговой формой контроля знаний, умений и навыков по дисциплине является экзамен. Экзамен про водится по билетам, которые включают 2. теоретических вопроса и 1 задачу. Оценка знаний студентов производится по следующим критериям: оценка «отлично» выставляется студенту, если при ответе на поставленные вопросы он показывает владение знаниями всего программного материала, концептуалъно-понятийным аппаратом, научным языком и терминологией соответствующей научной области, логически корректно иубедительно излагает свои знания и правильно решил задачу; оценка «хорошо» выставляется студенту, если при ответе на поставленные вопросы он показывает владение знаниями узловых проблем программы и основного содержания лекционного курса, умение пользоваться концептуально-понятийным аппаратом в процессе анализа основных проблем программы, в целом логически корректное, но не всегда точное и аргументированное изложение ответа и правильно решил задачу. оценка «удовлетворительно» выставляется студенту, если при ответе на поставленные вопросы он показывает владение фрагментарными, поверхностными знаниями важнейших разделов программы и содержания лекционного курса, испытывает затруднения с использованием научно-понятийного аппарата и терминологии учебной дисциплины, стремление логически определенно и последовательно изложить ответ и/или правильно решил задачу. оценка «неудовлетворитепьно» выставляется студенту, если он не отвечает на поставленные вопросы, либо имеет отрывочное представление учебно-программного материала и не решил задачу. 6 8. Учебно-методическое обеспечение дисциплины 8.1. Основная литература 1.Канер с., Фолк Дж., Кек Нгуен Е. Тестирование программного обеспечения: Пер. с англ. -- К: ДиаСофт, 2000. -- 544 с. 2.Г. Майере. Надежность программного обеспечения. - М.: Мир, 1980. - С. 171-262. 3.Ю.М. Безбородов. Индивидуальная отладка программ. - М.: Наука, 1982. - С. 9-79. 4.В.В. Липаев. Тестирование программ. - М.: Радио и связь, 1986. - С. 15-47. 8..2 Дополнительная литература 1.Луиза Тамре. Введение в тестирование программного обеспечения. - М.: Издательский дом «Вильяме», 2003. - С. 368. 2.Соммервиль Иан. Инженерия программного обеспечения, 6-е издание. : Пер. с англ. - М.: Издательский дом «Вильяме», 2002.-624 с. 9. Материально - техническое обеспечение дисциплины Для преподавания дисциплины кафедрой ПМ предоставляется 4 компьютерных класса и лекционная аудитория с проектором и экраном (ауд. 102 – 105, 112 корпуса ИК). В каждом компьютерном классе установлены: 12 компьютеров (MB S-1155 GigaByte_GA B75M D3H, Intel Pentium G870 3,10 GHz, 2 Dimm 2048 Mb, HDD 500 Gb), ОС – Windows 8.1. Все ПК с помощью cетевого коммутатора CNet 16 ports объединены в локальную сеть с автоматическим выходом в корпоративную сеть ТПУ и глобальную сеть Интернет. Программа составлена на основе Стандарта ООП ТПУ в соответствии с требованиями ФГОС по направлению 09.03.04 «Программная инженерия». Программа одобрена на заседании кафедры ПМ (протокол № от октября 2015 г.). Автор – доцент кафедры прикладной математики Шевелев Геннадий Ефимович Рецензент – доцент кафедры прикладной математики Огородников Александр Сергеевич д о л ж 7