В две подобни теми са зададени въпроси, сходни на този. Бих си позволил да повторя и да направя обзор на казаното.
Въпрос: Кариера като Automation QA?
Въпрос: Какво представлява тестването на софтуер?
Какво е Quality Assurance (Проверка на качеството) ?
Формално QA е систематичен процес на мониторинг и оценяване на различните аспекти на едно приложение. Главната им цел е да отговорят на клиентските очаквания като се погрижат да им предоставят качествения продукт. QA е включено от началото ниво на приложението до пускането му на пазара. QA проверява дали услугите и функционалността на едно приложение отговарят или не на очакванията на потребителите. Отговорност на QA инженерите е да създадат и имплементират методи и стандарти за подобрение на процесите. Осигуряването на качеството –самият процес, се състои в това да проверява съответствието и да докладва начини на действие във връзка с разработването и тестването. QA е процесо-ориентирана дейност и нейната част на жизнения процес на софтуер тестинг-а от английски Software testing life cycle (STLC).Също така не е единствен процес, а е сбор от няколко процеса, които трябва да се изпълнят.
Ето как преминава един стандартен ден като QA:
- Планиране и контрол. Тук като цяло планираш какво ще правиш, как ще го правиш и т.н. и после проверяваш дали всичко е свършено както си планувал/а;
- Избираш тестови условия – при какво условие какво се случва, има ли дефекти и т.н. ;
- Правиш си тест case-овете и ги изпълняваш;
- Проверяваш резултатите от тестовете – дали всичко е наред, дали са минали тестовете, кои са минали и кои не, трябва ли да се оправя нещо по тестовете;
- Оценка на exit критерия. Има entry и exit критерии и те са важни. Exit критерия представлява на кратко : кога трябва да спрем да правим дадено нещо;
- Репортване на резултатите на самите тестови процеси и системи под тест;
- Финализиране или изпълняване на допълнителни дейности – примерно слагане на note (бележка) за нещо преди да сме готови изцяло.
Интересна ли е работата?
На въпроса дали е интересно, твърдо да. Хубавото е, че не се специализираш в отделни езици – например само в Java, C# и т.н. , но пишеш тестове и рънваш самите тестове на различни езици. Това да видиш на нещата от друг поглед – както повечето му казват „ деструктивен“ и да се опиташ да „счупиш“ приложението, програмата или един unit от самия код, било то метод или клас, е много интересна задача, отново включваща креативно мислене.
Дали ще ти е полезно?
Със сигурност. Това са умения, които могат да ти помогнат ако искаш да кажем да станеш от QA developer или друга професия. И не само понеже в тази работа се изисква добро ниво на комуникация – например някой е допуснал грешка или има пропуск, трябва да му/я поднесеш по най-добрия начин и да я оправи. Като споменах, че се пише на различни езици и се рънват тестове, това също е много полезно за друга кариера в IT сферата.
Дали ще си добра?
Това е друг въпрос. Това зависи от интереса ти към тази професия и от работата и постоянството. Нищо не става без тях. Желая ти успех в това начинание :)
За другите чуденки – питай и ще видя дали ще мога да им отговоря :D