Teoria_testirovania

Содержание

Слайд 2

Основные понятия тестирования [1]

Тестирование – процесс проверки разрабатываемого продукта на соответствие требованиям

Основные понятия тестирования [1] Тестирование – процесс проверки разрабатываемого продукта на соответствие
спецификации. Продуктом может являться оборудование, программное обеспечение (ПО), электрические схемы и т.д.
Спецификация – документ, который точно определяет все требования к продукту, описывает его состав и выполняемые функции. Содержит исчерпывающую информацию о разрабатываемом продукте.
Тест – искусственно созданная ситуация, которая позволяет проверить соответствие продукта одному конкретному требованию из спецификации.
Дефект (баг) – несоответствие результата выполнения теста ожидаемому результату, который определен в спецификации.

Слайд 3

Цель тестирования

Целью процесса тестирования является контроль качества разрабатываемого продукта путем выявления неисправностей

Цель тестирования Целью процесса тестирования является контроль качества разрабатываемого продукта путем выявления
на этапе разработки.
Гораздо выгоднее для предприятия выявить и исправить все дефекты продукта на этапе разработки, чем принимать жалобы от клиентов из эксплуатации.
Главная задача тестировщиков (по мнению руководства предприятия): найти баг до того, как это сделают клиенты.
Главная задача тестировщика (по мнению тестировщиков): не найти как можно больше багов, а как можно меньше пропустить.

Слайд 4

Схема процесса тестирования

Важно: каждый проведенный тест строго документируется вне зависимости от полученного

Схема процесса тестирования Важно: каждый проведенный тест строго документируется вне зависимости от полученного результата.
результата.

Слайд 5

Основные понятия тестирования [2]

Тестовый случай (Test case) – это подробное описание моделируемой

Основные понятия тестирования [2] Тестовый случай (Test case) – это подробное описание
ситуации (теста) для проверки конкретного положения спецификации. То есть, тестовый случай представляет собой сценарий проведения теста, в котором указываются:
объект тестирования – продукт, подлежащий тестированию;
средства тестирования – набор инструментов, при помощи которых осуществляется тестирование продукта;
начальные условия – список действий, которые необходимо выполнить перед началом тестирования;
алгоритм тестирования – список действий, которые нужно последовательно выполнить в процессе тестирования;
ожидаемый результат – результат выполнения теста согласно спецификации.
Замечание: тест кейсы разрабатываются инженерами-тестировщиками на основе спецификации по продукту.
Обычно каждому тестовому случаю дополнительно ставят в соответствие:
идентификатор – метка, однозначно идентифицирующая тест;
приоритет – число от 1 до 5, указывающее приоритетность теста. Обычно используется следующая градация: 1 – наивысший приоритет, 5 – наименьший приоритет.

Слайд 6

Основные понятия тестирования [3]

Все тестовые случаи, описывающие процесс тестирования какого-то отдельного функционала

Основные понятия тестирования [3] Все тестовые случаи, описывающие процесс тестирования какого-то отдельного
продукта, объединяются в тестовый комплект (Test case suite). То есть, тестовый комплект – это отдельная группа тестовых случаев. Тестовый комплект может содержать следующую информацию:
название тестового комплекта;
разработчик(-и) тестового комплекта;
приоритет тестового комплекта;
указатель на спецификацию;
список тестовых случаев комплекта.
Примечание: формат тестовой документации не является строго регламентированным, каждое предприятие может формировать отчетность по своему. Но, как правило, предприятия стараются придерживаться единого рекомендованного формата.

Слайд 7

Роль тестирования в производстве

Роль тестирования в производстве

Слайд 8

Основные понятия тестирования [4]

Quality Control (QC) – контроль качества продукта на этапе

Основные понятия тестирования [4] Quality Control (QC) – контроль качества продукта на
его разработки. Инструменты контроля качества:
анализ спецификации на наличие ошибок и противоречий;
тестирование.
Примечание: тестирование является основным инструментом контроля качества, поэтому зачастую понятия контроля качества и тестирования отождествляют.
Quality Assurance (QA) – обеспечение качества продукта на всех технологических этапах: разработка, выпуск, эксплуатация. То есть QA – это менеджмент, который решает задачу: как правильно составить спецификацию, организовать тестирование, наладить выпуск и поддержку продукции, чтобы обеспечить должный уровень качества продукции.
Примечание: QC является одним из инструментов QA.

Слайд 9

Классификация видов тестирования

Классификацию видов тестирования проводят по множеству различных признаков, но, как

Классификация видов тестирования Классификацию видов тестирования проводят по множеству различных признаков, но,
правило, классификацию осуществляют по следующим основным признакам:
по объекту тестирования;
по степени изолированности;
по времени проведения тестирования;
по степени автоматизации.
У каждого класса тестирования есть свои виды тестирования, определяющие подход и методологию тестирования.

Слайд 10

Виды тестирования по объекту тестирования [1]

1) Функциональное тестирование – это тестирование, позволяющее

Виды тестирования по объекту тестирования [1] 1) Функциональное тестирование – это тестирование,
проверить реализацию конкретных функций тестируемого объекта. То есть, это проверка работы конкретных функций продукта, не связанных с его производительностью.
Схема проведения функционального тестирования:
Каждой проверяемой функции соответствует определенный Test Case, описывающий алгоритм проверки данной функции. По Test Case проводится тест, результат которого сравнивается с ожидаемым.
Пример:
На коммутаторе настраивается функция отправки SNMP Trap на сервер мониторинга. Если в случае возникновения на коммутаторе непредвиденной ситуации он не пошлет на менеджер SNMP Trap, следовательно имеет место дефект (баг).

Слайд 11

Виды тестирования по объекту тестирования [2]

2) Нагрузочное тестирование – это тестирование, которое

Виды тестирования по объекту тестирования [2] 2) Нагрузочное тестирование – это тестирование,
проводится с целью проверки работы устройства в условиях долговременной высокой нагрузки. Нагрузку, как правило, измеряют в количестве запросов в секунду.
Схема проведения нагрузочного тестирования:
На объект дают нагрузку определенной величины. Ведется мониторинг качества работы объекта, снимаются ключевые показатели работы объекта (например, время отклика на запрос, расход памяти). В ходе теста величину нагрузки увеличивают или понижают.
Важно: величина подаваемой на объект нагрузки не должна превышать предельно допустимую. То есть тестируются нормальные нагрузочные сценарии. Предполагается, что объект должен демонстрировать требуемое качество работы на этих сценариях.
Пример:
В ходе теста эмулируют пользовательский трафик, которым нагружают коммутатор для проверки качества его работы. Это позволяет достаточно эффективно выявлять утечки памяти.

Слайд 12

Виды тестирования по объекту тестирования [3]

3) Стрессовое тестирование – это тестирование, которое

Виды тестирования по объекту тестирования [3] 3) Стрессовое тестирование – это тестирование,
позволяет оценить надежность и устойчивость системы в условиях превышения предельного уровня нагрузки. Такой метод, в том числе, позволяет выявить предельный уровень нагрузки, на котором тестируемый объект способен работать с требуемым уровнем качества.
Схема проведения стрессового тестирования:
На тестируемый объект подают аномально высокую нагрузку. В ходе теста снимаются ключевые показатели качества работы объекта, осуществляется мониторинг его состояния.
Важно: главное требование к работе объекта в условиях аномальной нагрузки – не выйти из строя.
Пример:
В ходе теста эмулируют пользовательский трафик, которым нагружают коммутатор. Нагрузку постепенно увеличивают до того момента, когда коммутатор перестанет демонстрировать требуемое качество работы. Так определяется предел нагрузки системы.

Слайд 13

Виды тестирования по объекту тестирования [4]

4) Регрессионное тестирование – это тестирование объекта

Виды тестирования по объекту тестирования [4] 4) Регрессионное тестирование – это тестирование
с целью проверки его старого функционала, который мог быть затронут при добавлении новых функций.
Схема проведения регрессионного тестирования:
Тестируемый объект, в функционал которого внесли определенные правки или нововведения, проходит проверку: не повлияло ли введение новых функций на работу старых.
Пример:
В программную прошивку коммутатора добавлен функционал SNMPv3. При тестировании осуществляется повторная проверка всего функционала SNMP.

Слайд 14

Виды тестирования по объекту тестирования [5]

5) Тестирование безопасности – это тестирование, которое

Виды тестирования по объекту тестирования [5] 5) Тестирование безопасности – это тестирование,
проводится с целью выявления уязвимостей объекта к различного рода атакам.
Схема проведения тестирования безопасности:
На тестируемом объекте настраиваются механизмы защиты. Затем объект подвергается различным атакам. В ходе теста оценивается реакция объекта на угрозы и успешность защиты от атак.
Пример:
На коммутаторе настраивается пароль доступа к web-интерфейсу. Требуется проверить, что доступ к конфигурации через web-интерфейс может иметь только авторизованный пользователь.

Слайд 15

Виды тестирования по объекту тестирования [6]

6) Проверка эргономичности – вид тестирования, в

Виды тестирования по объекту тестирования [6] 6) Проверка эргономичности – вид тестирования,
ходе которого определяется насколько удобен объект при его эксплуатации.
Схема проверки на эргономичность:
Проверка на эргономичность, как правило, отдается пользователям в эксплуатации. На основе отзывов могут делаться различные правки с целью улучшения удобства пользования объектом.
Пример:
Проверка удобства настройки коммутатора через web-интерфейс. Все должно быть логично и интуитивно понятно.

Слайд 16

Виды тестирования по объекту тестирования [7]

7) Тестирование локализации – вид тестирования, позволяющий

Виды тестирования по объекту тестирования [7] 7) Тестирование локализации – вид тестирования,
проверить насколько хорошо продукт адаптирован для определенной целевой аудитории.
Тестирование локализации рассматривает культурный и языковой аспекты, в частности, перевод пользовательского интерфейса, соответствующей документации и файлов на другой язык, а также форматы валют, чисел, времени и телефонных номеров, и др.
Пример:
Проверка англоязычной локализации web-интерфейса коммутатора на наличие ошибок перевода.

Слайд 17

Виды тестирования по степени изолированности

Модульное тестирование – вид тестирования, направленный на проверку

Виды тестирования по степени изолированности Модульное тестирование – вид тестирования, направленный на
работы определенного модуля объекта (единицы состава продукта) в изоляции от всех остальных модулей. Модулем может являться элемент электрической схемы, набор функций программы и т.д. Модульное тестирование осуществляется на этапе разработки продукта.
Пример: тестирование модуля SNMP системы EMS.
Интеграционное тестирование – вид тестирования, направленный на проверку взаимодействия различных модулей продукта между собой. Тестируются интерфейсы модулей, качество взаимодействия и надежность совместной работы. Осуществляется на этапе разработки продукта.
Пример: тестирование взаимодействия одного или нескольких модулей с ядром EMS.
Системное тестирование – вид тестирования, направленный на проверку качества работы всей системы в целом (всего комплекса модулей) на соответствие требованиям спецификации. Проводится непосредственно QC-инженерами.
Пример: тестирование всего комплекса EMS.

Слайд 18

Методы тестирования по времени проведения тестирования

Альфа-тестирование – этап отладки и проверки работы

Методы тестирования по времени проведения тестирования Альфа-тестирование – этап отладки и проверки
тестового образца продукта на этапе разработки. Альфа-тестированием занимаются квалифицированные специалисты, которые проверяют соответствие продукта требованиям спецификации. Тестовый образец в данном случае называют альфа-версией продукта.
По окончании работы с альфа-версией продукта выпускается его бета-версия (отлаженный рабочий образец продукта, который отдается на тестирование в эксплуатацию).
Бета-тестирование – этап проверки работы бета-версии тестового образца продукта при его непосредственной эксплуатации пользователями. Это позволяет протестировать работу образца в реальных “боевых” условиях, выявить пропущенные альфа-тестировщиками неисправности.
По окончании периода бета-тестирования готовится релизная версия продукта с целью выпуска в производство.