Содержание
-
Основы тестированияПО
Вводный курс Автор: Алексей Баранцев
-
Программа семинара
Что такое тестирование? Характеристики качества и виды контроля качества Классификации тестирования по уровням по целям «чёрное и белое»
-
Что такое тестирование?
-
Тестирование – это…
… не разработка … не анализ … не управление … не техписательство … не … не … не
-
Тестирование – это
предоставление отрицательной обратной связи
-
Положительная и отрицательная обратная связь
-
Тестирование – QC – QA
Quality Assurance Обеспечение качества Quality Control Контроль качества Тестирование
-
История определений
Процесс выполнения программы с намерением найти ошибки. [Г.Майерс. Надежность программного обеспечения. М:Мир, 1980] Процесс наблюдения за выполнением программы в специальных условиях и вынесения на этой основе оценки каких-либо ее аспектов. [ANSI/IEEE standard 610.12-1990: Glossary of SETerminology. 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] 1980 1987 1990 1999 2004
-
Рабочее определение №1
Тестирование – это проверка соответствия программы требованиям, осуществляемая путём наблюдения за её работой в специальных, искусственно созданных ситуациях, выбранных определённым образом
-
Схема тестирования
Программа Информация о несоответствиях Требования
-
Определение по SWEBOK
Тестирование – это проверка соответствия между реальным поведением программы и ее ожидаемым поведением на конечном наборе тестов, выбранном определенным образом SWEBOK, 2004
-
Тестирование – это проверка соответствия между реальным поведением программы и ее ожидаемым поведением на конечном наборе тестов, выбранном определенным образом SWEBOK, 2004
-
Тестирование – это проверка соответствия между реальным поведением программы и ее ожидаемым поведением на ограниченномнаборе тестов, выбранном определенным образом SWEBOK, 2004
-
Рабочее определение №1 (повтор)
Тестирование – это проверка соответствия программы требованиям, осуществляемая путём наблюдения за её работой в специальных, искусственно созданных ситуациях, выбранных определённым образом
-
Рабочее определение №2
Тест – это специальная, искусственно созданная ситуация, выбранная определённым образом, и описание того, какие наблюдения за работой программы нужно сделать для проверки её соответствия некоторому требованию
-
Тестировщик:
Управляет выполнением программы, создаёт искусственные ситуации Наблюдает поведение программы и сравнивает наблюдаемое поведение с ожидаемым
-
Основные задачи тестирования
Что подать на вход? стимулы Что ожидается на выходе? реакции оракул
-
Входы и выходы
-
Программа
-
Разновидности входов и выходов
Пользовательский интерфейс (UI) Программный интерфейс (API) Сетевой протокол Файловая система Состояние окружения События
-
Характеристики качества и виды контроля качества
-
Аспекты качества
Стандарт ISO 9126 Функциональность Надёжность Практичность Эффективность Сопровождаемость Переносимость
-
1 - Функциональность
Пригодность к использованию (suitability) Точность, правильность (accuracy) Способность к взаимодействию (interoperability) Соответствие стандартам и правилам (compliance) Защищенность (security)
-
2 - Надёжность
Зрелость, завершенность (обратна к частоте отказов) (maturity) Устойчивость к отказам (fault tolerance) Способность к восстановлению работоспособности при отказах (recoverability)
-
3 - Практичность
Понятность (understandability) Удобство обучения (learnability) Работоспособность (operability) Привлекательность (attractiveness)
-
4 - Эффективность
Временные характеристики (time behaviour) Использование ресурсов (resource utilisation)
-
5 - Сопровождаемость
Анализируемость (analyzability) Изменяемость, удобство внесения изменений (changeability) Риск возникновения неожиданных эффектов при внесении изменений (stability) Контролируемость , удобство проверки (testability)
-
6 - Переносимость
Адаптируемость (adaptability) Устанавливаемость, удобство установки (installability) Способность к сосуществованию с другим ПО (coexistence) Удобство замены другого ПО данным (replaceability)
-
Тестирование:
функциональности надёжности эффективности практичности сопровождаемости переносимости …
-
Различные классификации видов тестирования
-
Уровни тестирования
Модульное Интеграционное Системное
-
Приложение-матрёшка
КИС Веб-приложение Клиентская часть Серверная часть JS library Серверприложений База данных Stored proc Stored proc JS func JS library JS func library class class method method method method
-
Тестирование бывает:
Модульное Интеграционное Системное функциональности надёжности эффективности практичности сопровождаемости мобильности
-
-
Чёрное и белое
-
Рабочее определение
Тестирование – это проверка соответствия программы требованиям, осуществляемая путём наблюдения за её работой в специальных, искусственно созданных ситуациях , выбранных определённым образом
-
-
No more bugs found, boss!
-
Полнота тестирования
-
Чёрное и белое
-
Чёрное
Полностью покрыты все … … входные данные … комбинации входных данных … последовательности комбинаций входных данных
-
Белое
Полностью покрыты все … … строки кода программы … ветви в коде программы … пути в коде программы
-
Приложение-матрёшка
КИС Веб-приложение Клиентская часть Серверная часть JS library Сервер приложений База данных пакет library JS library library library Веб-сервис Приложение База данных Чужое приложение
-
Разноцветные ящики
-
Продолжение следует…
Нет комментариев для данной презентации
Помогите другим пользователям — будьте первым, кто поделится своим мнением об этой презентации.