Багато компаній почали відкривати вакансії автоматизованих тестувальників, які називаються SDET (Software Development Engineer in Test). Вперше цю роль популяризували такі великі компанії, як Amazon та Microsoft. А зараз вона є звичайною річчю в реальних описах вакансій по всьому світу.
У цій статті ми розповімо про робочі обов’язки SDET та навички, які вам слід вдосконалити, якщо ви вже працюєте інженером у цій галузі або плануєте стати ним у майбутньому.
Концепція SDET та її взаємодія з розробниками
Отже, перш за все, SDET - це досить гібридна роль у сфері тестування програмного забезпечення. Якщо ми проаналізуємо широкий спектр обов’язків відділів розробки та тестування, то побачимо, що інженери програмного забезпечення будуть ближче до розробників, але мислитимуть як справжні QA-інженери.
Крім того, цілком очевидно, що SDET - це той, хто постійно пише багато програмного коду, який повинен бути чітко структурованим. Він повинен знати, як зробити огляд коду, незалежно від того, чи цей код був розроблений його колегою (також SDET), чи SWE (розробником).
Таким чином, [highlight dark=”no”]SDET можна розглядати як інженера-випробувача, який відповідає за якість продукції.[/highlight]
Навички розробки програмного забезпечення, за які відповідає SDET
- Вміння створювати, розробляти та підтримувати програмний код.
- Вміння робити рев’ю коду та переглядати іншу документацію, створену інженерами-тестувальниками; надавати технічний зворотній зв’язок.
- Розуміння процесу створення фреймворків та вміння впроваджувати фреймворки в проекти автоматизації тестування.
- Можливість створити фреймворк для автоматизації тестування з нуля, якщо це необхідно.
- Вміння аналізувати можливі прогалини в тестовому покритті та інтеграційних тестах.
- Можливість самостійно створювати тестову інфраструктуру та процеси CI/CD, що поєднують різні стеки.
- Може бути наставником для інших інженерів у команді.
У чому різниця між SDET та інженером з тестування?
Так чи інакше, інженер-тестувальник так чи інакше пов’язаний з SET, але з більшим акцентом на виконанні інших завдань. Для цієї ролі головним пріоритетом є перевірка продукту для клієнтів, а відділ розробки є лише другим пріоритетом. Наприклад, деякі інженери-тестувальники в корпорації Google витрачають багато часу на розробку коду у вигляді сценаріїв автоматизації, які відповідають за сценарії користувача і навіть можуть імітувати його діяльність. Вони також відповідають за організацію роботи SWE/SET, інтерпретацію результатів тестування та управління наглядом за ходом тестування, особливо на завершальних етапах проектів.
Основна відмінність між SDET та інженером з тестування полягає у фокусі на користувачеві: не беручи до уваги, що інженер з тестування перетинається з SDET у деяких питаннях автоматизації. Інженер-тестувальник повністю зосереджений на параметрах, орієнтованих на замовника, виконує дослідницькі тести і займається створенням автоматизованих сценаріїв тестування програмного забезпечення.
Чи повинен SDET знати мови програмування?
Так! Будь-який SDET повинен володіти принаймні однією мовою програмування (неважливо, якою саме). Вам просто потрібно зробити вибір і дотримуватися його деякий час. Якщо вам важко вибрати, зупиніться, наприклад, на Java, Python або JavaScript - вони дуже популярні, і на їх основі створено багато продуктів та автоматизованих тестів.
Після того, як ви вивчили одну мову, варто почати вивчати другу набагато глибше - адже вам доведеться аналізувати багато різноманітного програмного коду та створювати тести цими мовами. Також варто зазначити, що багато компаній, які займаються тестуванням програмного забезпечення, враховують ці навички при відборі потенційних кандидатів на роботу.
Висновок
Сподіваємось, цей матеріал дав вам певне уявлення про посаду SDET та його роль в команді. Посада SDET - це не тільки тестування на рівні створення різноманітних автоматизованих тестів, це ще й можливість прямої взаємодії з відділом розробки, коли QA-інженери виконують роботу нарівні з розробниками програмного коду.










0 коментарів