Курс «Основы тестирования ПО» Докучаев Сергей / Руководитель
9-dokuchaev._osnovy_testirovaniya_po.pptx
- Количество слайдов: 30
Курс «Основы тестирования ПО» Докучаев Сергей / Руководитель отдела нефункционального тестирования Тензор, 2014 1
Цена ошибки Ariane-5 /1996/ 500 000 000 $ Therac-25 / 1985 / 3 человека Mizuho Financial Group Banking System / 2002 / > 10 миллиардов $ Northeast blackout / 2003 / 45 миллионов остались без света 2
История Отладочное тестирование (до 1956 года) понятия «тестирование» не существует программисты занимаются отладкой 3
История Демонстрационное тестирование (1957-1978) разделение отладки и тестирования первая команда по тестированию ПО таблицы принятия решений, мутационное тестирование , закон надёжности первый симпозиум кривая стоимости исправления ошибки decision-to-decision path, state-transition testing измерение покрытия кода 4
История Деструкционное тестирование (1979-1982) «Искусство тестирования программ» Глена Майерса черный ящик тестирование - как процесс нахождения ошибок 5
История Оценочное тестирование (1983-1987) первая международная конференция AutoTester Девид Гелперин и Уильям Хетцел создают организацию SQE usecase 6
История Профилактическое тестирование (с 1988-го года) Кем Канер «Тестирование ПО» и исследовательское тестирование первый багтрекер, LoadRunner, SilkTest фаззинг-тестирование Борис Бейзер «Техники тестирования ПО», классификация ошибок, эффект пестицида ISO 9126 новостные ленты, начинают выходить журналы, бум методов (списочный, дерево принятия решений) Джеймс Бах – эвристическая модель тестирования Девид Коэн – комбинаторное тестирование 7
История Профилактическое тестирование (с 1988-го года) Джеймс Бах «Контекстное тестирование», «Тестирование на основе сессий», etc. первая сертификация BugZilla, Jmeter, QuickTest, IBM Rational, JIRA Дороти Грэхем, Марки Фьюстер «Автоматизация тестирования ПО» 2002 – ISTQB TDD Selenium, SoapUI тестирование как сервис, краудсорс utest.com эра конференций, блогов, подкастов, сообществ 8
Терминология Что такое ошибка? 9
Терминология Что такое ошибка? Ошибка - это разница между вычисленным, наблюдаемым или измеренным значением или условием и истинным, заданным или теоретически корректным значением или условием 10
Терминология Что такое качество? 11
Терминология Что такое качество? Качество - Степень, с которой компонент, система или процесс соответствует зафиксированным требованиям и/или ожиданиям и нуждам пользователя или заказчика. 12
Терминология Что такое качество? Качество - Степень, с которой компонент, система или процесс соответствует зафиксированным требованиям и/или ожиданиям и нуждам пользователя или заказчика. 13
Терминология Что такое тестирование? 14
Терминология Что такое тестирование? Тестирование - Процесс, содержащий в себе все активности жизненного цикла, как динамические, так и статические, касающиеся планирования, подготовки и оценки программного продукта и связанных с этим результатов работ с целью определить, что они соответствуют описанным требованиям, показать, что они подходят для заявленных целей и для определения дефектов. 15
Терминология Тестирование vs валидация vs верификация? 16
Терминология Тестирование vs валидация vs верификация? Верификация — подтверждение на основе представления объективных свидетельств того, что установленные требования были выполнены Валидация — подтверждение на основе представления объективных свидетельств того, что требования, предназначенные для конкретного использования или применения, выполнены 17
Терминология Тест-план — Документ, описывающий цели, подходы, ресурсы и график запланированных тестовых активностей. Он определяет объекты тестирования, свойства для тестирования, задания, ответственных за задания, степень независимости каждого тестировщика, тестовое окружение, метод проектирования тестов, определяет используемые критерии входа и критерии выхода и причины их выбора, а также любые риски, требующие планирования на случай чрезвычайных обстоятельств. 18
Терминология Тест, тестовый сценарий, тест-кейс — Набор входных значений, предусловий выполнения, ожидаемых результатов и постусловий выполнения, разработанный для определенной цели или тестового условия, таких как выполнения определенного пути программы или же для проверки соответствия определенному требованию. 19
Концепция полного тестировани calc(x:int, y:int) - покрыть юнит-тестами данную функцию ||(X,Y)|| = 264 На 1 Гц машине потребуется 3K лет, что бы прогнать все тесты, если он будет состоять из 100 команд протестировать кроссбраузерность сайта: (Виды ОС) x (версии ОС) x (виды браузеров) x (версии браузеров) x (плагины) x (настройки) … 20
Концепция полного тестировани Полное тестирование – невозможно. 21
Методы тестирования Черный ящик Белый ящик Серый ящик 22
Уровни тестирования юнит-тестирование интеграционное тестирование Тестирование интерфейса компонент системное тестирование 23
По объекту функциональное тестирование производительности юзабилити тестирование тестирование UI тестирование безопасности тестирование локализации тестирование совместимости 24