В практике тестирования предусмотрено три фундаментальных метода – техники серого, чёрного и белого ящиков. Каждый подход рассматривает процесс проверки программного обеспечения с разной точки зрения. Поэтому они всегда используются в совокупности, но не по отдельности. Согласно профессиональной терминологии, понятия «whitebox-тестирование» и «blackbox-тестирование» соотнесены с тем, есть ли у QA-специалиста доступ к исходному программному коду.
В чём состоит суть тестирования чёрного ящика?
Классификация видов тестирования проводится по разнородным критериям. И одна из них – разделение по доступу.
Тестирование методом чёрного ящика является базовой техникой проверки цифрового продукта, при которой QA-специалисту недоступна и неизвестна его внутренняя структура. Основной целью процедуры является последовательное исследование того, соответствует ли поведение программы имеющимся требованиям. Также производится проверка работоспособности продукта в критических ситуациях (в идеале их всевозможные вариации прописаны в требованиях), т. е. при вводе ошибочных входных данных.
Подборка тестовых случаев происходит без отсылок на внутреннее устройство проверяемой системы, т. е. с позиции внешнего мира. QA-специалист вводит разнообразные данные и анализирует выдаваемый результат, но не знает, каким образом функционирует программа.
Где используется метод чёрного ящика?
Сфера реализации рассматриваемой стратегии обширна. Так, метод чёрного ящиканаходит применение в следующих видах тестирования:
- Интеграционное. Тестировщик проверяет корректность всех элементов цифрового продукта как единой системы.
- Функциональное. Проверка того, все ли заявленные функции программы выполняются должным образом.
- Beta-тестирование. Это «обкатка» практически готового продукта всеми желающими.
- Стресс-тестирование. Под ним понимается намеренная перегрузка программы, проверка «на прочность».
- Приёмочное. Проверенный QA-специалистами продукт отправляется заказчику. Он выполняет приёмочные тесты, набор которых определяет самостоятельно.
- Юзабилити. Происходит тестирование продукта с точки зрения удобства его применения.
- Регрессионное. Этот вид проверки происходит в течение всего периода разработки. Его цель – понять, не приводит ли новый код к ошибкам в предыдущем функционале.
Какие виды тестирования могут проводиться методом чёрного ящика?
Посредством blackbox-стратегии тестировщик проводит сразу несколько видов проверки. Среди них – эквивалентная разбивка, сценарная техника, аналитика граничных величин. Рассмотрим их подробнее.
Техника эквивалентной разбивки предполагает разделение всех имеющихся значений на два раздела – «разрешённые» и «недопустимые». После этого производится выбор репрезентативных величин, которые выступят в качестве исходных данных. Эта техника направлена на сокращение числа тестовых случаев.
Следующий вид проверки, проводимый blackbox-методикой, заключен в анализе граничных значений. Её суть состоит в определении рамок для всех входных значений и последующий выбор подходящих данных.
Ещё одним видом является методика Use Case Testing. Эта техника применяется QA-специалистом при написании тестов, предназначенных для пользовательского сценария.
Отличия техник белого и чёрного ящиков
Главным отличием двух техник, как уже было замечено, является наличие доступа к коду. При реализации методики чёрного ящика тестировщик не знает ничего о внутренней структуре продукта. А при использовании whitebox-стратегии, наоборот, QA-специалисту доступны все элементы его структуры.
Отличаются и цели тестирования. Техника чёрного ящика направлена на изучение поведения обеспечения, тогда как белого – на исследование внутренней функциональности.
Кроме того, «чёрное» тестирование предоставляет минимально детализированные отчёты, «белое» – полноценные, досконально конкретизированные. Соответственно, отличается и время проведения процедуры. В первом случае она завершается быстрее.
Преимущества методики
Как и другие практикуемые тестирование методы ящиков, blackbox-стратегия имеет ряд положительных сторон. Среди них:
- Возможность обнаружить те ошибки, которые нельзя определить методикой «белого ящика». Например, разработчик не добавил в продукт ту или иную функцию. С позиции исходного кода программа работает безукоризненно. Однако со стороны спецификации это является критическим багом.
- Проверка происходит с позиции конечного пользователя. Это позволяет достичь того уровня комфорта, который сполна удовлетворит потребителя.
- Стратегия чёрного ящика помогает обнаружить ошибки, допущенные в спецификациях.
- Тестировщику не требуется какая-либо дополнительная квалификация для использования методики.
- Писать кейсы можно сразу же после того, как подготовлена спецификация. Это заметно уменьшает количество времени, затрачиваемое на проверку.
Недостатки тестирования методом чёрного ящика
Рассматриваемая стратегия не лишена и нескольких технических недостатков.
Самым главным недочётом этой методики является возможный пропуск переходов, присутствующих при реализации программного кода, но и не являются явными из спецификации. Поэтому тестировщики дополнительно используют стратегию белого ящика.
Ещё одним недостатком методики является ограничение числа проверяемых входных значений. Тестировщик работает только с малым количеством вводных данных. Множество вариантов остаётся без проверки.
Следующий недостаток связан с документальным сопровождением процесса. Если отсутствует чёткая и полноценная спецификация, писать тест-кейсы и сценарии достаточно трудно.
Заключение
Техника чёрного ящика – действенный и результативный, но имеющий ограничения в применении метод. Стратегия позволяет QA-специалисту быть уверенным в том, что тестируемая программа работает слаженно и надёжно. Но с его помощью не всегда возможно обнаружить все ошибки, присутствующие в продукте. В первую очередь это касается проблем, связанных с исходным кодом программы.
Последовательно освоить новую специальность и овладеть методикой чёрного ящика помогут курсы по тестированию программного обеспечения от центра QA Academy.