QA звеното – посредник в софтуерните проекти

Тестването на качеството на новите софтуерни продукти все по-често прелива в медиация между разработчика и неговия възложител. По този начин двете страни защитават вложените ресурси и остават удовлетворени от съвместното партньорство.

Същевременно, тестването на софтуер започва да се използва от разработчиците като „услуга в облака”. В резултат от масовото навлизане на „смарт” устройствата сред потребителите, нарастващо значение придобиват мобилните приложения – съответно и тяхното тестване. Така накратко изглежда спецификата на QA пазара у нас през лятото на 2014 г.

Динамичното развитие на софтуерните компании на българския пазар разви бързо и целия спектър от професионалисти в областта на създаването на софтуер. В този процес закономерно набра значимост ролята на специалиста по тестване на софтуер и гарантиране на неговото качество (quality assurance, QA). Интензивното развитие на сектора и настъпилите промени породиха нуждата от създаване на изцяло специализираната в областта на софтуерното тестване компания Quality House. Днес, 10 години по-късно, нейната роля е отишла далеч отвъд пропагандирането на нуждата от тестване и обучаването на софтуерните фирми как се случва процесът по „quality assurance”.

Все по-често QA специалистите влизат в ролята на

посредници между разработчиците и техните възложители

или на своеобразни „парламентьори” между софтуерните отдели и клиентите. Тази нужда назря поради трудностите, които фирмите срещат при разработване на някои проекти заради неясно дефинирани изисквания, недобре формулирани критерии за продукта, липси и неточности в предварителните изисквания от страна на възложителя. В крайна сметка при предаване на готовия продукт често се стига до ситуации, при които е трудно да се установи коя от страните е отговорна за крайните бъгове: дали те са резултат от работата на програмистите или са част от заданието на възложителя.

Възникналите спорове „у кого е вината” естествено не биха довели до положителен резултат. Именно тук се намесват QA консултантите като „трета страна”. Те могат да вземат пряко участие в целия процес на разработка на продукта, проследявайки през всяка от фазите до каква степен продуктът отговаря на поставените от страна на възложителя изисквания. Възможно е разбира се и включване на QA специалистите на по-късен етап от разработката на продукта и провеждане на финална проверка непосредствено преди неговото предаване към клиента. По този начин се защитават интересите и на двете страни  – едните защитават инвестицията си, а другите – труда си. За разработчика това означава, че предава продукт, изцяло отговарящ на изискванията и очакванията на клиента. В същото време и възложителят може да има спокойствието, че ще получи разработен софтуера, който е искал.

Идеалният вариант за това е намесата на QA „медиатора” да започне от самото начало – при дефинирането на всички изисквания, критерии, очаквания и измерители за успеха. На практика не винаги се получава така. Обичайно медиаторската роля се появява на по-късен етап, понякога непосредствено преди предаване на готовата разработка.

Посредническата роля се поема най-добре от външен QA екип заради неговата независимост, посочват от специализираната в тестването на софтуер компания Quality House. Това се случва относително лесно, като се има предвид, че повечето софтуерни фирми

съчетават вътрешен QA отдел с външен QA консултант.

И двете звена имат своята уникална стойност. Външният QA екип е независим. Той има ноу-хау от множество различни проекти, разнообразни ситуации, широка палитра от различни възможни решения за една или друга ситуация. Вътрешният QA екип пък е по-запознат с конкретната задача, спецификите на възложителя, нагласите и „неписаните“ правила на потребителя.

Затова най-често срещаната конфигурация включва собствен QA екип в софтуерната фирма в комбинация с външен QA екип „по заявка”. Обичайно външният QA екип се намесва в няколко случая:

  • при внезапен, остър недостиг на вътрешни QA специалисти заради моментно свръх-натоварване на вътрешния QA отдел;
  • при голям брой текущи проекти и възложения;
  • при непланирани натоварвания на целия софтуерен екип;
  • при липса на вътрешен QA екип и изградени QA процеси;
  • при необходимост от бързо подобряване на качеството на разработения продукт;
  • при краткосрочни и средносрочни проекти с неясно дефинирани цели и динамично променящи се изисквания.

Традиционно българските компании и някои локални поделения на чуждестранни софтуерни разработчици предпочитат външните QA експерти да бъдат вградени в развойния им екип, т.е. да се настанят на място в офиса на фирмата-разработчик. В тези случаи важна роля има живият контакт със софтуерните разработчици на самата компания. Външните QA експерти вкарват ноу хау и добри практики, придобити в резултат от участието им в различни по мащаб и естество проекти. При тези сценарии все по-голяма роля имат т. нар. меки умения и на софтуерните експерти, и на QA колегите им, породена от необходимостта външните консултанти да бъдат много добре интегрирани в съществуващите вече екипи.

Големите международни софтуерни фирми нерядко предпочитат QA отделът да функционира „офсайт”, тоест да не бъде част от развойния офис, а да работи дистанционно. Този начин на работа е предпочитан и от някои софтуерни компании на българския пазар, тъй като не налага осигуряване на допълнителни работни места за гост- специалистите и позволява по- голяма гъвкавост в натоварването на външните консултанти.

На практика тестването е „услуга в облака”,

която не изисква допълнителни работни места, срещи между отделите, сработване на екипи и пр. Услугата се използва „по заявка”, подобно на „софтуер като услуга”.

При дългосрочна работа по този начин софтуерният разработчик може гъвкаво да променя параметрите на QA обслужването си. Така например, в даден момент може да възникне необходимост от 5 QA експерти, като след определен период броят от необходими ресурси да се увеличи или намалее спрямо развитието на проекта. Крайната „сметка” се формира гъвкаво, според използваните ресурси, подобно на останалите услуги в облака. Самите проекти се достъпват дистанционно, онлайн, при спазване на съответен договор за поверителност.

Пак в посока по-голяма гъвкавост набира скорост и

тестването на мобилни приложения.

Богатото разнообразие от мобилни устройства (смартфони, таблети, лаптопи и др.) и не по-малката пъстрота откъм софтуерни платформи за тях означава, че всеки разработчик на мобилно приложение трябва да инвестира голяма сума в закупуване на разнородни мобилни решения. Това не е по силите на всяка фирма. Именно тук се намесва външната QA услуга „от облака”.

Пловдивският офис на Quality House всъщност е специализиран именно в тестването на мобилни решения. Екипът там притежава  не само необходимата експертиза  в областта на мобилното тестване, но и е оборудван с най- актуалните на пазара мобилни устройства. Там е концентрирано и повече ноу-хау за боравенето с мобилни разработки.

Паралелно с това Quality House се готви да започне обучителни курсове за подготовка на QA специалисти именно за тестване за мобилни платформи. Очаква се първият курс от новата учебна схема да стартира това лято.