Като софтуерен тестер сигурно сте чували за Black Box & White Box тестване, но какви са те и каква е разликата между тях?
И двата вида тестване са жизненоважни за производството на качествен софтуер, но разликата е, че подходът към тези методи за тестване е различен.
Ето краткият отговор на този въпрос:
Тестването Black Box валидира изискванията и спецификациите, докато тестването White Box валидира кода.
Нека разгледаме по-отблизо и двете.
Какво е тестване Black Box?
Тестването с черна кутия е метод за тестване на софтуер, при който вътрешната работа (код, архитектура, дизайн и т.н.) не е известна на тестера. Тестването се фокусира върху поведението на софтуера и включва основно тест от гледна точка на външен или краен потребител. При този подход се проверява функционалността на софтуера, без да се разглежда кода или да са необходими каквито и да било познания за вътрешните потоци на приложението. Входовете и изходите се тестват чрез сравняване с очаквания изход. Ако резултатът не съвпада с очаквания резултат, открита е грешка.
Терминът Black box се използва, защото не гледаме вътре в приложението. Поради тази причина нетехническите хора често провеждат тестване на черна кутия. Видовете тестване включват функционално тестване, системно тестване, тестване за използваемост и регресионно тестване.
Какво е тестване на White Box?
При тестването с този подход, вътрешните елементи – код, архитектура, дизайн и т.н., са известни на тестера. Следователно той валидира вътрешната структура и често се фокусира върху подобряването на сигурността и правенето на потока от входове/изходи по-ефективен и оптимизиран. При този вид тестване, тестерът търси вътрешни дупки в сигурността и счупени или лошо структурирани пътеки за кодиране.
Терминът White box се отнася до наличието на видимост върху съдържанието и поради това, по-технически опитен човек провежда тестовете. Различните типове на този процес включват тестване на единици и тестване за интеграция.
Тестването чрез тези два подхода, има една и съща цел – да подобри и поддържа качеството в приложението. Въпреки това, поради различните си подходи, те изискват както технически, така и нетехнически лица. Когато комбинирате и двата метода на тестване, покритието на теста ще бъде по-широко и ще откриете повишаване на общото качество.