Ключова разлика : тестът за бяла кутия е техника за тестване на софтуера, където вътрешната работа на приложението, което ще се тества, е позната и взета под внимание от тестера. Black-box тестването е техника за тестване на софтуера, където приложението на програмата, която ще се тества, не е известно на изпитващия или не е взето под внимание.
Тестването на черната кутия е стратегия за тестване единствено въз основа на изисквания и спецификации. Тя не изисква познания за вътрешните пътища, структури или внедряване на софтуера на приложенията, които се тестват. Тази стратегия обаче свежда до минимум подхода на теста за намиране на грешки или дефекти в програмата за тестване. Също така, дефектите не се коригират поради липсата на вътрешни познания за приложението на тестера.
Тестването на черната кутия се извършва на външно ниво на системата; той просто проверява дали изходът е правилен за дадения вход. Функциите на приложението се проверяват и тестват. Също така, не са необходими потребителски познания за вътрешния поток или дизайн на системата, тъй като те просто тестват системата, без никаква информация за това как се прави системата.
White-box тестването е стратегия за тестване, базирана на вътрешни пътеки, кодови структури и реализация на тествания софтуер. Това обикновено изисква подробни умения за програмиране. Тази стратегия помага за бързо намиране на грешки и дефекти в сравнение с други методи. Той дава пълно покритие на тестовете, като осигурява точно какво да тества в приложение.
Тестът за бяла кутия включва задълбочено тестване на приложението. Обикновено това включва проверка с потока от данни, изключения и грешки. Той също така проверява обработката на дефектите и сравнява резултатите с писмения код. Тя се отнася до екип или система за изпитване с пълни познания, както и до всички изходни кодове и други архитектурни документи. Те тестват вътрешните логики и приложенията на кода.
Сравнение между White-box и Black-box Testing:
Бяло тестване | Тестване с черна кутия | |
дефиниция | Това е метод за тестване на софтуера, при който вътрешната структура, дизайна и изпълнението на програмата са известни на тестера. | Това е метод за тестване на софтуера, при който вътрешната структура, проектирането и изпълнението на програмата не са известни на тестера. |
Тествано от | Това се прави от разработчиците на софтуер. | Това се прави от професионален екип за тестване. |
Кодиране на знания | Това изисква познаване на вътрешното кодиране. | Това не изисква познаване на вътрешното кодиране. |
загриженост | Той се занимава с тестване на изпълнението на програмата. | Тя не се отнася до структурата на програмата. |
Тестване | Той се прилага главно за по-ниско ниво на тестване, като:
| Той се прилага главно за по-високо ниво на тестване, като:
|
знание | За тестване са необходими познания по прилагането. | Знанията по прилагането не са необходими за тестване. |
Тестова основа | Тестовите случаи се основават на детайлен дизайн. | Тестовите случаи се основават на необходимите спецификации. |
път | Това отнема време и е изчерпателно. | Тя е по-малко време и изчерпателна. |
Тест за алгоритъм | Той е подходящ за тестване на алгоритми. | Той не е подходящ за тестване на алгоритми. |
Метод на изпитване | Областта на данните и вътрешните граници са по-добре тествани. | Това може да се направи само чрез метод на проба и грешка. |
Предимства |
|
|
Недостатъци |
|
|