По доступу к коду и архитектуре приложения



● Метод белого ящика

● Метод чёрного ящика

● Метод серого ящика

Что такое тестирование “чёрного ящика” — это стратегия или метод тестирования, базируется только на тестировании по функциональной спецификации и требованиям, при этом не смотря во внутреннюю структуру кода и без доступа к базе данных. Фактически мы знаем какой должен быть результат при определённом наборе данных, которые подаются на вход. Результат проверяем с интерфейса на уровне простого пользователя. На данный момент такая стратегия является наиболее часто применима в IT-компаниях.

Чуть меньшее количество тестировщиков используют стратегиею “серого ящика”, который подразумевает частичный доступ, например, к структуре баз данных.

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

Юнит-тестирование, проводимое, как правило, разработчиками продукта, является примером whitebox тестирования.

По степени автоматизации

● Ручное тестирование

● Автоматизированное тестирование

Ручное тестирование – это процесс поиска дефектов в работе программы, когда тестировщик проверяет работоспособность всех компонентов программы, как если бы он был пользователем. Для проведения тестирования тестировщики используют заранее заготовленные планы тестирования и тесты на основе требований к ПО.

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

Автоматизированное тестирование бывает на разном уровне, часто разработчики автоматизируют тесты для проверки своих модулей или связи между модулями. Широкую популярность набрали автоматизированные тесты пользовательского интерфейса, которые эмулируют поведение пользователя, т.е. Передвигают указатель мышки по экрану, нажимают на кнопки, пишут тексты и.т.д.

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

Не стоит бросаться автоматизировать любой проект, но и исключать пользу автоматизированного тестирования нельзя.

По уровню детализации приложения

● Модульное тестирование

● Интеграционное тестирование

● Системное тестирование

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

Интеграционное тестирование предназначено для проверки связи между модулями ПО, а также взаимодействия с различными частями системы (операционной системой, оборудованием, взаимосвязи между различными системами).

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


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

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






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