вторник, 26 марта 2013 г.

Black-box, white-box, static, dynamic...

Хочу дать несколько определений видов тестирования, которые мы так или иначе постоянно используем в работе. Определения взяты из книжки Software Testing (Ron Pattorn).

Black-box testing и white-box testing - тестирование методом черного ящика и тестирование методом белого ящика.



Black-box testing, тестирование методом черного ящика - это когда тестировщик знает только то, что приложение должно делать. Но при этом он не может заглянуть внутрь ящика и посмотреть, как происходит преобразование исходных значений в итоговые.

White-box testing, тестирование методом белого ящика - это когда тестировщик имеет доступ к исходному коду приложения и может исследовать его для получения подсказок, как следует тестировать, какие значения вводить. Он может заглянуть внутрь белого ящика и посмотреть, как происходит преобразование исходных значений в итоговые.

Static и dynamic testing - статичное и динамическое тестирование.

Static testing, статичное тестирование - тестирование чего-то. что не запущено (not running), исследование и ревью.

Dynamic testing, динамическое тестирование - тестирование, как его обычно и понимают - запуск приложения и работа с ним.

Ну а теперь группируем!

Static black-box testing - тестирование спецификации, требований. Требования - это документ, а не работающее приложение, поэтому подходит под определение "статическое".

Dynamic black-box testing - тестирование приложения без погружения внутрь кода. Также называется поведенческим, так как в данном случае мы тестируем поведения программы и определяем его корректность (в большинстве случает по ТЗ).

Static white-box testing - процесс тщательного и методичного ревью архитектуры приложения, его кода на предмет обнаружения багов. Ревью проводится без запуска кода, поэтому оно - статичное.

Dynamic white-box testing - использование информации, полученной при изучении кода и принципа его работы для составления тестов. Динамическим оно называется потому, что программа запущена. В частности, мы можем использовать debug - режим для понимания того, как работает приложение. 

6 комментариев:

  1. У вас очепятка в заголовке поста ;)

    ОтветитьУдалить
    Ответы
    1. Да что ж такое то, почему меня всегда тянет написать dynamic через i...
      Спасибо, fixed! ))

      Удалить
    2. Есть болельщики Динамо в семье? :)

      Удалить
    3. Нет, наверное, поэтому я не совсем поняла логику :)

      Удалить
  2. Опечатки в тексте: "Также называется поведенческим, так как в данном случае мы тестируем поведения программы и определяем его корректность (в больгинстве случает по ТЗ)".
    Правильно будет: "Также называется поведенческим, так как в данном случае мы тестируем поведение программы и определяем его корректность (в большинстве случаев по ТЗ)"

    ОтветитьУдалить
    Ответы
    1. Спасибо! Хотя баг описан так, что надо сравнивать две строки и гадать, какая именно буква в них не совпадает, это стоит улучшать :)

      Удалить