Какво представлява професията Quality Assurance?

+8 гласа
5,687 прегледа
попитан 2016 май 12 в Тестване на софтуер от Kalina.Mincheva. (1,330 точки)
Здравейте,

В началото на свота ИТ кариера съм и се чудя каква професия да избера. Една от опциите ми е да уча за да стана QA, но още се чудя какво преставлява професията, дали ще ми е полезно, дали ще съм добра и още няколко чуденки. Може ли някой, който работи като QA да сподели и да разкаже малко повече за професията. Как минава един стандартен ден и какво се изисква.

Благодаря предварително.

1 отговор

+2 гласа
отговорени 2016 май 13 от Daniel Ivanov (11,160 точки)
редактиран 2016 юли 9 от Daniel Ivanov
 
Най-добър отговор

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

Въпрос: Кариера като Automation QA?
Въпрос: Какво представлява тестването на софтуер?
 

Какво е Quality Assurance (Проверка на качеството) ?   

Формално QA е систематичен процес на мониторинг и оценяване на различните аспекти на едно приложение. Главната им цел е да отговорят на клиентските очаквания като се погрижат да им предоставят качествения продукт. QA е включено от началото ниво на приложението до пускането му на пазара. QA проверява дали услугите и функционалността на едно приложение отговарят или не на очакванията на потребителите. Отговорност на QA инженерите е да създадат и имплементират методи и стандарти за подобрение на процесите. Осигуряването на качеството –самият процес, се състои в това да проверява съответствието и да докладва начини на действие във връзка с разработването и тестването. QA е процесо-ориентирана дейност и нейната част на жизнения процес на софтуер тестинг-а от английски Software testing life cycle (STLC).Също така  не е единствен процес, а е сбор от няколко процеса, които трябва да се изпълнят.

Ето как преминава един стандартен ден като QA:

  1. Планиране и контрол. Тук като цяло планираш какво ще правиш, как ще го правиш и т.н. и после проверяваш дали всичко е свършено както си планувал/а;
  2. Избираш тестови условия – при какво условие какво се случва, има ли дефекти и т.н. ;
  3. Правиш си тест case-овете и ги изпълняваш;
  4. Проверяваш резултатите от тестовете – дали всичко е наред, дали са минали тестовете, кои са минали и кои не, трябва ли да се оправя нещо по тестовете;
  5. Оценка на exit критерия. Има entry и exit критерии и те са важни. Exit критерия представлява на кратко : кога трябва да спрем да правим дадено нещо;
  6. Репортване на резултатите на самите тестови процеси и системи под тест;
  7. Финализиране или изпълняване на допълнителни дейности – примерно слагане на note (бележка) за нещо преди да сме готови изцяло.

Интересна ли е работата?

На въпроса дали е интересно, твърдо да. Хубавото е, че не се специализираш в отделни езици – например само в Java, C#  и т.н.  , но пишеш тестове и рънваш самите тестове на различни езици. Това да видиш на нещата от друг поглед – както повечето му казват „ деструктивен“ и да се опиташ да „счупиш“ приложението, програмата или един unit от самия код, било то метод или клас, е много интересна задача, отново включваща креативно мислене.

Дали ще ти е полезно?

Със сигурност. Това са умения, които могат да ти помогнат ако искаш да кажем да станеш от QA developer или друга професия. И не само понеже в тази работа се изисква добро ниво на комуникация – например някой е допуснал грешка или има пропуск, трябва да му/я поднесеш по най-добрия начин и да я оправи. Като споменах, че се пише на различни езици и се рънват тестове, това също е много полезно за друга кариера в IT сферата.

Дали ще си добра?

Това е друг въпрос. Това зависи от интереса ти към тази професия и от работата и постоянството. Нищо не става без тях. Желая ти успех в това начинание :)

За другите чуденки – питай и ще видя дали ще мога да им отговоря :D

...