Набор от качества, които трябва да притежава софтуерният тестер

Знанията, които може да получи човек в сферата на софтуерните технологии, са необятни

С всяка изминала година се появяват нови технологии или старите преминават към нова версия с нови функционалности и промени, които трябва да бъдат взети предвид от всички участници в разработката на един софтуерен продукт. Често пъти професията QA (Quality Assurance) е посочвана като най-прекия път към кариера в света на информационните технологии, но дали това е така, може да прецените след като се запознаете с набора от технологични и комуникационни умения, които трябва да притежава един такъв професионалист.

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

В зависимост от вида на разработваната система, QA-ите може да приложат основните техники за тестване върху уеб, десктоп и мобилни приложения.

Уеб тестване

При тестването на уеб приложения е важно да се уверим, че системата се визуализира  добре и е използваема при различни видове операционни системи, браузъри и техните версии. Налага се да ограничим тестването до най-използваните от потребителите на системата такива версии, тъй като броят тестовите сценарии спрямо различните платформи може да е прекалено голям. Най-често използвани са операционна система Windows и най-актуалните в момента версии на браузърите Google Chrome и Mozilla Firefox или операционна система MacOS и браузър Safari.

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

От помощ при тестването на уеб приложения е developer tools панелът (бърз достъп с бутон F12 на клавиатурата), който е част от браузъра и дава възможност да се проследяват грешки в конзолата и дали request-ите в network tab-a са очаквания брой, в какъв статус са, дали се изпълняват за очакваното време или има забавяне и други.

Тестване на десктоп приложения

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

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

Тестването на мобилни приложения е специфичен вид тестване, при което QA-ите трябва да имат предвид по-малкия екран на устройството, различните операционни системи (Android, iOS), бързината на мобилната мрежа (за различните видове cellular data и wi-fi), каква част от паметта на устройството заема приложението.

Във връзка с тестването на разнообразните по вид софтуерни продукти произлиза нуждата QA-ите да имат познания по SQL (Structured Query Language), релационни и нерелационни бази данни.

За един добър софтуерен тестер е важно да има и базови знания по програмиране, за да може да открие дефекти свързани с начина на разработката на приложението. Често задаван въпрос на интервю дори за Manual QA (ръчно, не автоматизирано тестване) е да обясни кои са основните принципи на ООП (обектно ориентирано програмиране) и да даде кратко обяснение за тях. А именно - наследяване, капсулация, полиморфизъм и абстракция.

Добри практики при софтуерното тестване

Както във всяка професия и при софтуерното тестване има установени добри практики.

Те могат да бъдат тълкувани различно, затова повечето quality assurance инженери се позовават на стандартите, дефинирани от ISTQB (International Software Testing Qualifications Board). Сертификатът е международно признат и често пъти е сред условията за наемане на длъжността софтуерен тестер.

API тестване

Понякога се налага да тестваме комуникацията/интеграцията на разработваната от нас система с отдалечени системи, които не са собственост на компанията, за която работим. В този случай изпълняваме тестване на API (application programming interface) като анализираме, че очакваната функционалност е на лице, връзката е сигурна, комуникацията е бърза и надеждна. При API тестовете трябва да проверим времето за отговор, данни, които се връщат в отговора на заявката, потвърждение, че потребителят и паролата са верни и съответстват на съществуващ потребител, коректността на HTTP статус  кодовете за успех и за грешка.

Soft skills (меки умения)

Soft skills са личностни умения, които трябва да притежава един професионалист, за да върши добре работата си. Наред с техническите умения, QA-ите трябва да бъдат комуникативни и да предлагат решения на заплетени ситуации, които могат да възникнат във всеки един етап от разработката на софтуера. Най-активно QA-ите общуват с други две роли в Agile екипа – това са Developer и Product owner. Developer-ите са разработчиците на продукта. Те имат широка гама от познания по езици за програмиране, системи за управление на версиите на кода, алгоритми и много други, но често пъти нямат достатъчно познания за бизнеса на компанията и за това какво искат и очакват клиентите от разработвания софтуер. Тук идва ролята на product owner-а. Това е човекът, който предоставя яснота на всички участници в екипа за визията и целите на продукта. За тази роля е препоръчително изпълнителят да има и технически познания, но не е задължително – познанията за бизнеса и безпроблемната комуникация с клиентите е от ключово значение за ролята. Тъй като софтуерният тестер следи изискванията, тяхната промяна и реализиране още от самото начало на проекта, той може да запълни несъответствията в разбиранията на developer и product owner.

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

Колкото по-добре върви комуникацията в екипа, толкова по-лесно се разработва желаният  продукт

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

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

  • Ключови думи:

Напишете дума/думи за търсене