|
Защо е важно тестване на софтуерни продукти? Бихте желали да продадете повече копия от вашия софтуерен продукт, а може би имате нова версия на продукта, с изключително полезни нови възможности и цената на ъпгрейта не е висока, но въпреки това старите ви клиенти не се решават да закупят вашия чудесен нов продукт и вие разбира се не сте щастлив. Къде е една от причините за мълчанието на клиентите? Ще споделя с вас мнението на моя позната, която е в процес на "ухажване" от фирмата, разработила финансовия софтуер за нейния бизнес. Няколко пъти е получавала оферта от производителя да закупи новата версия на продукта. Нейният коментар беше: "Толкова проблеми имахме с внедряването на сегашната версия. За да съм сигурна в нормалната работа на новият продукт, трябва поне 6 месеца да работя паралелно и на двете версии. А двоината работа е скъпа за моята фирма". В нейните думи имаше известна истина. При първата версия на финансовия софтуер, нейната фирма е била включена в етапа на тестване на продукта без самата тя да подозира. Защо откриваме грешките и проблемите в крайния продукт едва когато е при клиента? Разработването на един софтуерен продукт се извършва с участието на различни специалисти. Преминава се през различни фази на развитието, от концепцията и изискванията, през писането на кода и внедряването. Много често хората от екипа знаят каква е тяхната задача и извършват добър контрол на собствената си работа, но имат малка представа каква е задачата на колегите им и никой не проверява как работи системата в цялост. Какво се случва в САЩ през 1996 година? През първите години
от развитието на софтуерната индустрия основната задача е била да се произвеждат
продукти, а за качеството се е мислило със закъснение. В резултат на това
се е появил труден за използване, тромав и ненадежден софтуер. В книгата
си "Bad Software" Cem Kaner предоставя интересна статистика
за цената на техническата помощ в САЩ за 1996 г.: Кога и колко време да се отдели за тестване? Разпространено е
мнението, че за тестване трябва да се отделят последните 1-2 седмици,
преди крайния срок. Това е много неподходящо време за откриване на грешки
и изненади. Няма почти никаква възможност за отстраняването им. Или прибързаното
им отстраняване ще доведе до нови бъгове. Фирмата има две възможности
на този етап - да предава софтуерния продукт на клиента с очакваните грешки
или да закъснее със сроковете. И в двата случая ще имаме недоволен клиент. Цената на тестването Тестването и проверките
трябва да бъдат включени на всяка част от проекта. Колкото по-рано откриете
евентуалните грешките, толкова по-евтино ще бъде отстраняването им. Ако
откриете грешката преди писането на кода, няма да имате нужда от пренаписване
му. Ако тесвате всяка част от системата, преди да бъде свързана с другите
функции, ще намалите риска от рефлектиране на бъговете към цялата функционалност
на система. Най-скъпо е отстраняването на бъговете след пускането на продукта
в реална експлоатация. Вече сте направили 5000 копия на продукта, продали
сте на първите 1000 клиенти вашия софтуер, и се открива грешка. Чакат
ви доста неприятности - телефони разговори, изследване на проблемите,
отстраняване на новите проблеми, загубени продажби, загубено доверие.
Клиента също е ощетен - време за оплаквания, загуба на данни, загуба на
клиенти, време за въвеждане на нови версии. Вероятно е, да стигнете и
до съдебни спорове. Но най-лошото и за двете страни е загубеното доверие.
|