Попитахме какво е Code Mutation, Social Media Data Simulation и Advanced 3rd Party Service Virtualization. Отговорите получихме от Ръководителя софтуерно тестване Емануил Славов и Апостол Терзиев, Софтуерния архитект на компанията Komfo, които ще разгледат подробно тези теми на пилотното издание на събитията #KomfoSessions. А какви тайни издадоха преди самото събитие – нека разберем…
Защо избра софтуерното тестване за своя професия?
Емануил Славов: Всъщност се случи случайно, не съм го търсил нарочно. Тестването на софтуер, макар на практика професия, не се преподава. В университета учех телекомуникации и тогава си мечтаех да работя за мобилен оператор (в България по това време имаше само един GSM оператор), да планирам покритията на сигнала, клетки, затихвания. Но стана така, че от втори курс започнах да работя като системен администратор. Заради опита, който натрупах, в четвърти курс започнах да работя като QА, тъй като работата изискваше познания по мрежови протоколи. Мислех си, че това са временни позиции, докато наистина започна да работя при някой от мобилните оператори. Кандидатствах за две от трите компании, но не ме взеха поради липса на опит. В същото време ИТ индустрията в България доста се разрасна, както и възможностите. Просто продължих да работя в нея. И така вече 15 години.
Какво е най-голямото предизвикателство, пред което се изправя един QA ръководител?
Емануил Славов: Най-голямото предизвикателство на QA ръководителя е да покаже на практика каква стойност носи на компанията. Той трябва да разбере, че качеството не започва и не свършва с неговия отдел. Компанията може да съществува без QA екип, но няма как да съществува без екип от програмисти. В зората на софтуерното инженерство е нямало QA роля, тя възниква в последствие. В момента изглежда, че махалото тръгва в обратна посока.
Сега има две много мощни течения, свързани с качеството на сотфуера – shift left и shift right. Първото е насочено към превенцията на проблеми колкото е възможно по-рано, преди да са достигнали до QA екипа. Второто е насочено към откриване на проблеми възможно най-рано, след като софтуерът е в ръцете на клиента. QA екипът стои по средата и болшинството от работата по качеството на софтуера го заобикаля. A това, което остава, подлежи на аутсорс услуги като RainforestQA, uTest или многобройните евтини дестинации.
Никоя от компаниите „еднорози“ (Google, Facebooк, дори и Yahoo! от тази година) не поддържа (голям) QA екип. Microsoft, известни преди години със съотношението 1,2/1 (Dev/QA), в момента преминават към т.н. Unified Engineering и нямат нито един служител с чисто QA профил.
В момента повече от всякога е нужен качествен софтуер, но въпросът е кой ще го осигури и на каква цена.
Какво е Advanced 3rd Party Service Virtualization и какво да очакваме на пилотното издание на събитието #KomfoSessions?
Емануил Славов: В Комфо използваме усилено най-различни услуги от всички големи социални мрежи. Например за 24 часа правим над 1 милион заявки към HTTP API на Facebook. За целите на автоматичните и ръчни тестове, трябва да можем да симулираме/имитираме най-различни отговори на всякакви заявки към социалните мрежи. Това е и един от основните фактори, които ни помогнаха да намалим времето на изпълнение на автоматичните тестове от 3 часа на 3 минути.
Терминът, възприет за това в софтуерната индустрия, е „service virtualization“. Имахме решение на този проблем вътре в кода на нашето приложение, но с нарастването на мащабите се оказа, че то вече е неприложимо. Търсихме готов инструмент, който да ни помогне, но не успяхме да намерим такъв. Услугите на социалните мрежи са доста сложни и разработихме наш инструмент. Освен за тестване, този инструмент ни помага да следим „здравето“ на външните услуги, които ползваме – брой таймаути, 4xx или 5xx HTTP грешки.
На #KomfoSessions ще разкажа цялата история и трудния път, който изминахме. Мисля, че най-интересно за аудиторията ще бъде демото, което ще покаже в реално време нашия трафик към всички социални мрежи. Ще покажем как за по-малко от минута можем да симулираме дори и най-сложния тестов сценарий. Презентацията ще бъде полезна за всички, които работят с приложения, използващи външни услуги и ще даде практически насоки как те да бъдат управлявани.
Как стигна до позицията Софтуерен архитект?
Апостол Терзиев: Попаднах на правилното място в правилното време. Трябваше да се вземат тежки решения, някой да поеме отговорността и да застане зад тях. Аз се захванах със задачата и успях да постигна резултат. Предполагам това отвори много врати и хората ми повярваха, че знам какво правя. А да накараш хората да ти вярват, е половината от успеха на тази позиция. Останалото е много четене, експерименти и учене от грешки.
Кое е най-голямото предизвикателство, с което си се сблъсквал в работата си като Софтуерен архитект? Как го разреши?
Апостол Терзиев: Досега винаги най-трудно е било да накарам хората да прегърнат промяната и да мислят за нея трезво, без да се влияят от текущите „модни тенденции“ в бранша. За съжаление IT индустрията е единствената област, в която модата е по-значима, отколкото при дамските обувки. Тази борба винаги е била най-трудна. Техническите предизвикателства са оставали винаги на заден план пред смяната на архитектурата на човешкото мислене.
Какво е Code Mutation и какво може да очакваме на пилотното издание на събитието #KomfoSessions?
Апостол Терзиев: Зад понятието Code Mutation стои една много проста концепция, често срещана в природата – самоусъвършенстването. В конкретния случай това са програми, които попиват информация от околната среда и променят сами своя код в зависимост от условията. Тази промяна може да е такава, за каквато създателите на първоначалната логика не са и предполагали. Концепцията е доста стара, но прилагането й до момента в системи за бизнеса е било силно ограничено. Аз се надявам да мога да демонстрирам, че подобен подход може да е много полезен и в ежедневието на програмиста, разработващ бизнес софтуер.
Автор: Гергана Демирова
Визия: Личен архив
София