SDET Unicorns - Чаму так цяжка наймаць SDET?

SDET, таксама вядомы як інжынер па распрацоўцы праграмнага забеспячэння ў тэставанні, займае ролю ў галіне тэсціравання праграмнага забеспячэння і забеспячэння якасці. Першапачаткова гэты тэрмін выкарыстоўваўся Microsoft, а затым Google, з мэтай замены звычайнага і паўтаральнага ручнога тэсціравання на аўтаматызацыю.

На працягу многіх гадоў усё больш і больш кампаній наймаюць SDET, паколькі гэта галоўная роля ў Agile і DevOps. Аднак гэта складаная роля.

Тэхналогіі вельмі хутка мяняюцца, і тэстары павінны шмат чаму навучыцца, каб быць наперадзе гульні.


У маім папярэднім паведамленні, Тэставанне ў свеце DevOps , Я растлумачыў, як змянілася роля выпрабавальніка за апошняе дзесяцігоддзе, і, такім чынам, ствараецца недахоп выпрабаваць аднарогаў .

У гэтым паведамленні гаворыцца пра ролю SDET і пра тое, чаму SDET аднарога цяжка знайсці.




Што робіць SDET?

SDET - гэта тэхнічны тэстар праграмнага забеспячэння, які займаецца распрацоўкай аўтаматызаваных сцэнарыяў тэстаў.

Як правіла, яны ўваходзяць у спрытную каманду і працуюць разам з распрацоўшчыкамі, каб дапамагчы аўтаматызаваць крытэрыі прыняцця ў гісторыях карыстальнікаў.

Акрамя ўдзелу ў тыповых мерапрыемствах па забеспячэнні якасцю, яны могуць пісаць што заўгодна: аўтаматызаваныя тэсты інтэграцыі, тэсты API і / або тэсты аўтаматызацыі карыстацкага інтэрфейсу.

Акрамя таго, SDET могуць дапамагчы перагледзець модульныя тэсты, напісаныя распрацоўшчыкамі.




Чаму патрэбныя SDET?

У кожным прадукце ёсць некаторыя асноўныя функцыі, якія павінны функцыянаваць у кожным выпуску прадукту. Гэта азначае, што ў кожным спрынце трэба выпрабоўваць новыя функцыі і існуючую функцыянальнасць.

Хуткае развіццё хутка развіваецца. Пры кароткіх спрынтах, якія звычайна доўжацца 2 тыдні, у тэсціроўшчыкаў няма часу праверыць усё ўручную.

Калі выпрабавальнікі ў камандзе не маюць неабходных навыкаў для напісання аўтаматызаваных чэкаў, усё тэсціраванне павінна праводзіцца ўручную.

У рэшце рэшт, тэставанне становіцца вузкім месцам для распрацоўкі і выпуску праграмнага забеспячэння, таму што яго завяршэнне зойме ўсё больш часу.


Такім чынам, найм і размяшчэнне SDET у спрытнай камандзе можа палегчыць цяжар, ​​аўтаматызуючы вялікую частку ручных тэстаў і задач.



Інтэрв'ю і найманне SDET

Дык чаму так цяжка знайсці і набраць добрыя SDET?

На працягу многіх гадоў у большасці так званых SDET, у якіх я праходзіў інтэрв'ю, альбо адсутнічаюць неабходныя тэхнічныя навыкі, альбо яны не разумеюць прынцыпаў кантролю якасці і тэсціравання.

Яны не да канца разумеюць асноўную прычыну ролі SDET у камандзе. Большасць сутыкаецца з здагадкай, што ўсё, што ім трэба зрабіць, гэта аўтаматызаваць крытэрыі прыняцця. Давайце растлумачым, SDET - гэта НЕ інжынер аўтаматызацыі .


Правільны баланс праверкі здольнасцей і тэхнічных навыкаў - галоўнае.

Выдатны SDET - гэта тэстар праграмнага забеспячэння, які захоплівае якасць праграмнага забеспячэння і ў той жа час з'яўляецца дасведчаным у тэхніцы і мае правільнае спалучэнне тэхнічных навыкаў.

Падчас сумоўя для SDET я заўсёды шукаю Якасць мыслення і Тэхнічныя навыкі.



Профіль SDET - тэстэры з поўным стэкам

Як выглядае профіль выдатнага SDET? Якімі навыкамі павінны валодаць SDET?


Цяпер некаторыя з нас чулі пра распрацоўшчыкаў поўнага стэка, але можа і мы тэстэры з поўным стэкам ?

На мой погляд, SDET павінен мець прынамсі наступныя навыкі і атрыбуты:

  • Валодае мысленнем тэстара, цікавы і можа прыдумаць цікавыя сцэнарыі тэстаў
  • Добра разумее прынцыпы і метадалогіі тэсціравання
  • Ведае, што ўсе выпрабаванні носяць пошукавы характар ​​і шануе розніцу паміж тэставанне і праверка.
  • Можа прымяніць адпаведныя метады выпрабаванняў для дадзенага сцэнарыя
  • ведае розніцу паміж тэставаннем і кантролем якасці
  • Можа праграмаваць прынамсі адна мова сцэнарыяў альбо праграмавання (Java і Javascript, здараецца, найбольш папулярныя)
  • Разумее HTTP і як ствараюцца сучасныя вэб-дадаткі
  • Можа пісаць карыстацкі інтэрфейс таксама як Аўтаматызаваныя тэсты API. Той ці іншы недастаткова добры!
  • Ведае Git, запыты на выцягванне, разгалінаванне і г.д. ...
  • Мае спрытны характар ​​і ведае, як тэставанне ўпісваецца ў спрытную мадэль
  • Можа пісаць сцэнарыі тэсту на прадукцыйнасць ( Гатлінг і / або JMeter )
  • Думае пра бяспеку і ў курсе OWASP
  • Зразумеў CI / CD і пабудаваць канвееры
  • Ведае паслугі, якія прапануюць пастаўшчыкі хмарных платформаў, такія як AWS, Azure і Google Cloud


Стаць вялікім SDET

Як бачна, спектр навыкаў, якія чакаюцца ад SDET, даволі шырокі.

Мая парада тэсціроўшчыкам, якія хочуць стаць SDET і заставацца актуальнымі ў новы час кантролю якасці:

Пераканайцеся, што вы працуеце над тым, каб мець усе вышэйпералічаныя навыкі ў профілі SDET_, але як мінімум: _

Ведаць і разумець асновы тэсціравання

Перш за ўсё, ведайце асновы тэсціравання праграмнага забеспячэння.

Вельмі добра быць на адным узроўні з распрацоўшчыкамі і ўмець пісаць прыгожы код. Але калі вам не хапае мыслення якасці, калі вы не можаце прыдумаць дастатковую колькасць сцэнарыяў для глыбокага тэставання гісторый і функцый карыстальнікаў, вы не дадасце ніякай каштоўнасці. Вы маглі б таксама больш працаваць і стаць распрацоўшчыкам.

Ведаць і разумець HTTP

Большасць сучасных вэб-прыкладанняў узаемадзейнічаюць з API.

Вельмі важна ведаць і разумець архітэктуру HTTP і тое, як працуе Інтэрнэт. Калі вы не можаце адрозніць запыт POST ад запыту GET альбо не ведаеце, як гэта зрабіць разабраць JSON , тады як можна эфектыўна праверыць API?

Інвестуйце час у вывучэнне такіх інструментаў тэсціравання API, як Каратэ .

Вы не можаце назваць сябе SDET, калі ўсё, што вы хочаце зрабіць, гэта аўтаматызаваць тэсты, і ўсё, што вам вядома, гэта Java, селен і агурок!