середа, 25 травня 2016 р.

Питання на співбесіду

Приймаючи участь у співбесідах, я рідко дотримуюся свого плану, адже, на мою думку, співбесіда має лишатися "спів-" - тобто взаємною - "бесідою" - тобто діалогом рівних людей, що мають якісь спільні інтереси. Найбільше мене тішить, коли на співбесіді я дізнаюся про щось нове й цікаве.
Ось мій особистий список того, що я хочу дізнатися у кандидата, безвідносно його професійного рівня. Просто відповіді провідного "сіньора" будуть більш фундаментальними та розлогими, а молодшого "джуніора" - короткими, наприклад "Не знаю." :-)

Про тестування 
  • Де Ви вчитеся тестуванню?
Саме у теперішньому часі. Тут мене цікавить не те, які курси з тестування кращі, а що мій співбесідник читає та робить, щоб підвищити свій професійний рівень. Який блог його улюблений, чи яку книжку він останню прочитав (може й не з тестування) і чого вона навчила його, як тестувальника.  
  •  Що Ви знаєте про дослідницьке тестування (exploratory testing)?
Роки йдуть, і люди потроху усвідомлюють, що тестування - це не 50 аркушів таблиць тест-кейсів, і навіть не таблиця із двохсот рядків результатів. Але ще вистачає "випускників старої школи ISTQB", де не існує балансу між писаним (scripted) та довільним (ad hoc) підходами, а лише той або інший. Що ж, усьому свій час.
  •  Що таке регресія? І які тести треба включати у регресійний набір тестів (regression test suite)?
Даю правильну відповідь одразу: Регресія - це процес, зворотній прогресу.
Чесно скажу, мене трохи дратує, що у теперішньому айті-слензі слово "регресія" означає "регресійне тестування". Навіть регресійне тестування має бути "тестуванням". Я взагалі люблю звертати увагу всередину речень і слів :-)
А про набір тестів навіть в ISTQB написано.
  • Що таке smoke-тестування? (не подобається мені чомусь переклад "димове")
Мені здається, важливо сказати, до чого тут дим, і де він з’являвся.
  • Як Ви плануєте тестування?
Це я питаю, в основному, щоб самому чогось навчитися, бо це в теорії все легко, а на практиці - знайшов у JavaScript’і якусь цікаву фігню, і сидиш її пів дня крутиш-колупаєш... Горе з плануванням.
  • Життєвий цикл багів
Дуже подобається, коли починають отак: "Ну, спершу програміст його пише". Хоча, це й не зовсім так, бо баги можуть бути і в реквайрментах, коли до писання коду ще ніхто і не ставав.

Про технічні навички
Це, звичайно, більш формальна частина. Тут треба, можна сказати, ставити галочки у чек-листі. 
  • Чи тестували Ви API (Чим? Яке? Мова тестів?..)
  • Чи писали на WebDriver’і? (PageObject? Типи локаторів?)
  • SQL (Select? Join?)
  • Unix (|? <? grep?)

У мене все. 
Ласкаво прошу писати свої думки щодо всього вищеозначеного :-)