По степени важности тестируемыхфункиций



● Дымовое тестирование

● Тестирование критического пути

● Расширенное тестирование

Дымовое тестирование означает минимальный набор тестов на явные ошибки. Успешное прохождение дымового тестирования говорит о том, что ПО можно тестировать более глубоко и основательно, если ПО не прошло дымовое тестирование, то проводить глубокое тестирование не имеет смысла. Первое своё применение этот термин получил у печников, которые, собрав печь, закрывали все заглушки, затапливали её и смотрели, чтобы дым шёл только из положенных мест.

Тестирование критического пути - это тестирование функциональности, используемой пользователями в типичной повседневной деятельности, наиболее часто используемые функции ПО.

По принципам работы с приложением

● Позитивное тестирование

● Негативное тестирование

При позитивном тестировании проверяются функции ПО строго по требованиям, по инструкциям, только с допустимыми действиями и корректными данными. Например, позитивным тестом для тестирования функции квадратного корня является ввод числа “4” и получения результата “+2” или “-2” или в поле “Возраст” ввести значение “18”.

Негативное тестирование - это проверка поведения ПО при вводе некорректных данных, то что не предусмотрено требованиями или типом данных и т.д. Например, при вычислении квадратного корня ввести значение “FFA04” - это число в 16-ричной системе счисления, как на него отреагирует калькулятор или корень из символов “!№@”. Ожидаемым результатом при таком тесте является либо число в 16-ричном формате, или ошибка, что введённое значение не число. Негативное тестирование проверяет, что приложение не выдаёт странных ошибок или не падает, когда к нему на вход подают что-то необычное. 

По цели тестирования

● Функциональное виды тестирования

● Нефункциональные виды тестирования

● Связанные с измениями в коде

Функциональное виды тестирования проверяет правильно ли выполняет ПО функции описанные в требованиях, а также взаимодействие с другими системами. К функциональному виду тестирования отсносятся модульное, интеграционное и системное тестирование.

К функциональным видам тестирования относят:

Функциональное тестирование. Тестирование основанное на функциях, выполняемых системой. Например калькулятор выполняет арифметические операции.

Тестирование безопасности - проверка ПОна безопасность системы, правильного ограничения возможностей пользователей, защита от атак хакером. Например, что только админимстратор в системе может выдавать права и заводить новых пользователе_ или проверка на наличие уязвимостей XSS, когда на странице пользовательского интерфейча можно выполнять вредоносные скрипты.

Тестирование взаимодействия. Проверка взаимодействия ПО с различными внешними компонентами и системами. Например, проверка, что можно использовать сервис авторизации Вконткте, для регистрации на сторонних сайтах.

Нефункциональное тестирование описывает тесты, необходимые для определения характеристик программного обеспечения, которые могут быть измерены различными величинами. В целом это тестирование того “Как” система работает.

Основные виды нефункционального тестирования:

Нагрузочное тестирование. Тестирование, которое проводится для определения того, как быстро работает ПО под определённой нагрузкой. Например, при тестировании производительности анализируют изменение времени отклика ПОпри определённом количестве одновременно работающих пользователей.

Стресс-тестирование. Тестирование, которое позволяет проверить насколько приложение и система в целом работоспособны в условиях стресса и также оценить способность к регенерации, т. е. к возвращению к нормальному состоянию после прекращения воздействия стресса. Стресс, в данном контексте, может означать повышение интенсивности выполнения операций до очень высоких значений.

Тестирование стабильности и надёжности. Задачей тестирования стабильности

(надёжности) является проверка работоспособности приложения при длительном

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

Объёмное тестирование. Задачей объёмного тестирования является получение оценки производительности при увеличении объёмов данных в базе данных приложения, при этом происходит измерение времени выполнения выбранных операций и измерение количества пользователей, одновременно работающих с приложением.

Инсталляционное тестирование. Тестирование установки ПО, направлено на проверку успешной инсталляции и настройки, а также обновления и удаления ПО.

Юзабилити-тестирование - это метод тестирования, направленный на установление степени удобства использования, обучаемости, понятности и привлекательности для пользователей разрабатываемого ПО в контексте заданных условий.

Тестирование на отказ и восстановление. Тестирование, которое проверяет ПОс точки зрения способности противостоять и успешно восстанавливаться после возможных сбоев, возникших в связи с ошибками программного обеспечения, отказами оборудования или проблемами связи (например, отказ сети). Целью данного вида тестирования является проверка систем восстановления (или дублирующих основной функционал систем), которые, в случае возникновения сбоев, обеспечат сохранность и целостность данных тестируемого продукта. Тестирование на отказ и восстановление очень важно для систем, работающих по принципу “24x7”.

Конфигурационное тестирование. Специальный вид тестирования, направленный на проверку работы программного обеспечения при различных конфигурациях системы (заявленных платформах, поддерживаемых драйверах, при различных конфигурациях компьютеров и т. д.)

Тестирование производительности ПО (нагрузочное, объёмное, стресс-тестирование) проводится с помощью специальных инструментов, которые имитируют работу пользователей, например, Jmeter.

После проведения необходимых изменений, таких как исправление бага/дефекта, программное обеспечение должно быть протестировано заново для подтверждения того факта, что проблема была действительно решена. Ниже перечислены виды тестирования, которые необходимо проводить после установки программного обеспечения, для подтверждения работоспособности приложения или правильности осуществлённого исправления дефекта:

Дымовое тестирование (рассматривали выше).

Регрессионное тестирование - это вид тестирования, направленный на проверку изменений, сделанных в приложении или окружающей среде (починка дефекта, слияние кода, миграция на другую операционную систему, базу данных, веб-сервер или сервер приложения), для подтверждения того факта, что существующая ранее функциональность работает, как и прежде. Регрессионными могут быть как функциональные, так и нефункциональные тесты. Как правило, для регрессионного тестирования используются тест кейсы, написанные на ранних стадиях разработки и тестирования. Это даёт гарантию того, что изменения в новой версии приложения не повредили уже существующую функциональность.

Тестирование сборки. Тестирование, направленное на определение соответствия, выпущенной версии, критериям качества для начала тестирования. По своим целям является аналогом Дымового Тестирования, направленного на приёмку новой версии в дальнейшее тестирование или эксплуатацию. Вглубь оно может проникать дальше, в зависимости от требований к качеству выпущенной версии.

Санитарное тестирование - это узконаправленное тестирование достаточное для доказательства того, что конкретная функция работает согласно заявленным в спецификации требованиям. Является подмножеством регрессионного тестирования. Используется для определения работоспособности определённой части приложения после изменений произведённых в ней или окружающей среде. Обычно выполняется вручную.


Дата добавления: 2018-08-06; просмотров: 2263; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!