Скачать презентацию Основные определения и принципы Лекция 1 20 июня Скачать презентацию Основные определения и принципы Лекция 1 20 июня

Лекция 1 Тестирование основные понятия_v2.pptx

  • Количество слайдов: 34

Основные определения и принципы Лекция 1 20 июня 2016 Сергей Чубуров Open Access Quality Основные определения и принципы Лекция 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 Tel: +7 495 640 24 60 , +1 415 830 38 49 www. exactpro. com

План курса 1. 2. 3. 4. 5. 6. 7. 8. 2 Тестирование: основные понятия План курса 1. 2. 3. 4. 5. 6. 7. 8. 2 Тестирование: основные понятия Тестирование и жизненный цикл ПО Дефекты в тестировании Методы составления тестовых сценариев Особенности тестирования web-приложений Виды тестирования web-приложений Автоматизация тестирования Управление тестированием и менеджемент Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www. exactpro. com

Содержание - что такое тестирование ПО, его роль - основные понятия - принципы тестирования Содержание - что такое тестирование ПО, его роль - основные понятия - принципы тестирования ПО - этапы тестирования ПО 3 Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www. exactpro. com

Обеспечение качества Оценка программного продукта и связанных с ним продуктов, что они соответствуют обозначенным Обеспечение качества Оценка программного продукта и связанных с ним продуктов, что они соответствуют обозначенным требованиям, установленной цели, и выявить дефекты Проверка соответствия между реальным и ожидаемым поведением программы, осуществляемая на конечном наборе тестов, выбранном определенным образом. Это деятельность направленная на оценку программного продукта(получения информации о качестве) и выявление дефектов, включающая в себя активности по: - планированию работ (Test Management) - проектированию тестов (Test Design) - выполнению тестирования (Test Execution) - анализу полученных результатов (Test Analysis) 4 Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www. exactpro. com

Цели тестирования • Найти дефекты • Получить уверенность в качестве программного продукта • Предоставить Цели тестирования • Найти дефекты • Получить уверенность в качестве программного продукта • Предоставить информацию для принятия дальнейших решений • Предотвратить дефекты 5 Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www. exactpro. com

Качество и Debugging Качество программного обеспечения (Software Quality) — это совокупность характеристик программного обеспечения, Качество и Debugging Качество программного обеспечения (Software Quality) — это совокупность характеристик программного обеспечения, относящихся к его способности удовлетворять установленные и предполагаемые потребности. [ISO 8402: 1994 Quality management and quality assurance] Debugging это не тестирование. Это активность разработчиков, связанная с поиском причины дефекта и его устранения 6 Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www. exactpro. com

Основные понятия Сценарий использования (Use Case) – описание взаимодействия системы с пользователем в контексте Основные понятия Сценарий использования (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 Tel: +7 495 640 24 60 , +1 415 830 38 49 www. exactpro. com

Основные понятия Спецификация требований - законченное описание поведения программы, которую требуется разработать. - Полнота Основные понятия Спецификация требований - законченное описание поведения программы, которую требуется разработать. - Полнота - Однозначность - Непротиворечивость Ошибка(Error, Mistake) – действие, сделанное человеком, в процессе разработки или проектирования ПО ведущее к появлению дефекта. Дефект, Баг(fault/defect/bug) - ошибка в программном продукте, вследствие которой продукт ведет себя непредвиденно (некорректно) Сбой (failure) – проявление дефекта в процессе эксплуатации системы Баг репорт – описание ошибки в программном продукте 8 Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www. exactpro. com

Ошибка, Дефект, Сбой 1) Ошибка: отсутствие преобразования английских единиц измерения в метрическую систему. 2) Ошибка, Дефект, Сбой 1) Ошибка: отсутствие преобразования английских единиц измерения в метрическую систему. 2) Дефект, Баг: Mars Climate Orbiter: $125 millions 3) Сбой: оказался слишком близко к поверхности Марса. Из-за возникших перегрузок его системы связи вышли из строя. Неуправляемый спутник попал на околосолнечную орбиту, миссия была провалена 9 Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www. exactpro. com

Верификация и Валидация Верификация(Verification) - это процесс оценки системы или её компонентов с целью Верификация и Валидация Верификация(Verification) - это процесс оценки системы или её компонентов с целью определения удовлетворяют ли результаты текущего этапа разработки условиям, сформированным в начале этого этапа [IEEE]. Валидация(Validation) - это определение соответствия разрабатываемого ПО ожиданиям и потребностям пользователя, требованиям к системе [BS 7925 -1]. 10 Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www. exactpro. com

Верификация и Валидация Верификация: - после создания продукта Сделали ли мы продукт правильно, в Верификация и Валидация Верификация: - после создания продукта Сделали ли мы продукт правильно, в соответствии с запланированными стандартами – Педали есть? – Есть. – Седло есть? – Есть. – Цепь есть? – Есть. – Все есть…? – Да, все. Валидация: - перед созданием продукта - после создания продукта Сделали(собираемся сделать) ли мы правильный продукт, отвечающий требованиям рынка/пользователя – Едет? – Не едет. Эффекта от того, что у нас есть – нет. 11 Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www. exactpro. com

Принципы тестирования: 1. Тестирование показывает наличие дефектов 2. Исчерпывающее тестирование невозможно 3. Раннее тестирование Принципы тестирования: 1. Тестирование показывает наличие дефектов 2. Исчерпывающее тестирование невозможно 3. Раннее тестирование 4. Скопление дефектов 5. Парадокс пестицида 6. Контекстность тестирования 7. Обманчивость отсутствия дефектов 12 Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www. exactpro. com

1. Тестирование показывает наличие дефектов Тестирование может показать наличие дефектов но не может сказать 1. Тестирование показывает наличие дефектов Тестирование может показать наличие дефектов но не может сказать об их отсутствии, тестирование уменьшает количество не проявленных дефектов в ПО, следовательно вероятность их появления в процессе эксплуатации системы. Но даже если никаких дефектов в процессе тестирования не было найдено, это ещё не является показателем абсолютной корректности работы системы. 13 Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www. exactpro. com

2. Исчерпывающее тестирование невозможно Тестирование всех комбинаций невозможно, за исключением очень тривиальных случаев. Пример 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 Tel: +7 495 640 24 60 , +1 415 830 38 49 www. exactpro. com

3. Раннее тестирование Тестирование должно начинаться как можно раньше в цикле разработки ПО, и 3. Раннее тестирование Тестирование должно начинаться как можно раньше в цикле разработки ПО, и должно сосредотачиваться на чётко установленных целях. 15 Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www. exactpro. com

4. Скопление дефектов Большинство дефектов сосредотачиваются в меньшинстве программных модулей, следовательно тестирование должно фокусироваться 4. Скопление дефектов Большинство дефектов сосредотачиваются в меньшинстве программных модулей, следовательно тестирование должно фокусироваться на областях, где наблюдается наибольшее скопление дефектов. 16 Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www. exactpro. com

5. Парадокс пестицида Если один и тот же набор тестов постоянно повторяется, он будет 5. Парадокс пестицида Если один и тот же набор тестов постоянно повторяется, он будет каждый раз выявлять всё меньше и меньше дефектов, а в конечном итоге перестанет их находить. Таким образом тесты постоянно должны совершенствоваться, расширяться, модифицироваться. 17 Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www. exactpro. com

6. Контекстность тестирования Тестирование проводится различно в зависимости от контекста, к примеру единичное приложение 6. Контекстность тестирования Тестирование проводится различно в зависимости от контекста, к примеру единичное приложение под Windows, Веб портал компании, система для биржевой торговли, самолёт/ракета/спутник. 18 Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www. exactpro. com

7. Обманчивость отсутствия дефектов Поиск и нахождение дефектов ещё не являются критерием успешности системы, 7. Обманчивость отсутствия дефектов Поиск и нахождение дефектов ещё не являются критерием успешности системы, если система не удобна для использования, не отвечает нуждам пользователя и текущим потребностям на рынке. 19 Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www. exactpro. com

Контроль качества, обеспечение качества, тестирование Тестирование (TESTING) — это проверка функционирования продукта Контроль качества Контроль качества, обеспечение качества, тестирование Тестирование (TESTING) — это проверка функционирования продукта Контроль качества (QUALITY CONTROL) это измерение, оценка и контроль качества продукта Обеспечение качества (QUALITY ASSURANCE) – это измерение и управление качеством процесса, который используется для создания продукта 20 Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www. exactpro. com

Контроль качества, Обеспечение качества и Тестирование QA (Quality Assurance, Обеспечение качества) - Фокусируется на Контроль качества, Обеспечение качества и Тестирование QA (Quality Assurance, Обеспечение качества) - Фокусируется на предотвращении дефектов. Проверяет корректность подходов, техник методов и процессов для проекта. QA активности отслеживают и проверяют процессы, используемые при создании продукта. Это проактивная деятельность превентивного характера, направленная на поиск недостатков и слабых мест в процессах. QC (Quality Control, Контроль качества) - Фокусируется на определении дефектов. Проверяет корректность следования подходам, техникам методам и процессам выбранным для проекта. Проверяет что результаты работы удовлетворяют заявленным стандартам качества. Это реактивная деятельность, направленная на нахождение дефектов и слабых местах в продуктах. Software Testing - Выполнение проверок и регистрация результатов работы системы. 21 Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www. exactpro. com

Контроль качества, обеспечение качества, тестирование Quality assurance Quality control Цель – предотвратить дефекты Цель Контроль качества, обеспечение качества, тестирование Quality assurance Quality control Цель – предотвратить дефекты Цель – найти и определить дефекты Управление качеством Оценка качества Верификация Валидация Убедиться что мы делаем нужные вещи нужны образом Убедиться что мы получаем то что мы ожидаем Определяет стандарты и методологии Определяет соблюдение стандартов и необходимые для реализации методологий потребностей клиента Производится на протяжении всего жизненного цикла ПО 22 Производится только в рамках цикла тестирования Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www. exactpro. com

Основные этапы тестирования 1. Планирование и контроль 2. Анализ и дизайн 3. Создание и Основные этапы тестирования 1. Планирование и контроль 2. Анализ и дизайн 3. Создание и выполнение 4. Оценка критериев выхода и отчётность 5. Завершение тестирования 23 Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www. exactpro. com

1. Планирование и контроль Определение целей тестирования и обозначение тестовых активностей, чтобы достичь этих 1. Планирование и контроль Определение целей тестирования и обозначение тестовых активностей, чтобы достичь этих целей. Определение критериев выхода. Постоянное сравнение текущего прогресса с запланированным и отчетность по результатам, выполнение корректирующих действий для достижения поставленных целей. Контроль предоставляет обратную связь о прохождении тестирования. 24 Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www. exactpro. com

2. Анализ и дизайн На этом этапе общие цели тестирования расширяются до конкретно тестируемых 2. Анализ и дизайн На этом этапе общие цели тестирования расширяются до конкретно тестируемых сценариев и функций Элементы: - обзор тестового базиса(например требования, спецификации, описание архитектуры. . ) - оценка тестируемости этого тестового базиса - выбор что именно будем тестировать при каких условиях - создание и приоритезация высокоуровневых тестовых сценариев - обозначение необходимых тестовых данных, инфраструктуры и инструментов - согласование тест сценариев с тестовым базисом 25 Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www. exactpro. com

3. Создание и выполнение Создание конкретных тест кейзов и комбинирование их в определённом порядке, 3. Создание и выполнение Создание конкретных тест кейзов и комбинирование их в определённом порядке, настройка системы, выполнение тестов. Элементы: - создание тест кейзов, и расстановка приоритетов - создание тестовых процедур, создание тестовой информации, настройка инструментов - создание тестовых наборов - проверка корректности настройки окружения - проверка соответствия тест кейзов и тестового базиса - выполнение тестов и запись результатов, сравнение их с ожидаемыми результатами, анализ с елью выявления причины 26 Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www. exactpro. com

4. Оценка критериев выхода и отчётность Прогресс тестирования оценивается относительно установленных критериев выхода Элементы: 4. Оценка критериев выхода и отчётность Прогресс тестирования оценивается относительно установленных критериев выхода Элементы: - проверка результатов относительно критериев выхода - оценка, нужно ли нам больше тестов, либо мы можем изменить критерий выхода - написание финального отчета для заинтересованных сторон. 27 Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www. exactpro. com

5. Завершение тестирования Сбор информации о результатах тестирования для обобщения опыта, получения статистики и 5. Завершение тестирования Сбор информации о результатах тестирования для обобщения опыта, получения статистики и фактов. Как правило происходят во время релиза системы или завершения проекта. Элементы: - проверка что из запланированного функционала было реализовано - документирование приёмки системы - свёртывание тестового окружения и тулов для последующего использования - анализ полученных уроков чтобы определить каким образом можно улучшить последующие релизы/проекты (для QA и DEV) 28 Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www. exactpro. com

Тестирование - это не поиск ошибок: внимание на ошибках Количество найденных ошибок является видимым Тестирование - это не поиск ошибок: внимание на ошибках Количество найденных ошибок является видимым и измеримым результатом работы тестировщика, поэтому многие начинающие, и не только, поддаются соблазну искать проблемы, а не проверять функционал, поэтому: - в первую очередь тестируются самые нестабильные области(там ведь больше проблем). Но нестабильные они как правило потому что не приоритетные - игнорируются сложновоспроизводимые проблемы. Зачем возиться с непонятно возникающей ошибкой несколько часов, когда можно вместо это занести несколько попроще - проводятся самые нестандартные тесты. Потому что они с большей вероятностью вызывают проблемы. Но делается это в ущерб основным обычным сценариям. 29 Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www. exactpro. com

Тестирование - это не поиск ошибок: внимание на функционале Задача – пропустить как можно Тестирование - это не поиск ошибок: внимание на функционале Задача – пропустить как можно меньше приоритетных для пользователя ошибок. Чем меньше ошибок пропущено тем лучше сделана работа. Этот критерий врядли чётко показывает объём проделанной работы, но это и есть настоящий показатель успешного тестирования - в первую очередь тестируются самые приоритетные для пользователя области. И даже если там после первых тестов не найдено никаких ошибок, всё равно проверяются «соседние» сценарии, чтобы минимизировать риск нахождения ошибок пользователем - сложновоспроизводимые проблемы, непонимание бизнес-процессов, нехватка требований, разбираются часами, если они находятся в важном функционале. Эффективность Баг/Время понижается, зато появляется более глубокое понимание логики работы продукта - прежде всего самые стандартные сценарии, что то что необходимо работает, и только потом экзотика. 30 Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www. exactpro. com

Тестирование - это не поиск ошибок: почему поиск ошибок это плохо В краткосрочной перспективе Тестирование - это не поиск ошибок: почему поиск ошибок это плохо В краткосрочной перспективе поиск ошибок даёт быстрый и видимый результат, но: - из-за избегания серьёзных проблем и недопонимания логики работы системы, начинает расти % пропущенных дефектов - в долгосрочной перспективе получаем нахождение меньшего количества дефектов - внимание разработчиков занято на локализацию и исправление мало приоритетных проблем, до которых пользователь врядли доберётся - пропускаются очевидные и очень неприятные ошибки в базовом функционале 31 Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www. exactpro. com

Тестирование - это не поиск ошибок: несколько советов 1)Анализ продукта и документирование тестов, составление Тестирование - это не поиск ошибок: несколько советов 1)Анализ продукта и документирование тестов, составление «карты» тестирования - подробный разбор функционала и действий, их параметров и особенностей - составление тестовых наборов для каждого функционала - составление чеклистов(если функционал понят не до конца), в будущем сможете вернуться и разобраться подробней. А если ни где не отметите, то скорей всего забудется - стараться согласовывать чек листы и сценарии с разработчиками и аналитиками. Чтобы лучше понимать приоритеты и ожидаемую логику работы. 2)Оценка эффективности и анализ пропущенных проблем - анализировать пропущенные проблемы и причины пропуска - анализировать тестовое покрытие 3)Понимание пользователей и бизнес-процессов - как используется продукт - зачем он нужен, какие решает проблемы - какая средняя квалификация пользователей, в каких условиях они работают 4)Понимание технически особенностей продукта - используемые технологии, и их основные особенности - окружение в котором работает программа и его особенности(например: операционная система, браузер) 32 Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www. exactpro. com

Вопросы 33 Open Access Quality Assurance & Related Software Development for Financial Markets Tel: Вопросы 33 Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www. exactpro. com

Спасибо 34 Open Access Quality Assurance & Related Software Development for Financial Markets Tel: Спасибо 34 Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www. exactpro. com