Самое путанное в тестировании — это уровни, методы и виды (типы) тестирования. Мало кто до конца понимает что есть что, и как их разделить. Где граница? Не помогает в этом и множество терминов и понятий, которые используются не всегда по назначению. Например, часто методы тестирования называют видами тестирования. Так как по сути стандарта в тестировании как будто бы нет с различным использованием понятий сложно спорить. Однако, есть сертификация, где эти понятия чётко разделены и методы и виды - это разные плоскости.
Итак, какие же есть методы тестирования?
Их всего 3:
•Метод чёрного ящика (black box testing).
Ещё иногда называют specification based testing (SBT) - тестирование, основанное на спецификации. Что подсказывает нам, что это тестирование по большей части пользовательских сценариев, по требованиям, когда мы не знаем, или делаем вид, что не знаем как работает программа (система) внутри. По сути слепое (поэтому и черный ящик) тестирование интерфейсов - подаём что-то на вход и смотрим что получается. Часто именно этот метод используется на системном и приёмочном уровнях тестирования, то есть финальных стадиях проверки.
•Метод белого ящика (white box testing)
Ещё его называет glass box testing, structure based testing. Это когда мы знаем из чего состоит система внутри, какие там модули, как взаимодействуют, и можем подавать сценарии, исходя из этих знаний. Часто используется на уровне модульного и интеграционного тестирования.
• Метод серого ящика (grey box testing)
Это комбинация лучших практик из обоих методов, перечисленных выше. Когда тестировщик может использовать код программы и её устройство, информацию о структуре и алгоритмах для улучшения покрытия тестов, но само тестирование проводится методом чёрного ящика.
Кстати, чаще всего именно этим методом тестировщики пользуются больше всего.