1 Тестирование программного обеспечения Материалы: E-mail: pta-ipm@yandex.rupta-ipm@yandex.ru.

Презентация:



Advertisements
Похожие презентации
Тестирование Обеспечение качества. Тема 7 тестирование2 Аттестация и верификация Обзоры Инспекционные проверки Сквозной контроль.
Advertisements

Жизненный цикл программного обеспечения Лекция 4.
Программная инженерия Дмитриев Андрей Владиславович 2009 Прикладное тестирование ПО.
1 Тестирование в гибких технологиях разработки Материалы:
ТЕСТИРОВАНИЕ МЕТОД «ЧЕРНОГО ЯЩИКА» ВЫПОЛНИЛ СТУДЕНТ ГР. ИВТ-51 з БАННИКОВА Н.Р.
ТЕСТИРОВАНИЕ МЕТОД «ЧЕРНОГО ЯЩИКА» ВЫПОЛНИЛ СТУДЕНТ ГР. ИВТ-51 з БАННИКОВА Н.Р.
Оценка уровня безопасности Тестировщики Подтверждение свойств и качества. Рекомендации по доработке Методика проверки Определение Условий эксплуатации.
Жизненный цикл программного обеспечения Подготовил студент 1 курса Лось Павел.
Практическое программирование на Java к.ф.-м.н. Козлов Дмитрий Дмитриевич Кафедра АСВК, Лаборатория Вычислительных комплексов.
Вводный курс Автор: Алексей Баранцев. Что такое тестирование? Характеристики качества и виды контроля качества Классификации тестирования по уровням по.
Контроль качества по SWEBOK Данилов Евгений
Разработка программного обеспечения (Software Engineering) Часть 2. Создание ПО.
Разработка программного обеспечения (Software Engineering) Ian Sommervillle Часть 8. Управление качеством.
Этапы решения задач на компьютерах Постановка задачи Формальное построение модели задачи Формальное построение модели задачи Построение математической.
24 декабря 2009 года Ознакомительный семинар. План Что такое тестирование? Роль тестировщика в проекте Обязанности тестировщика Инструменты Литература.
Учебный курс Стандартизация и сертификация программного обеспечения Лекция 7 доктор технических наук, профессор, проректор по информатизации, заведующий.
ПРОЕКТИРОВАНИЕ ИНФОРМАЦИОННЫХ СИСТЕМ. ИНФОРМАЦИЯ Информация – сведения о людях, фактах, явлениях, событиях в независимости от формы их представления.
SOFTWARE DEVELOPMENT PODGOTOVIL TVOU ZHOPY K SDACHE.
Лекция 1 Учебные вопросы : Вопрос 1. История возникновения и понятие CASE- технологии. Вопрос 2. Особенности внедрения CASE- технологии. Вопрос 3. Основные.
Виды и методы тестирования на разных стадиях разработки ПО.
Транксрипт:

1 Тестирование программного обеспечения Материалы:

Павловская Т.А. (СПбГУ ИТМО) 2 Содержание курса Цели, задачи и объекты тестирования. Этапы цикла разработки ПО и роль тестера на каждом этапе. Понятие дефекта. Виды дефектов. Критерии тестирования. Понятие тест-кейса. Документирование процесса тестирования. Виды и методы тестирования на разных стадиях разработки ПО. Виды тестов. Особенности тестирования различных объектов. Тестирование «белого ящика». Средства автоматизации тестирования. Практическая работа: написание тест-кейсов Лабораторные работы: тестирование программ и описание дефектов в системе Test Track Pro Производственная практика в компании "Аркадия" ( – для желающих, успешно завершивших курс.

Что должен знать тестировщик ПО Павловская Т.А. (СПбГУ ИТМО) 3 Тестирование программ можно использовать для того, чтобы показать наличие ошибок, и никогда для того чтобы показать их отсутствие! Эдсгер Дейкстра

Павловская Т.А. (СПбГУ ИТМО) 4 Литература 1. С. Канер, Д. Фолк, Е. Нгуен. Тестирование программного обеспечения. К.: Диасофт, с. 2. Р. Калбертсон, К. Браун, Г. Кобб. Быстрое тестирование. М: Вильямс, С. Макконнелл. Совершенный код. СПб: «Питер», с. 4. Г. Майерс. Искусство тестирования программ. М.: «Финансы и статистика», с. 5. Л. Тамре. Введение в тестирование программного обеспечения M.: «Вильямс», с. 6. Г. Майерс. Надежность программного обеспечения. М.: «Мир», с. 7. Б. Бейзер. Тестирование черного ящика. СПб: «Питер», с. 8. Э. Брауде. Технология разработки программного обеспечения. СПб: «Питер», с. 9. С. Орлов. Технологии разработки программного обеспечения. СПб: «Питер», с.

Павловская Т.А. (СПбГУ ИТМО) 5 Литература 11. И. Винниченко. Автоматизация процессов тестирования. СПб: «Питер», с. 12. К. Бек. Экстремальное программирование. СПб: «Питер», К. Ауэр, Р. Миллер. Экстремальное программирование. СПб: «Питер», с. 14. Д. Бентли. Жемчужины программирования. СПб: «Питер», с. 15. С. Бобровский. Технологии Пентагона на службе российских программистов. СПб: «Питер», с. 16. А. Якобсон, Г. Буч, Д. Рамбо. Унифицированный процесс разработки программного обеспечения. СПб: «Питер», с. 17. Р. Мартин. Чистый код: создание, анализ и рефакторинг. СПб: «Питер», с.

Павловская Т.А. (СПбГУ ИТМО) 6 Ресурсы sorlik.ru/swebok-ru/ (SWEBOK - Software Engineering Body of Knowledge) sorlik.ru/swebok-ru/ software-testing.ru – библиотека, статьи, … software-testing.ru wiki.agiledev.ru/doku.php – гибкая разработка и тестирование wiki.agiledev.ru/doku.php ru.wikipedia.org – Тестирование ПО, ISO 9126 ru.wikipedia.org - курсы лекций карта сайта. Смотреть: Термины тестирования ПО; Термины, относящиеся к качеству Метрики кода; Тест Джоэла, … (Б.Майер, 7 принципов тестирования ПО)

Павловская Т.А. (СПбГУ ИТМО) 7 Объекты тестирования Тестировать можно все: работу программы качество ее кода и понятность комментариев быстродействие устойчивость под большой нагрузкой расход ресурсов (памяти, диска, потери этих ресурсов) взаимодействие с другими программами стабильность работы возможность работы на других платформах удобство интерфейса документацию к программе (смысловые и грамматические ошибки, понятность и полноту) работу через сеть, работу аппаратного обеспечения и т.п.

Важность тестирования Павловская Т.А. (СПбГУ ИТМО) 8

9 Стоимость ошибки через 40 сек. после запуска ракеты-носителя Ariane 5 произошёл авто подрыв 50-метровой ракеты (оборудование стоило полмиллиарда долларов, не говоря об упущенной выгоде). Причина - некорректный перенос из ПО Ariane 4 в ПО Ariane 5 спецификации программного модуля, выполнявшего преобразование из double в WORD. Ракета Ariane 4 успешно запускалась более 100 раз. Ошибки в ПО - все возможные несоответствия между демонстрируемыми характеристиками его качества и сформулированными или подразумеваемыми требованиями и ожиданиями пользователей.

Павловская Т.А. (СПбГУ ИТМО) 10 Основная терминология Тестирование – процесс выявления фактов расхождений с требованиями (ошибок). Отладка (debug, debugging) – процесс поиска, локализации и исправления ошибок в программе [IEEE Std ] Как правило, на фазе тестирования осуществляется и исправление идентифицированных ошибок, включающее: локализацию ошибок нахождение причин ошибок корректировку программы. Судить о правильности результатов выполнения программы можно только сравнивая спецификацию функции с результатами ее вычисления. Основная проблема тестирования - определение достаточности множества тестов для истинности вывода о правильности реализации программы, а также нахождения множества тестов, обладающего этим свойством.

Павловская Т.А. (СПбГУ ИТМО) 11 Определения тестирования по стандарту Процесс выполнения ПО системы или компонента при заданных условиях с анализом или записью результатов и оценкой некоторых свойств тестируемого объекта. 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. Процесс анализа ПО с целью фиксации различий между существующим состоянием ПО и требуемым (что свидетельствует о проявлении ошибки) и оценки свойств тестируемого ПО. 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 ]. Контролируемое выполнение программы на конечном множестве тестовых данных и анализ результатов этого выполнения для поиска ошибок [IEEE Std ].

Павловская Т.А. (СПбГУ ИТМО) 12 Статическое и динамическое тестирование Статическое тестирование выявляет неверные конструкции или неверные отношения объектов программы (ошибки формального задания) формальными методами анализа без выполнения тестируемой программы: С помощью специальных инструментов контроля кода Обзоры (Reviews) Инспекции (Inspections) Сквозные просмотры (Walkthroughs) Аудиты (Audits) Тестирование требований, спецификаций, документации. Динамическое тестирование осуществляет выявление ошибок на выполняющейся программе. Тестирование заканчивается, когда выполнилось или "прошло" (pass) успешно достаточное количество тестов в соответствии с выбранным критерием тестирования.

Павловская Т.А. (СПбГУ ИТМО) 13 Критерии качества ПО Внешние характеристики корректность наличие/отсутствие дефектов в спецификации, проекте и реализации практичность легкость изучения и использования эффективность степень использования системных ресурсов надежность способность системы выполнять необходимые функции; интервал между отказами целостность способность предотвращать неавторизованный или некорректный доступ адаптируемость возможность использования в других областях и средах правильность степень безошибочности данных, выдаваемых системой живучесть способность продолжать работу при недопустимых данных или в напряженных условиях Внутренние характеристики удобство сопровождения тестируемость удобочитаемость гибкость портируемость возможность повторного использования понятность

Павловская Т.А. (СПбГУ ИТМО) 14 Источник: С. Макконнелл

Павловская Т.А. (СПбГУ ИТМО) 15 Методики повышения качества ПО Контроль качества – планомерная и систематичная программа действий, призванная гарантировать, что система обладает желательными характеристиками Явное определение целевых характеристик (внутренних и внешних) – эффективная методика Разработка стратегии тестирования. Выполнить задачи оценки и повышения качества только путем тестирования невозможно. Неформальные и формальные технические обзоры инспекция обзор аудит Контроль изменений Оценка результатов выполнения плана контроля качества Прототипирование

Павловская Т.А. (СПбГУ ИТМО) 16 Эффективность методик Методика устранения дефектаMin-max, %Сред., % Неформальные обзоры проекта Формальные инспекции проекта Неформальные обзоры кода Формальные обзоры кода Моделирование или прототипирование Самостоятельная проверка кода Блочное тестирование Тестирование новых функций Интеграционное тестирование Регрессионное тестирование Тестирование системы Ограниченное бета-тестирование (< 10) Масштабное бета-тестирование (> 1000)

Павловская Т.А. (СПбГУ ИТМО) 17 Рекомендуемая комбинация методик Формальные инспекции всех требований, всех аспектов архитектуры и всех проектов критических частей системы Моделирование или прототипирование Чтение или инспекции кода Тестирование выполнения программы

Павловская Т.А. (СПбГУ ИТМО) 18 Главный закон контроля качества ПО Повышение качества системы снижает расходы на ее разработку IEEE Std планирование контроля качества IEEE Std методологии метрик качества IEEE Std стандарт обзоров ПО IEEE Std (R1993) стандарт блочного тестирования IEEE Std стандарт документации тестирования ПО

Павловская Т.А. (СПбГУ ИТМО) 19 Capability Maturity Model

Павловская Т.А. (СПбГУ ИТМО) 20 Взаимосвязь наиболее признанных и применяемых в мире стандартов в области разработки программного обеспечения Картинка для устрашения