Разработка
Софтуерен разработчик
Пет нива от Junior до Principal и шест компетенции — от писането и пускането на код до развитието на екипа.
- 5 нива
- 6 компетенции
Шаблон на кариерна стълбица
Четири нива от Junior до Lead QA инженер и шест компетенции — от тест дизайна до практиките за качество.
Безплатен план · Без банкова карта
Тази кариерна стълбица е за QA инженери в софтуерни компании с около 20–200 души, в които тестерите работят в продуктовите екипи, в цялата компания може да има само няколко от тях и един и същи човек често прави изследователско тестване сутрин и пише автоматизирани проверки следобед. Тя описва четири нива — от човек, който се учи да тества добре една функционалност, до човека, който решава какъв е подходът към качеството в цялата компания. Най-високото ниво, Lead QA инженер, е експертно ниво, а не управленска роля.
Всяко ниво е описано чрез това, което човек прави, и докъде стига работата му, а не чрез години опит или броя докладвани бъгове. Четете ред от матрицата на компетенциите отляво надясно, за да видите как расте едно очакване, или раздела на дадено ниво, за да видите всичко, което се очаква на него. Използвайте я, за да обяснявате какво означава следващата стъпка, да провеждате самооценки и чек-ини и да пазите решенията за повишение сравними между екипите.
Приемете я като чернова. Ако вашите QA инженери не пишат автоматизация или ако разработчиците поемат по-голямата част от тестването, променете формулировките, преди да публикувате стълбицата — очакване, което никой не може да изпълни във вашата среда, само поражда разочарование.
Тества ясно дефинирани функционалности по съществуващи тестови случаи и опознава продукта и потребителите му.
Отговаря за тестването на функционалностите в един екип — от четенето на изискванията до одобрението на релийза.
Оформя как един-два екипа вграждат качеството в работата си и отговаря за тестовата стратегия на по-големи проекти.
Задава подхода на компанията към качеството и помага на всеки екип да пуска софтуер с по-малко пропуснати дефекти.
Всеки ред е компетенция, а всяка колона — ниво. Четете реда отляво надясно, за да видите как растат очакванията.
| Компетенция | Junior QA инженер | Mid QA инженер | Senior QA инженер | Lead QA инженер |
|---|---|---|---|---|
| Тест дизайн и анализ | Внимателно изпълнява съществуващите тестови случаи, пише нови случаи за малки user story-та, които покриват основния сценарий и очевидните гранични случаи, и пита за неясните изисквания, преди тестването да започне. | Пише тестов план за всяка функционалност на екипа, който покрива граничните случаи, правата за достъп, състоянията на данните и интеграциите, и преглежда изискванията преди началото на разработката, за да открие пропуски. | Проектира тестовата стратегия за проекти, които обхващат няколко функционалности или екипа, решава какво да се покрие на ниво unit, API и end-to-end и съсредоточава усилията върху частите, които най-вероятно ще се счупят. | Определя как компанията решава какво и колко задълбочено да тества въз основа на риска и данните за използването и се грижи всеки екип да прилага това последователно. |
| Автоматизация на тестването | Добавя автоматизирани тестове към съществуваща тестова рамка, като следва установените модели, пуска тестовете локално и съобщава за грешките, които не може да обясни, вместо да ги пуска отново, докато минат. | Автоматизира регресионните тестове за функционалностите на екипа, поддържа ги стабилни и четими и поправя или премахва нестабилните тестове, вместо да ги пренебрегва. | Проектира структурата на автоматизираните тестове, включва ги в CI/CD конвейера с разумно време за изпълнение и преглежда тестовете, които пишат разработчиците и другите QA инженери. | Избира тестовите инструменти и общата инфраструктура на компанията, балансира слоевете на тестовата пирамида в различните продукти и поддържа целия набор от тестове достатъчно бърз, за да го чакат екипите наистина. |
| Откриване и описване на дефекти | Пише доклади за бъгове с ясни стъпки, очакван и действителен резултат и средата, така че разработчикът да възпроизведе проблема, без да задава допълнителни въпроси. | Локализира бъговете с помощта на логове, мрежови трасировки и базата данни, преценява сериозността им по въздействието върху потребителите и потвърждава поправките, включително случаите около тях. | Разследва периодично появяващи се проблеми и такива, които се проявяват само в продукция, в няколко услуги, забелязва закономерности в повтарящите се дефекти и ги превръща в предложения, които премахват цял клас бъгове. | Отговаря за начина, по който компанията проследява и приоритизира дефектите, докладва тенденциите в пропуснатите бъгове на инженерното ръководство и се грижи за най-големите източници на дефекти да се отделят ресурси за поправка. |
| Решения за релийз и оценка на риска | Изпълнява възложените проверки преди релийз, докладва какво е тествано и какво не и споделя притесненията си с по-опитен QA инженер. | Дава ясна препоръка „да“ или „не“ за релийзите на екипа, като обяснява известните рискове и какво остава нетествано, и участва в проверките след релийза. | Заедно с разработчиците решава подхода към релийза при рискови промени — feature флагове, поетапно пускане, допълнителен мониторинг — и води тестването по време на инциденти и спешни поправки. | Задава стандартите за релийз, по които работи всеки екип, определя кога релийз може да бъде спрян и е човекът, когото ръководството пита дали продуктът е готов за голямо пускане. |
| Практики за качество | Спазва дефиницията на екипа за „готово“ и процеса на тестване и посочва стъпките, които се пропускат или са объркващи. | Участва в изясняването на задачите и в обсъжданията на дизайна, за да добави рано критерии за приемане и съображения за тестваемост, и работи в двойка с разработчиците по това какво да покрият в собствените си тестове. | Подобрява процеса на тестване на един-два екипа — тестови среди, тестови данни, контролни списъци за преглед — и измерва дали промяната е намалила пропуснатите дефекти. | Оформя практиките за качество в цялото инженерство, решава къде да бъдат разпределени QA инженерите и за какво отговарят разработчиците и прави качеството обща отговорност, а не работа на един екип. |
| Менторство и споделяне на знания | Документира наученото за продукта, докато тества, и споделя с екипа полезни открития и инструменти. | Поддържа тестовата документация на екипа актуална, въвежда новите колеги в своята продуктова област и обяснява техниките за тестване на разработчиците, които питат. | Целенасочено е ментор на Junior QA инженери, провежда сесии за подходите към тестването за разработчиците и участва в интервютата за QA позиции. | Развива уменията и кариерните пътеки на QA групата, определя как се наемат и въвеждат QA инженерите и развива следващите Senior и Lead QA инженери. |
Превъртете таблицата хоризонтално, за да видите всички нива.
Изтеглете като CSV Отваря се в Excel, Google Sheets или Numbers.
Тества ясно дефинирани функционалности по съществуващи тестови случаи и опознава продукта и потребителите му. Отделни user story-та или поправки на бъгове в една част от продукта, с тестови планове, прегледани от по-опитен колега.
Отговаря за тестването на функционалностите в един екип — от четенето на изискванията до одобрението на релийза. Функционалностите на един продуктов екип, включително ръчните и автоматизираните им тестове.
Оформя как един-два екипа вграждат качеството в работата си и отговаря за тестовата стратегия на по-големи проекти. Тестовата стратегия, автоматизираните тестове и решенията за релийз на един-два екипа, както и проекти, които прекрачват границите на екипите.
Задава подхода на компанията към качеството и помага на всеки екип да пуска софтуер с по-малко пропуснати дефекти. Качеството в целия продукт: общата тестова инфраструктура, стандартите за релийз и как е организирана и практикувана QA работата.
Ако вашите QA инженери се фокусират върху изследователското тестване, съкратете реда „Автоматизация на тестването“ и разширете „Тест дизайн и анализ“. Ако основно изграждат автоматизация, повишете очакванията за качеството на кода. Във всеки случай направете избора изричен, така че никой да не бъде оценяван за работа, за която не е нает.
С двама-трима QA инженери на компанията обикновено ѝ трябват само нивата Junior, Mid и Senior. Добавете Lead, когато някой наистина задава стандартите за качество за всеки екип, а не като награда за най-дългия стаж. В тази стълбица Lead е експертно ниво; ако вашият QA лидер управлява и тестери, добавете очакванията за работа с хора от стълбицата за Engineering Manager.
Съпоставете всяко QA ниво с нивото на софтуерен разработчик със сравним обхват и заплащане. Когато Senior QA инженер стои до Senior разработчик, преминаването между двете пътеки става стъпка встрани, а не понижение или скок.
За чек-ините и предложенията за повишение събирайте примери като тестов план, който е хванал скъп дефект, нестабилен набор от тестове, който е станал надежден, или решение за релийз, което се е оказало правилно. Броенето на докладваните бъгове възнаграждава шума и наказва тестерите в стабилни екипи.
Въпроси
За компания с 20–200 души обикновено три или четири са достатъчни, защото QA групите са малки. Този шаблон използва четири: Junior QA инженер, Mid QA инженер, Senior QA инженер и Lead QA инженер. Добавете пето само когато обхватът на работата наистина надхвърли задаването на стандарти за качество за целия продукт.
В повечето по-малки компании — да. Сърцевината на работата — разбиране на риска, проектиране на тестове и преценка на релийзите — е една и съща; различават се само инструментите. Запазете една стълбица и договорете за всеки човек или екип доколко се прилага редът „Автоматизация на тестването“.
Да, и това работи най-добре като планиран преход. Сравнете човека със стълбицата за софтуерен разработчик, договорете няколко задачи за развитие, например да поеме малки функционалности или поправки на бъгове, и го преместете, когато постоянно покрива това ниво. Опитът в тестването обикновено го прави по-силен разработчик, а не по-слаб.
Гледайте резултатите и поведението: дефектите, пропуснати до продукция в неговата област, надеждността и скоростта на автоматизираните тестове, колко рано сигнализира за рискове и как са се оказали решенията за релийз. Обсъждайте конкретни примери спрямо стълбицата на редовните чек-ини, вместо да разчитате само на табла.
Няма фиксирано съотношение. Много компании с такъв размер работят с един QA инженер на всеки четирима до осем разработчици, но правилният брой зависи от това колко разработчиците тестват собствената си работа и колко скъп е един дефект за вашите потребители. Следете пропуснатите дефекти и забавянията на релийзите и наемайте, когато някое от двете продължава да расте.
Настройте нивата и уменията ѝ за вашия екип, оценявайте хората спрямо тях в чек-ините и вземайте последователни решения за повишения.
Безплатен план · Без банкова карта
Разработка
Пет нива от Junior до Principal и шест компетенции — от писането и пускането на код до развитието на екипа.
Разработка
Четири нива от Junior до Staff DevOps инженер и шест компетенции — от инфраструктурата до подкрепата за разработчиците.
Разработка
Четири нива от Engineering Manager до VP of Engineering и шест управленски компетенции.