Similar presentations:
Основные определения и принципы. Лекция 1
1.
Основные определения и принципыЛекция 1
20 июня 2016
Сергей Чубуров
Open Access Quality Assurance & Related Software Development for Financial Markets
Tel: +7 495 640 2460, +1 415 830 38 49
www.exactpro.com
1
Open Access Quality Assurance & Related Software Development for Financial Markets
www.exactpro.com
Tel: +7 495 640 24 60 , +1 415 830 38 49
2. План курса
21.
2.
3.
4.
Тестирование: основные понятия
Тестирование и жизненный цикл ПО
Дефекты в тестировании
Методы составления тестовых сценариев
5.
6.
7.
8.
Особенности тестирования web-приложений
Виды тестирования web-приложений
Автоматизация тестирования
Управление тестированием и менеджемент
Open Access Quality Assurance & Related Software Development for Financial Markets
www.exactpro.com
Tel: +7 495 640 24 60 , +1 415 830 38 49
3. Содержание
- что такое тестирование ПО, его роль- основные понятия
- принципы тестирования ПО
- этапы тестирования ПО
3
Open Access Quality Assurance & Related Software Development for Financial Markets
www.exactpro.com
Tel: +7 495 640 24 60 , +1 415 830 38 49
4. Обеспечение качества
Оценка программного продукта и связанных с ним продуктов, чтоони соответствуют обозначенным требованиям, установленной
цели, и выявить дефекты
Проверка соответствия между реальным и ожидаемым
поведением программы, осуществляемая на конечном наборе
тестов, выбранном определенным образом.
Это деятельность направленная на оценку программного
продукта(получения информации о качестве) и выявление дефектов,
включающая в себя активности по:
- планированию работ (Test Management)
- проектированию тестов (Test Design)
- выполнению тестирования (Test Execution)
- анализу полученных результатов (Test Analysis)
4
Open Access Quality Assurance & Related Software Development for Financial Markets
www.exactpro.com
Tel: +7 495 640 24 60 , +1 415 830 38 49
5. Цели тестирования
• Найти дефекты• Получить уверенность в качестве программного продукта
• Предоставить информацию для принятия дальнейших решений
• Предотвратить дефекты
5
Open Access Quality Assurance & Related Software Development for Financial Markets
www.exactpro.com
Tel: +7 495 640 24 60 , +1 415 830 38 49
6. Качество и Debugging
Качество программного обеспечения (Software Quality) — этосовокупность характеристик программного обеспечения, относящихся
к его способности удовлетворять установленные и предполагаемые
потребности. [ISO 8402:1994 Quality management and quality assurance]
Debugging это не тестирование.
Это активность разработчиков, связанная с поиском причины дефекта
и его устранения
6
Open Access Quality Assurance & Related Software Development for Financial Markets
www.exactpro.com
Tel: +7 495 640 24 60 , +1 415 830 38 49
7. Основные понятия
Сценарий использования (Use Case) – описание взаимодействия системы с пользователем в контекстеполучения некоторого результата или выполнения функционала.
Тестовый случай (Test Case) – это артефакт, описывающий совокупность шагов, конкретных условий и
параметров, необходимых для проверки реализации тестируемой функции или её части.
- Pre-condition
- Summary
- Description/Steps
- Expected result
Чек лист - это артефакт, описывающий что именно нужно протестировать, без чётких подробностей
Тестовый набор (Test Suit) – набор тестовых случаев сгруппированный по определённому признаку.
План Тестирования (Test Plan) – это документ, описывающий весь объем работ связанных с тестированием.
Начиная с описания объекта, стратегии, расписания, критериев начала и окончания тестирования, до
необходимого в процессе работы оборудования, специальных знаний, а также оценки рисков с вариантами их
разрешения.
Отчёт о тестировании (Test Report) – это документ, описывающий весь объем работ по тестированию c
полученными результатами, выявленными дефектами.
Тест дизайн (Test Design) - это этап процесса тестирования ПО, на котором проектируются и создаются
тестовые случаи (тест кейсы), в соответствии с определёнными ранее критериями качества и целями
тестирования.
7
Open Access Quality Assurance & Related Software Development for Financial Markets
www.exactpro.com
Tel: +7 495 640 24 60 , +1 415 830 38 49
8. Основные понятия
Спецификация требований - законченное описание поведения программы, которую требуетсяразработать.
- Полнота
- Однозначность
- Непротиворечивость
Ошибка(Error, Mistake) – действие, сделанное человеком, в процессе разработки или
проектирования ПО ведущее к появлению дефекта.
Дефект, Баг(fault/defect/bug) - ошибка в программном продукте, вследствие которой продукт
ведет себя непредвиденно (некорректно)
Сбой (failure) – проявление дефекта в процессе эксплуатации системы
Баг репорт – описание ошибки в программном продукте
8
Open Access Quality Assurance & Related Software Development for Financial Markets
www.exactpro.com
Tel: +7 495 640 24 60 , +1 415 830 38 49
9. Ошибка, Дефект, Сбой
1) Ошибка: отсутствие преобразованияанглийских единиц измерения в метрическую
систему.
2) Дефект, Баг: Mars Climate Orbiter:
$125 millions
3) Сбой: оказался слишком близко к поверхности Марса.
Из-за возникших перегрузок его системы связи вышли из строя.
Неуправляемый спутник попал на околосолнечную орбиту,
миссия была провалена
9
Open Access Quality Assurance & Related Software Development for Financial Markets
www.exactpro.com
Tel: +7 495 640 24 60 , +1 415 830 38 49
10. Верификация и Валидация
Верификация(Verification) - это процесс оценки системы или еёкомпонентов с целью определения удовлетворяют ли результаты
текущего этапа разработки условиям, сформированным в начале
этого этапа [IEEE].
Валидация(Validation) - это определение соответствия
разрабатываемого ПО ожиданиям и потребностям пользователя,
требованиям к системе [BS7925-1].
10
Open Access Quality Assurance & Related Software Development for Financial Markets
www.exactpro.com
Tel: +7 495 640 24 60 , +1 415 830 38 49
11. Верификация и Валидация
Верификация:- после создания продукта
Сделали ли мы продукт правильно, в соответствии с запланированными
стандартами
– Педали есть? – Есть.
– Седло есть? – Есть.
– Цепь есть? – Есть.
– Все есть…? – Да, все.
Валидация:
- перед созданием продукта
- после создания продукта
Сделали(собираемся сделать) ли мы правильный продукт, отвечающий
требованиям рынка/пользователя
– Едет? – Не едет. Эффекта от того, что у нас есть – нет.
11
Open Access Quality Assurance & Related Software Development for Financial Markets
www.exactpro.com
Tel: +7 495 640 24 60 , +1 415 830 38 49
12. Принципы тестирования:
1. Тестирование показывает наличие дефектов2. Исчерпывающее тестирование невозможно
3. Раннее тестирование
4. Скопление дефектов
5. Парадокс пестицида
6. Контекстность тестирования
7. Обманчивость отсутствия дефектов
12
Open Access Quality Assurance & Related Software Development for Financial Markets
www.exactpro.com
Tel: +7 495 640 24 60 , +1 415 830 38 49
13. 1. Тестирование показывает наличие дефектов
Тестирование может показать наличие дефектов но не может сказать об ихотсутствии, тестирование уменьшает количество не проявленных дефектов в ПО,
следовательно вероятность их появления в процессе эксплуатации системы.
Но даже если никаких дефектов в процессе тестирования не было найдено, это ещё
не является показателем абсолютной корректности работы системы.
13
Open Access Quality Assurance & Related Software Development for Financial Markets
www.exactpro.com
Tel: +7 495 640 24 60 , +1 415 830 38 49
14. 2. Исчерпывающее тестирование невозможно
Тестирование всех комбинаций невозможно, за исключением очень тривиальныхслучаев.
Пример с калькулятором, сложение 2 десятизначных чисел:
10^10 * 10^10 = 10^20 комбинаций
1 секунда - 1 комбинация = 31.709.791.983.764,58 лет
Таким образом тестирование должно опираться на оценку рисков и расстановку
приоритетов.
И здравый смысл ☺
14
Open Access Quality Assurance & Related Software Development for Financial Markets
www.exactpro.com
Tel: +7 495 640 24 60 , +1 415 830 38 49
15. 3. Раннее тестирование
Тестирование должно начинаться как можно раньше в цикле разработки ПО, идолжно сосредотачиваться на чётко установленных целях.
15
Open Access Quality Assurance & Related Software Development for Financial Markets
www.exactpro.com
Tel: +7 495 640 24 60 , +1 415 830 38 49
16. 4. Скопление дефектов
Большинство дефектов сосредотачиваются в меньшинстве программных модулей,следовательно тестирование должно фокусироваться на областях, где наблюдается
наибольшее скопление дефектов.
16
Open Access Quality Assurance & Related Software Development for Financial Markets
www.exactpro.com
Tel: +7 495 640 24 60 , +1 415 830 38 49
17. 5. Парадокс пестицида
Если один и тот же набор тестов постоянно повторяется, он будет каждый развыявлять всё меньше и меньше дефектов, а в конечном итоге перестанет их
находить. Таким образом тесты постоянно должны совершенствоваться,
расширяться, модифицироваться.
17
Open Access Quality Assurance & Related Software Development for Financial Markets
www.exactpro.com
Tel: +7 495 640 24 60 , +1 415 830 38 49
18. 6. Контекстность тестирования
Тестирование проводится различно в зависимости от контекста, к примеруединичное приложение под Windows, Веб портал компании, система для биржевой
торговли, самолёт/ракета/спутник.
18
Open Access Quality Assurance & Related Software Development for Financial Markets
www.exactpro.com
Tel: +7 495 640 24 60 , +1 415 830 38 49
19. 7. Обманчивость отсутствия дефектов
Поиск и нахождение дефектов ещё не являются критерием успешности системы,если система не удобна для использования, не отвечает нуждам пользователя и
текущим потребностям на рынке.
19
Open Access Quality Assurance & Related Software Development for Financial Markets
www.exactpro.com
Tel: +7 495 640 24 60 , +1 415 830 38 49
20. Контроль качества, обеспечение качества, тестирование
Тестирование (TESTING) — это проверка функционирования продуктаКонтроль качества (QUALITY CONTROL) это измерение, оценка и контроль качества
продукта
Обеспечение качества (QUALITY ASSURANCE) – это измерение и управление качеством
процесса, который используется для создания продукта
20
Open Access Quality Assurance & Related Software Development for Financial Markets
www.exactpro.com
Tel: +7 495 640 24 60 , +1 415 830 38 49
21. Контроль качества, Обеспечение качества и Тестирование
QA (Quality Assurance, Обеспечение качества) - Фокусируется на предотвращениидефектов. Проверяет корректность подходов, техник методов и процессов для
проекта. QA активности отслеживают и проверяют процессы, используемые при
создании продукта.
Это проактивная деятельность превентивного характера, направленная на поиск
недостатков и слабых мест в процессах.
QC (Quality Control, Контроль качества) - Фокусируется на определении дефектов.
Проверяет корректность следования подходам, техникам методам и процессам
выбранным для проекта. Проверяет что результаты работы удовлетворяют
заявленным стандартам качества. Это реактивная деятельность, направленная на
нахождение дефектов и слабых местах в продуктах.
Software Testing - Выполнение проверок и регистрация результатов работы
системы.
21
Open Access Quality Assurance & Related Software Development for Financial Markets
www.exactpro.com
Tel: +7 495 640 24 60 , +1 415 830 38 49
22. Контроль качества, обеспечение качества, тестирование
Quality assuranceQuality control
Цель – предотвратить дефекты
Цель – найти и определить дефекты
Управление качеством
Оценка качества
Верификация
Валидация
Убедиться что мы делаем нужные
вещи нужны образом
Убедиться что мы получаем то что мы
ожидаем
Определяет стандарты и методологии Определяет соблюдение стандартов и
необходимые для реализации
методологий
потребностей клиента
Производится на протяжении всего
жизненного цикла ПО
22
Open Access Quality Assurance & Related Software Development for Financial Markets
www.exactpro.com
Производится только в рамках цикла
тестирования
Tel: +7 495 640 24 60 , +1 415 830 38 49
23. Основные этапы тестирования
1. Планирование и контроль2. Анализ и дизайн
3. Создание и выполнение
4. Оценка критериев выхода и отчётность
5. Завершение тестирования
23
Open Access Quality Assurance & Related Software Development for Financial Markets
www.exactpro.com
Tel: +7 495 640 24 60 , +1 415 830 38 49
24. 1. Планирование и контроль
Определение целей тестирования и обозначение тестовых активностей, чтобыдостичь этих целей. Определение критериев выхода.
Постоянное сравнение текущего прогресса с запланированным и отчетность по
результатам, выполнение корректирующих действий для достижения поставленных
целей.
Контроль предоставляет обратную связь о прохождении тестирования.
24
Open Access Quality Assurance & Related Software Development for Financial Markets
www.exactpro.com
Tel: +7 495 640 24 60 , +1 415 830 38 49
25. 2. Анализ и дизайн
На этом этапе общие цели тестирования расширяются до конкретно тестируемыхсценариев и функций
Элементы:
- обзор тестового базиса(например требования, спецификации, описание
архитектуры..)
- оценка тестируемости этого тестового базиса
- выбор что именно будем тестировать при каких условиях
- создание и приоритезация высокоуровневых тестовых сценариев
- обозначение необходимых тестовых данных, инфраструктуры и инструментов
- согласование тест сценариев с тестовым базисом
25
Open Access Quality Assurance & Related Software Development for Financial Markets
www.exactpro.com
Tel: +7 495 640 24 60 , +1 415 830 38 49
26. 3. Создание и выполнение
Создание конкретных тест кейзов и комбинирование их в определённом порядке,настройка системы, выполнение тестов.
Элементы:
- создание тест кейзов, и расстановка приоритетов
- создание тестовых процедур, создание тестовой информации, настройка
инструментов
- создание тестовых наборов
- проверка корректности настройки окружения
- проверка соответствия тест кейзов и тестового базиса
- выполнение тестов и запись результатов, сравнение их с ожидаемыми
результатами, анализ с елью выявления причины
26
Open Access Quality Assurance & Related Software Development for Financial Markets
www.exactpro.com
Tel: +7 495 640 24 60 , +1 415 830 38 49
27. 4. Оценка критериев выхода и отчётность
Прогресс тестирования оценивается относительно установленных критериев выходаЭлементы:
- проверка результатов относительно критериев выхода
- оценка, нужно ли нам больше тестов, либо мы можем изменить критерий выхода
- написание финального отчета для заинтересованных сторон.
27
Open Access Quality Assurance & Related Software Development for Financial Markets
www.exactpro.com
Tel: +7 495 640 24 60 , +1 415 830 38 49
28. 5. Завершение тестирования
Сбор информации о результатах тестирования для обобщения опыта, получениястатистики и фактов. Как правило происходят во время релиза системы или
завершения проекта.
Элементы:
- проверка что из запланированного функционала было реализовано
- документирование приёмки системы
- свёртывание тестового окружения и тулов для последующего использования
- анализ полученных уроков чтобы определить каким образом можно улучшить
последующие релизы/проекты
- анализ полученных уроков чтобы определить каким образом можно улучшить
последующие релизы/проекты (для QA и DEV)
28
Open Access Quality Assurance & Related Software Development for Financial Markets
www.exactpro.com
Tel: +7 495 640 24 60 , +1 415 830 38 49
29. Тестирование - это не поиск ошибок: внимание на ошибках
Количество найденных ошибок является видимым и измеримым результатомработы тестировщика, поэтому многие начинающие, и не только, поддаются
соблазну искать проблемы, а не проверять функционал, поэтому:
- в первую очередь тестируются самые нестабильные области(там ведь больше проблем).
Но нестабильные они как правило потому что не приоритетные
- игнорируются сложновоспроизводимые проблемы.
Зачем возиться с непонятно возникающей ошибкой несколько часов, когда можно вместо это
занести несколько попроще
- проводятся самые нестандартные тесты.
Потому что они с большей вероятностью вызывают проблемы. Но делается это в ущерб
основным обычным сценариям.
29
Open Access Quality Assurance & Related Software Development for Financial Markets
www.exactpro.com
Tel: +7 495 640 24 60 , +1 415 830 38 49
30. Тестирование - это не поиск ошибок: внимание на функционале
Задача – пропустить как можно меньше приоритетных для пользователяошибок. Чем меньше ошибок пропущено тем лучше сделана работа. Этот
критерий врядли чётко показывает объём проделанной работы, но это и есть
настоящий показатель успешного тестирования
- в первую очередь тестируются самые приоритетные для пользователя области.
И даже если там после первых тестов не найдено никаких ошибок, всё равно
проверяются «соседние» сценарии, чтобы минимизировать риск нахождения ошибок
пользователем
- сложновоспроизводимые проблемы, непонимание бизнес-процессов, нехватка
требований, разбираются часами, если они находятся в важном функционале.
Эффективность Баг/Время понижается, зато появляется более глубокое понимание
логики работы продукта
- прежде всего самые стандартные сценарии, что то что необходимо работает, и
только потом экзотика.
30
Open Access Quality Assurance & Related Software Development for Financial Markets
www.exactpro.com
Tel: +7 495 640 24 60 , +1 415 830 38 49
31.
Тестирование - это не поиск ошибок:почему поиск ошибок это плохо
В краткосрочной перспективе поиск ошибок даёт быстрый и
видимый результат, но:
- из-за избегания серьёзных проблем и недопонимания логики
работы системы, начинает расти % пропущенных дефектов
- в долгосрочной перспективе получаем нахождение меньшего
количества дефектов
- внимание разработчиков занято на локализацию и исправление
мало приоритетных проблем, до которых пользователь врядли
доберётся
- пропускаются очевидные и очень неприятные ошибки в базовом
функционале
31
Open Access Quality Assurance & Related Software Development for Financial Markets
www.exactpro.com
Tel: +7 495 640 24 60 , +1 415 830 38 49
32.
Тестирование - это не поиск ошибок:несколько советов
1)Анализ продукта и документирование тестов, составление «карты»
тестирования
- подробный разбор функционала и действий, их параметров и особенностей
- составление тестовых наборов для каждого функционала
- составление чеклистов(если функционал понят не до конца), в будущем сможете вернуться и
разобраться подробней. А если ни где не отметите, то скорей всего забудется
- стараться согласовывать чек листы и сценарии с разработчиками и аналитиками. Чтобы лучше
понимать приоритеты и ожидаемую логику работы.
2)Оценка эффективности и анализ пропущенных проблем
- анализировать пропущенные проблемы и причины пропуска
- анализировать тестовое покрытие
3)Понимание пользователей и бизнес-процессов
- как используется продукт
- зачем он нужен, какие решает проблемы
- какая средняя квалификация пользователей, в каких условиях они работают
4)Понимание технически особенностей продукта
- используемые технологии, и их основные особенности
- окружение в котором работает программа и его особенности(например: операционная система,
браузер)
32
Open Access Quality Assurance & Related Software Development for Financial Markets
www.exactpro.com
Tel: +7 495 640 24 60 , +1 415 830 38 49
33.
Вопросы33
Open Access Quality Assurance & Related Software Development for Financial Markets
www.exactpro.com
Tel: +7 495 640 24 60 , +1 415 830 38 49
34.
Спасибо34
Open Access Quality Assurance & Related Software Development for Financial Markets
www.exactpro.com
Tel: +7 495 640 24 60 , +1 415 830 38 49