Тестването без изисквания, може да бъде трудно. Незнанието какво се изисква от софтуера, крие рискове какво и как да тествате. В крайна сметка, може ли да проверите нещо, ако не знаете как трябва то да работи всъщност? За съжаление важността на изискванията често се пренебрегва.
Спецификациите на софтуерните изисквания (SRS) са основен момент в разработката на софтуер. Те стимулират дизайна, разработката, потребителското изживяване, поддържащата документация и др. И все пак, толкова често … те не съществуват. Или?
Значението на изискванията
Истината е, че изисквания винаги има, но те често остават недокументирани. Всеки софтуер има цел, следователно всеки софтуер има изисквания, но когато не са документирани, тестерите са оставени да ги намерят сами.
Това означава тестерът да си сложи детекторната шапка и да пресее всички съществуващи улики и информация, за да определи как точно трябва да работи софтуерното приложение. Някои от тези улики може да са предишни версии на продукта или други помощни документи. Още улики може да са дискусии със заинтересовани страни и собственици на продукти, но така или иначе – ще отнеме време.
Рискът при недокументирани изисквания
Въпреки, че тестването може да се извърши и без изисквания, съществува риск за обхвата на проверките и коства допълнителни ресурси тези рискове да бъдат поети, и накрая да имаме работещ продукт. Значението на изискванията наистина обхваща целия екип. Без никакви документирани описания, се правят много „предположения“ по време на фазата на разработка, като така разработчиците и дизайнерите имат основание да твърдят, че лошо функциониращият софтуер накрая, е такъв „по дизайн“, и като цяло нещата могат сериозно да се изплъзнат през пукнатините.
Нека разгледаме по-отблизо някои от нещата, които могат да се случат, когато изискванията не са документирани.
Без изисквания тестерите не знаят какво да тестват
Тестерите трябва да правят предположения и да отделят време за определяне или търсене на скрити изисквания сами. Това значително увеличава общото време и разходите по процеса на тестване.
Разработчиците не знаят какво се счита за „завършено“
Достатъчно добро ли е, ако „изтриване“ просто изтрива? Или функционалността за изтриване трябва да покаже потвърждение? Трябва ли да изпрати известие по имейл? Трябва ли всички потребители да могат да извършват действие за изтриване? Без изисквания, тези решения ще бъдат взети някъде между другото по линията, и можем само да се надяваме, че ще ги е взел правилният човек, и че е взет предвид и потребителя.
Клиентите не знаят какво да очакват
Софтуерните изисквания установяват споразумението между Вашия екип и клиента, относно това какво трябва да прави приложението. Без описание какви функции ще бъдат включени и подробности за това как ще работят, потребителите не могат да определят дали софтуерът ще отговори на техните нужди.
Бъговете могат да се промъкнат през пропуските
Не е необичайно грешките да се допускат поради неясни изисквания или неразбиране за тях. Уверете се от самото начало, че Вашите изисквания са правилни, пълни и съобщени ясно.
Изискванията не винаги трябва да представляват изключително подробни документи, но трябва все пак да съществуват под някаква форма.
Да отделите време предварително за документиране на изискванията, ще спести на Вас и Вашия екип време по-нататък.