+
Вход

Въведи своя e-mail и парола за вход, ако вече имаш създаден профил в DEV.BG/Jobs

Забравена парола?
+
Създай своя профил в DEV.BG/Jobs

За да потвърдите, че не сте робот, моля отговорете на въпроса, като попълните празното поле:

96-14 =
+
Забравена парола

Въведи своя e-mail и ще ти изпратим твоята парола

Синергията между Dev и QA при автоматизираното тестване

Специален проект в партньорство с QaiWare

Повечето IT експерти са чували шегата Dev Make It, QA Break It, но на някои от тях не им е до смях, защото не се случва продуктовата магия или, ако се случва, тя е бавна и изтощителна. Когато обаче програмисти и QA специалисти осъзнато гребат в една и съща посока, лодката достига крайната дестинация по-бързо, по-гладко и по-успешно. 

Особено като става въпрос за мащабни проекти като платформата за разплащания UNAK на българския fintech QaiWare. От създаването си UNAK расте експоненциално и като клиенти, и като функционалности, но успехът ѝ до голяма степен се дължи и на симбиозата между dev и QA екипите в QaiWare. 

С това са съгласни Ива Желева, Automation QA Lead Engineer, Мелис Мейсут, Automation QA Engineer, и Светозара Минкова, Backend Engineer, за които без добро синхронизиране няма да са възможни нито високото качество на продукта, нито спокойната и конструктивна работна атмосфера в офиса.


Ива, кои бяха най-големите предизвикателства да се сработите като екип в областта на автоматизираните тестове?

Несъмнено това беше да придобием общо разбиране за целите на тези тестове и да използваме индивидуалните качества и потенциала на всеки програмист и QA експерт на правилното място.

Ива Желева, Automation QA Lead Engineer в QaiWare

Вие как се справихте, предвид че проектът не е разполагал с автоматизирани тестове?

Планирахме задачите според наличните функционалности и приоритета им за клиентите. Светозара се зае с разработването на по-комплексните технически аспекти, което изискваше да се съобрази и с дизайна на тестовия ни framework

След като създадохме основа за тестовете, започнахме да автоматизираме сценариите. Светозара се включи и в този процес с помощта на Мелис, която ѝ разясни в детайли какви са целите на сценариите и подхода ни като QA, когато създаваме автоматизирани тестове. 

До какви резултати доведе този начин на работа?

Успяхме да разработим тестове, които са полезни за целия екип. От една страна, преминахме от двуседмичен цикъл на ръчно тестване за регресии към автоматизирани тестове, които отнемат 30 минути. Това улесни откриването на по-сложни проблеми и оптимизирането на кода. Също така обменихме знания за добрите практики в програмирането, а dev екипът получи по-добро разбиране за бизнес целите на продукта и принципите на функционалното тестване.

Светозара, част от задълженията ти включват и неизменните unit тестове. Успя ли да подобриш обхвата и ефективността им задно с QA колегите?

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

Днес те питаме…

Кой е предпочитания ти модел на работа?
Loading ... Loading …

Какво е значението на тази мрежа?

От една страна, тя ни гарантира, че когато правим промяна в кода заради нова функционалност, тя няма да е фатална и ще запазим всичко, което предварително сме дефинирали.

Освен това с тези тестове успяхме да създадем своеобразна документация на проекта, който е базиран на микроуслуги и множество компоненти, които трудно могат да бъдат обхванати с един поглед. Днес, само гледайки тестовете, всеки може да види кое е желаното поведение на системата, на какво натоварване трябва да издържа тя и т.н.

Мелис, първоначално започваш работа като Junior Automation QA в QaiWare. Какви знания си „открадна“ от dev екипа?

Научих много добри практики и стандарти при писането на код, така че кодът ми да бъде по-четим, по-оптимизиран и преизползваем. Още от самото начало ревютата на колегите програмисти бяха изключително полезни, защото подобриха разбирането ми относно писането на Java, насочиха вниманието ми към потенциални проблеми с моите тестове, които своевременно да коригирам, както и към по-лесното поддържане на тестовете в дългосрочен план, което трябва да бъде заложено още при създаването им. 

Освен това с колегите сме установили единна конвенция при писането на код, така че да постигнем взаимно съгласие за това какво и как тестваме, тъй като програмистите ежедневно използват автоматизираните тестове в своята работа. 

Благодарение на тази колаборация локализираме по-лесно и по-бързо къде има проблем — в кода или в системата. По този начин получих по-дълбоко разбиране за архитектурата на проекта, което ми позволява да пиша по-обхватни и ефикасни end-to-end тестове като QA.

А на теб, Светозара, повлия ли участието ти в разработката на автоматизирани тестове върху начина, по който мислиш за проектирането и разработването на backend системи?

Една от първите ми големи задачи в QaiWare беше да окажа съдействие на QA екипа при създаването на система за автоматизирани тестове и това измести фокуса ми от въпроса „Как е имплементирана системата?“ към „Какво прави системата?“. Придобих изключително широк поглед върху нея, което ми е много полезно като програмист. Например много по-лесно идентифицирам откъде идва проблемът, ако има бъг, или какви грешки да избягвам в бъдеще. 

Светозара Минкова, Backend Engineer в QaiWare

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

Тази колаборация ми помага и при работата с нашите продуктови мениджъри, когато обсъждаме какво може да бъде въведено в системата, за да гарантираме, че нововъведенията не просто не нарушават целостта ѝ, но са взели предвид и всички тези изключително важни случаи.

Explore more

Виж
BigQuery обявите
Събрани на едно място
Right Arrow
Виж
Blazor обявите
Събрани на едно място
Right Arrow
Виж
Hadoop обявите
Събрани на едно място
Right Arrow
Виж
Azure DevOps обявите
Събрани на едно място
Right Arrow

Говорейки за проблеми и бъгове, които се появяват по време на тестовете, как успявате да ги отстранявате заедно?

Ние споделяме обща кодoва база. Като програмист аз имам достъп на автоматизираната система, а QA колегите имат достъп до нашия код. Това носи много ползи и за двата екипа, защото единното разбиране за цялостния процес на разработка и тестване, както и споделянето на добри практики, водят до по-висока проследяемост на възникналите бъгове и по-лесното им откриване и отстраняване.

И докато търсим в кода, ние не сме програмисти и QA, а колеги, обединени от идеята да намерят първоизточника на проблема, да го разрешат и да подобрят качеството на продукта.

А как се справяте с разногласията между двата екипа?

Ива: Не бих казала, че има такива. По-скоро всички сме обединени около една цел и тя е качеството. Понякога в диалога се появяват различни мнения, но винаги ги обсъждаме и се ражда истината за това кой е най-добрият подход да решим даден казус.

Мелис Мейсут, Automation QA Engineer в QaiWare

Мелис: Отговорността за качеството на финалния продукт не е индивидуална, а обща. Ако няма различни гледни точки, дискусии и инициативност от наша страна, това би означавало, че се отдалечаваме от следващата ни иновация. Няма правилно или грешно мнение, а различни пътища към успешното постигане на общата ни цел.

Светозара: Ако има несъгласие между програмиста и QA, то заслужава да се разбере причината за него. Обикновено всичко се базира на разбиранията за продукта. Неведнъж в дискусията достигаме до важни заключения и се раждат много идеи за подобрения.

Днес всичко е данни. Вие как измервате успеха на съвместната си работа?

Ива: Аз го измервам в по-малко критични дефекти и по-бързото им отстраняване вследствие на по-качествен код. Фактът, че програмистите използват автоматизираните тестове по време на разработката, води до по-кратък цикъл на проектиране и предоставяне на готов продукт. Но най-важният измерител е атмосферата на сътрудничество и свободна комуникация, в която няма неуместни въпроси и всеки член на екипа подобрява своите умения и развива изцяло нови.

Мелис: Обикновено най-добрият показател за успех са доволните клиенти и качественият софтуер. По отношение на сътрудничеството ни в автоматизацията значителен успех е високото покритие на тест плана и тестовете, които сме разписали. Благодарение на синхронизираното ни разбиране за изискванията и целите на продукта спестяваме излишни усилия за преработване на кода и евентуални бъгове.

И един елемент, който често се забравя, но е ключов — изградихме огромно доверие помежду си и работим в спокойна атмосфера, която ни позволява да бъдем по-смели както при взимането на решения, така и при даването на предложения. 

Светозара: Ние сме двете страни на една монета, а именно монетата на качествения продукт. Чисто обективните показатели за успеха са по-малкото бъгове на борда, но и това, което остава за нас като усещане за заедност, срещу него няма число.


И докато тази сплотеност не може да се измери с точност до последната стотна, то според Ива, Мелис и Светозара рецептата за успешно сътрудничество има три задължителни съставки, които те охотно споделят: взаимна цел, взаимна подкрепа при постигането ѝ, както и взаимна любознателност. Затова за екипа на QaiWare важи не шегата, за която споменахме в началото, а сериозната заявка: Dev Make It and QA Upgrade It.