Какво е тестване на домейн?
Тестване на домейн е процес на тестване на софтуер, при който приложението се тества, като се дава минимален брой входове и се оценяват подходящите резултати. Основната цел на тестването на домейни е да се провери дали софтуерното приложение приема входове в приемливия диапазон и осигурява необходимия изход.
Това е техника за функционално тестване, при която изходът на системата се тества с минимален брой входове, за да се гарантира, че системата не приема невалидни и извън обхвата входни стойности. Това е един от най-важните методи за тестване на бяла кутия. Той също така проверява, че системата не трябва да приема входове, условия и индекси извън посочения или валиден диапазон.
Тестването на домейн се различава за всеки конкретен домейн, така че трябва да имате специфични знания за домейна, за да тествате софтуерна система.
В този урок ще научите -
- По-проста практика на тестване на домейн
- Стратегия за тестване на домейн
- Пример за тестване на домейн
- Структура за тестване на домейни
По-проста практика на тестване на домейн
При тестване на домейн ние разделяме домейн на поддомейни (класове на еквивалентност) и след това тестваме, използвайки стойности от всеки поддомейн. Например, ако уебсайт (домейн) е даден за тестване, ние ще го разделим на малки части (поддомейн) за по-лесно тестване.
Домейнът може да включва тестване на която и да е входна променлива или комбинация от входни променливи.
Практикуващите често изучават най-простите случаи на тестване на домейн по-малко от две други имена, „гранично тестване“ и „анализ на класа на еквивалентност“.
Гранично тестване - Анализът на гранична стойност (BVA) се основава на тестване на границите между дяловете. Ще тестваме както валидни, така и невалидни входни стойности в дяла / класовете.
Тестване на клас на еквивалентност - Идеята, която стои зад тази техника, е да се раздели (т.е. да се раздели) набор от условия за изпитване на групи или набори, които могат да се считат за еднакви (т.е. системата трябва да ги обработва еквивалентно), следователно „разделяне на еквивалентността“.
Този опростен формуляр се прилага за тестване на домейни -
- Само за тестове на входни променливи
- Само когато се тества на системно ниво
- Само когато се тестват един по един
- Само когато се тества по много повърхностен начин
Тя може да бъде опростена, както по-долу:
Променлива | Валиден клас на еквивалентност на класа | Невалиден клас на еквивалентност на класа | Граници и специални случаи | Бележки |
---|---|---|---|---|
х | 0-100 | 0 | ||
100 | ||||
<0 | -1 | |||
> 100 | 101 |
Обяснение:
- Ако дадено поле приема диапазони от 0-100, полето не трябва да приема -1 и 101, тъй като те са невалидни записи и извън границите.
- Полето трябва да приема стойности като 0,100 и произволно число между тях.
Изграждане на маса като тази (на практика)
- За да се изгради анализ на класа на еквивалентност с течение на времето, поставете информацията в електронна таблица. Започнете с изброяване на променливи. Добавете информация за тях, докато я получавате.
- Таблицата в крайна сметка трябва да съдържа всички променливи. Това означава, че всички входни променливи, всички изходни променливи и всякакви междинни променливи, които можете да наблюдавате.
- На практика повечето таблици, които съм виждал, са непълни. Най-добрите, които се виждат, изброяват всички променливи и добавят подробности за критичните променливи.
Стратегия за тестване на домейн
Докато тествате домейн, трябва да имате предвид следните неща,
- Какъв домейн тестваме?
- Как да групираме стойностите в класове?
- Кои стойности на класовете да бъдат тествани?
- Как да определите резултата?
Какъв домейн тестваме?
Всеки домейн, който тестваме, има някаква функционалност за въвеждане и изход. Ще има някои входни променливи, които трябва да бъдат въведени и съответният изход трябва да бъде проверен.
Пример за тестване на домейн
- Помислете за сценарий на един входен тест:
C = a + b, където a и b са входни променливи, а C е изходна променлива.
Тук в горния пример няма нужда от класификация или се изисква комбинация от променливите.
- Помислете за по-долу множество входове и подходящ изходен сценарий:
Помислете за изложба на игри за деца, изложени са 6 състезания и билетите трябва да бъдат дадени според възрастта и пола. Билетите са един от модулите, които ще бъдат тествани за цялостната функционалност на изложението Games.
Според сценария имаме шест сценария въз основа на възрастта и състезанията:
- Възраст> 5 и <10, момчето трябва да участва в разказването на истории.
- Възраст> 5 и <10, момичето трябва да участва в състезание по рисуване.
- Възраст> 10 и <15, момчето трябва да участва в тест.
- Възраст> 10 и <15, момичето трябва да участва в писането на есе.
- Възраст <5, както момчетата, така и момичетата трябва да участват в състезанието за рими.
- Възраст> 15, както момчетата, така и момичетата трябва да участват в състезанието за поезия.
Тук входните данни ще бъдат Възраст и Пол и следователно билетът за състезанието ще бъде издаден. В този случай се появява разделяне на входовете или просто групиране на стойности.
Как да групираме стойностите в класове?
Разделянето на някои стойности означава разделянето му на непокриващи се подмножества.
Както обсъдихме по-рано, има два вида разделяне:
- Разделяне на еквивалентност - Разделянето на еквивалентност е техника за тестване на софтуер , която разделя входните данни на софтуерна единица на дялове на еквивалентни данни, от които могат да се извлекат тестови случаи. По принцип тестовите случаи са предназначени да покриват всеки дял поне веднъж.
- Анализ на гранична стойност - Анализът на гранична стойност е техника за тестване на софтуер , при която тестовете са предназначени да включват представители на гранични стойности в диапазон. Идеята идва от границата .
За горния пример ние разделяме стойностите на подмножество или подмножество. Разделяме възрастта в следните класове:
- Клас 1: Деца с възрастова група от 5 до 10
- Клас 2: Деца с възрастова група под 5 години
- Клас 3: Деца с възрастова група от 10 до 15 години
- Клас 4: Деца с възрастова група над 15.
Кои стойности на класовете да бъдат тествани?
Стойностите, взети за тестване, трябва да бъдат Гранични стойности:
- Границите са представители на класовете на еквивалентност, от които ги вземаме. Те са по-склонни да изложат грешка от останалите членове на класа, така че са по-добри представители.
- Най-добрият представител на клас на еквивалентност е стойността между диапазона.
За горния пример имаме следните класове за тестване:
Например за сценарий # 1:
- Клас 1: Деца с възрастова група от 5 до 10 (Възраст> 5 и <= 10)
Гранични стойности:
- Стойностите трябва да бъдат равни или по-малки от 10. Следователно в този клас трябва да бъде включена възраст 10.
- Стойностите трябва да са по-големи от 5. Следователно, възраст 5 не трябва да бъде включена в този клас.
- Стойностите трябва да са равни на или по-малки от 10. Следователно 11-годишна възраст не трябва да бъде включена в този клас.
- Стойностите трябва да са по-големи от 5. Следователно в този клас трябва да се включи 6-годишна възраст.
Стойности на разделяне на еквивалентност:
Еквивалентният дял се отнася, когато човек трябва да тества само едно условие от всеки дял. В това приемаме, че ако едно условие в дял работи, тогава всички условия трябва да работят. По същия начин, ако едно условие в този дял не работи, предполагаме, че никое от другите условия няма да работи. Например,
(Възраст> 5 и <= 10)
Тъй като стойностите от 6 до 10 са валидни, трябва да се вземе една от стойностите между 6,7,8,9 и 10. Следователно избраната възраст "8" е валидна въведена възраст за възрастовата група между (Възраст> 5 и <= 10). Този дял се нарича еквивалентен дял.
Сценарий | Гранични стойности, които трябва да бъдат взети | Стойности на разделяне на еквивалентност |
---|---|---|
Момче - Възраст> 5 и <= 10 | Възрастова възраст = 6 Възрастова възраст = 5 Възрастова възраст = 11 Възрастова възраст = 10 | Въведена възраст = 8 |
Момиче - Възраст> 5 и <= 10 | Възрастова възраст = 6 Възрастова възраст = 5 Възрастова възраст = 11 Възрастова възраст = 10 | Въведена възраст = 8 |
Момче - Възраст> 10 и <= 15 | Възрастова възраст = 11 Възрастова възраст = 10 Възрастова възраст = 15 Възрастова възраст = 16 | Въведена възраст = 13 |
Момиче - Възраст> 10 и <= 15 | Възрастова възраст = 11 Възрастова възраст = 10 Възрастова възраст = 15 Възрастова възраст = 16 | Въведена възраст = 13 |
Възраст <= 5 | Възрастова възраст = 4 Възрастова възраст = 5 | Въведена възраст = 3 |
Възраст> 15 | Възрастова възраст = 15 Възрастова възраст = 16 | Въведена възраст = 25 |
Как да определим дали програмата е преминала теста или не?
Предаването на функционалността зависи не само от резултатите от горните сценарии. Дадените данни и очакваните резултати ще ни дадат резултатите и това изисква познания в областта.
Определяне на резултатите от примера:
Следователно, ако всички тестови случаи от горното преминат, домейнът за издаване на билети в състезанието преминава. Ако не, домейнът се проваля.
Структура за тестване на домейни
Обикновено тестерите следват стъпките по-долу при тестване на домейн. Те могат да бъдат персонализирани / пропуснати в съответствие с нашите тестови нужди.
- Идентифицирайте потенциално интересните променливи.
- Идентифицирайте променливата (ите), която можете да анализирате сега, и ги подредете (от най-малката до най-голямата и обратно).
- Създайте и идентифицирайте гранични стойности и стойности на клас на еквивалентност, както по-горе.
- Идентифицирайте вторичните измерения и анализирайте всеки по класически начин. (В горния пример полът е вторичното измерение).
- Идентифицирайте и тествайте променливи, които съдържат резултати (изходни променливи).
- Оценете как програмата използва стойността на тази променлива.
- Идентифицирайте допълнителни потенциално свързани променливи за тестване на комбинации.
- Представете си рисковете, които не е задължително да се очертаят в очевидно измерение.
- Идентифицирайте и избройте неанализирани променливи. Съберете информация за по-късен анализ.
- Обобщете анализа си с таблица риск / еквивалентност.
Резюме:
Тестването на домейн, както е описано по-горе, изисква знания за осигуряване на правилен вход за постигане на желания резултат. По този начин е възможно да се използва само за малки парчета код.