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