Тестирование делится на статическое и динамическое

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

Когда говорят «тестирование», то это термин обычно употребляют применимо к динамическому тестированию.

Динамическое тестирование – это тестирование, при котором выполняется код программы. Оно делится на несколько подтипов. Например, тестирование «ящиков»: тестирование белого ящика, тестирование черного ящика, а иногда выделяют и тестирование серого ящика. Эта классификация уже относится к способам тестирования, т.е. как именно тестируют программу.

Стратегия тестирования по принципу «Белого ящика» (англ.black box) – также называемая стратегией тестирования управляемой логикой программы позволяет проверить внутреннюю структуру программы. Исходя из этой стратегии, тестировщик получает тестовые данные путем анализалогики работы программы.

Необходимо составить такое число тестов, при которых каждое условие в программе примет как истинное значение, так и ложное значение.

Тестирование белого ящика – тестирование, при котором тестировщик имеет доступ к коду. Его еще называют тестированием стеклянного ящика или тестированием прозрачного ящика. Кроме того, что тестировщик может просматривать код, он еще и сам может писать код, который использует библиотеки существующего программного продукта.

Цель этого вида тестирования в том, чтобы проверить каждую ветвь кода, каждый путь, каждый оператор, проверить сам код.

Тестирование черного ящика – тестирование, при котором тестировщик имеет доступ к программе только через интерфейс.

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

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

Цель этого способа тестирования в том, чтобы проверить расхождение поведения программы с документацией. Есть требования в документации, мы видим, как работает программа, соответственно проверяем, где неточность.

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

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

Тестирование серого ящика – находится в пограничном состоянии между белым ящиком и черным, поэтому его и называют серым. Сочетание происходит таким образом: снаружи на продукт смотрим как на черный ящик, но выбор тестов основываем на знании внутреннего устройства программы, знании ее кода. Этот метод часто используется для тестирования Web Internet приложений.

Уровни тестирования:

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

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

- Системное тестирование — тестируется интегрированная система на её соответствие требованиям.

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

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: