what is sdet know difference between tester
У цьому посібнику розглядаються всі аспекти SDET (інженер-розробник програмного забезпечення в тесті), включаючи набір навичок, ролі та обов'язки, зарплату та кар'єрний шлях:
Ми детально обговоримо роль SDET, очікування та відповідальність від цієї ролі, яку очікують компанії, набір навичок, якими повинен володіти SDET, інструменти та технології, з якими повинен працювати кандидат, а також загальну зарплату пропонується.
Що ви дізнаєтесь:
Розуміння ролі SDET
Розширена форма SDET - Інженер з розробки програмного забезпечення в тесті
Дуже простими словами, ця роль є поєднанням проміжного між чистою роллю розробника та чистою тестовою роллю. SDET - це кваліфіковані професіонали як в галузі інженерії якості, так і в галузі розробки програмного забезпечення.
Термін SDET вперше був винайдений корпорацією Майкрософт, за якою слідували і використовувались більшістю відомих назв продуктів, таких як Google, Amazon, Adobe, Expedia тощо. Основними очікуваннями ролей були заміна ручних повторюваних завдань на деяку автоматизацію для підвищення ефективності, а також надійність для програм, що випробовуються.
Порівняння між SDET та ручним забезпеченням якості
Ручні тестери контролю якості в основному орієнтовані на тестування 'Чорний ящик' або 'Прикладне програмне забезпечення'. Що це означає, для тестувальника контролю якості важливо те, як слід очікувати, що програма поводитиметься за певного вводу.
Як відкрити файли DAT у Windows - -
Тестер контролю якості просто використовував би Випробувану програму / систему, як це використовував би будь-який звичайний користувач / замовник, але з акцентом на більш дрібні деталі, а також на крайові сценарії, спробуючи різні комбінації введення тощо
SDET фокусується на застосуванні як з White Box, так і на тестуванні Black Box. Іншими словами, вони також були б обізнані про внутрішнє функціонування програми, що дозволяє їм писати тести автоматизації, використовуючи як тестування White Box, так і Black Box.
По суті, інженер-розробник програмного забезпечення в тесті повинен знати всі методи тестування Black Box, а також практичні знання з розробки / кодування, щоб зрозуміти внутрішнє функціонування програми, що забезпечує кращі стандарти якості, а також менш дефектний програмний продукт.
По суті, SDET повинен діяти як механізм забезпечення ефективного контролю якості будь-якими способами. Що це також означає, що людина використовуватиме свої навички для забезпечення того, щоб усі частини тестового програмного забезпечення були перевірені найкращим чином, що повинно включати тестування як функціональних, так і нефункціональних областей.
Давайте подивимося порівняння SDET та ручного тестера за різними параметрами
Параметр | SDET | Ручний тестер |
---|---|---|
Сфера тестування | Зосереджується на широкому розмаїтті методів та типів випробувань. Приклад: Функціональний, Нефункціональний, Безпека, Продуктивність тощо. | Як правило, зосередьтеся на функціональній перспективі тестованої програми. Тестер, що працює вручну, поводиться як користувач / замовник тестованої програми та перевіряє її з цієї точки зору. |
Автоматизація | SDET в основному зосереджуються на автоматизації повторюваних сценаріїв, щоб гарантувати, що ручні тестери можуть зосередитись на більш складних та крайових сценаріях та ефективніше використовувати свою пропускну здатність та навички. | Тестери, що працюють вручну, володіють деякими або відсутністю навичок автоматизації. Однак потрібно, щоб ручні тестери були обізнані про використання інструментів, які допомагають у ручному тестуванні Приклад: Використання Postman для виконання кінцевих точок API, використання хмарних провайдерів, таких як лабораторії соусів, для виконання тестів на різних версіях платформи тощо. |
Первинний набір навичок | SDET відповідають головним чином за автоматизацію тестових випадків, а також за написання багаторазових скриптів / інструментів, які допомагають команді зменшити повторювані зусилля. Старший член команди SDET також відповідає за створення платформ автоматизації та надання можливості іншим SDET писати тести за допомогою фреймворку. | Ручні тестери в основному зосереджуються на функціональності додатків, на кращих сценаріях та складних тестових випадках. Наприклад: Тестер, який вручну тестує мобільний додаток, на додаток до всіх функціональних сценаріїв міг би подумати про такі сценарії - Що робити, якщо я закрию програму, коли триває внутрішня операція / мережевий дзвінок. - Що станеться, якщо мобільний телефон раптово вимкнеться, коли клієнт знаходився на певній сторінці програми. - Що станеться, якщо Інтернет вимкнеться в середині завантаження документа в програму тощо. |
Зарплата | Як правило, SDET пропонують вищу заробітну плату (~ 40-50% вище, ніж тестувальники, що працюють вручну), через їхні навички та досвід. | Ролі чистого ручного тестування мають нижчу зарплату в порівнянні з гібридною роллю, коли ручний тестувальник також прагне вивчити нові інструменти та додати цінності товару, що поставляється. |
Інженер з розробки програмного забезпечення в тестовому наборі навичок
Нижче наведено набори навичок, якими повинен володіти SDET:
# 1) Відкрите мислення
Перший і найголовніший набір навичок полягає в тому, що будь-який інженер-розробник програмного забезпечення в тесті повинен бути відкритим для вивчення будь-якої мови сценаріїв / інструментів, необхідних для того, щоб вони могли ретельно протестувати тестоване додаток.
Цілком ймовірно, що як SDET в одній компанії ви можете закінчити працювати за допомогою технологічного стеку Microsoft / .NET, але в іншій компанії мовою розробки є насамперед Java - тому SDET, як очікується, матиме відкритий спосіб мислення для вивчення нових матеріалів / технологій, як і коли потрібно.
# 2) Адаптивний
Інженер-розробник програмного забезпечення у тесті повинен адаптуватися до потреб проекту, інструментів та технологій, баз даних тощо. Наприклад - як SDET ви можете мати досвід тестування API, але інша роль вимагає тестування інтерфейсу користувача або інтерфейсу. Отже, роль вимагає від вас адаптації до потреб проекту та постачання високоякісного стандартного продукту.
# 3) Багатозадачність
У більшості компаній, що виробляють продукцію, часто співвідношення DEV та QA значною мірою стає нерівним. Це означає, що часто можна спостерігати команди, які мають співвідношення DEV: QA 4: 1 або навіть 5: 1. Отже, надзвичайно важливо, щоб SDET, як очікувалося, брав участь у багатьох речах і здійснював їх.
Це декілька обов'язків, над якими, як очікується, працюватиме SDET:
- Брати участь у зустрічах із зацікавленими сторонами: SDET повинен тісно взаємодіяти як з розробниками, так і з представниками продуктів, щоб зрозуміти продукт від обох розробників, а також позицію продукту, а потім розробити / запропонувати стратегію автоматизації.
- Створіть фреймворк / інструменти
- Стратегізуйте планування тестів
- Підняти / дослідити дефекти
- Іноді може знадобитися внести участь у модульному тестуванні разом із розробниками.
# 4) Дослідницьке мислення
Кожен SDET повинен пам'ятати ці рядки постійно - ' Якщо ви постійно повторюєте одні й ті самі дії, подумайте про автоматизацію '
Людина мала б спосіб мислення зменшити зусилля на все, що трапляється, за допомогою інструментів для підвищення продуктивності, а також для забезпечення високоякісних програмних продуктів.
На додаток до всіх робіт з автоматизації, основною роботою SDET є постачання високоякісних продуктів з усім необхідним, отже, йому / їй також потрібно буде зосередитись на тестуванні продуктів за допомогою дослідницьких способів виявити все нові і нові приховані помилки та дефекти.
# 5) Співпрацювати, сприяти та спілкуватися
Роль SDET передбачає взаємодію між різними зацікавленими сторонами, такими як розробники, продукт, тестувальники вручну тощо.
Важливо, щоб SDET співпрацювали з усіма необхідними зацікавленими сторонами, а також передавали всі необхідні деталі, коли та коли це доречно.
SDET та команда контролю якості контролюють якість продукту до його відкриття для громадськості, а отже, вони відіграють важливу роль з точки зору того, що продукт вважається придатним для випуску для покупців чи ні.
Ролі та обов'язки
Тож спробуємо зрозуміти, що таке повсякденні роботи та обов’язки СРОТ та різні завдання, які вони повинні виконувати.
безкоштовна програма для завантаження пісень mp3 для андроїд
- Працюйте разом із розробниками, а також зацікавленими сторонами бізнесу та прагніть автоматизувати критерії прийнятності. Це означає простими словами: SDET спочатку розуміє вимоги з точки зору прийняття / споживача, а також повинен розуміти спосіб розробки продукту з точки зору мови кодування, баз даних тощо, а потім планує стратегію для автоматизації максимально можливих сценаріїв .
- Відповідає за створення надійних та якісних рішень для автоматизації випробувань для функціональних, регресійних та експлуатаційних випробувань.
- Створюйте багаторазові сценарії / інструменти, де це потрібно.
- Сприяти як функціональним, так і нефункціональним областям тестування. Функціональне тестування включає тестування з точки зору функціональності / вимог і в основному визначається критеріями прийняття або історіями користувачів.
Проте не менш важливим є і нефункціональне тестування. Наприклад, наскільки продуктивним є додаток, чи є додаток достатньо безпечним, переконайтесь, що в додатку не залишилося хаків, які можуть призвести до перешкоджання безпеці програми та можуть призвести до великих збитків як для клієнтів, так і для організації. - Вони також беруть участь у дискусіях з дизайну та архітектурного дизайну, а також забезпечують ефективний зворотний зв'язок у оглядах коду.
Стати Великим SDET
Щоб стати чудовим SDET, давайте подивимось декілька порад / основних інструментів та технічних навичок, яких потрібно навчитися, щоб краще проживати свої ролі.
У попередньому розділі ми дізналися про якості, якими повинен володіти інженер-розробник програмного забезпечення в тесті, щоб стати чудовим у своїх ролях. Вони повинні мати відкрите мислення, бути адаптивними та мати можливість спілкуватися, співпрацювати та робити внески будь-яким способом, як це передбачено продуктом або командою.
Давайте переглянемо перелік деяких поширених інструментів та технологій, які SDET повинні вивчити:
- Повинен добре розуміти принципи тестування, типи тестування та методології.
- Високо володіє проблемами налагодження - вивчіть такі інструменти налагодження, як - Веб-налагоджувач Chrome які надзвичайно корисні для налагодження веб-програм, а також для вивчення мережевих журналів програми, що тестується.
- Вони повинні вміти писати багаторазовий код / сценарії, а отже, вони повинні володіти принаймні однією мовою сценаріїв. Найпростіший у вивченні - це Python, який можна застосовувати до найрізноманітніших завдань, систем автоматизації тощо.
- Ознайомтесь із такими клієнтами, як тестування API ПОШТОВНИК
- Потрібно знати про інструменти та методи тестування Білої скриньки, такі як механізми глузування ( Мокіто ) та ін., оскільки від них, як вимагається, можна було б посприяти написанню модульних тестів.
- Вони повинні бути в курсі таких інструментів управління версіями, як Іди . Крім того, вони повинні бути знайомі з поняттями Запити на витягування , огляди коду тощо
- Розуміння архітектури веб-додатків та загальної моделі клієнт-сервер.
- Повинен знати основні концепції об’єктно-орієнтованого програмування та розуміння ТВЕРДИЙ модель ( S відповідальність відповідає, АБО ручка / Закритий принцип, L iskov Substitution, Я сегрегація інтерфейсу, D інверсія залежності)
- Базове розуміння Постійна інтеграція / Безперервна доставка концепції (CI / CD), а також слід знати про інструменти CI, такі як Jenkins / Bamboo тощо.
Як правило, SDET повинні дбати про проблеми розгортання, тому розуміння цих інструментів є обов’язковим. - Вони повинні бути знайомі принаймні з однією структурою автоматичного інтерфейсу. Найпростіший і найбільш широко використовуваний в Росії Селен . Це святий Грааль інтерфейсного тестування веб-додатків, і майже всі організації використовують структуру Selenium для автоматизації тестів інтерфейсу користувача.
- Вивчення основ тестування продуктивності, а також написання простих скриптів за допомогою таких інструментів тестування продуктивності з відкритим кодом JMeter дуже корисно, і ви можете звернутися до цього Підручник з Jmeter . Це корисно, оскільки SDET також повинні дбати про нефункціональні вимоги, такі як тестування продуктивності.
- Вони також повинні знати основні поняття тестування безпеки. Це також охоплює знання основних стандартів кодування, що гарантує, що в додатку не буде розглянуто основні недоліки безпеки. OWASP є чудовим довідником для всіх таких фундаментальних концепцій.
- Очікується, що SDET знатимуть, розумітимуть та впроваджуватимуть гнучкі методології розробки, і їм буде комфортно працювати з командами, що використовують спритну методологію спритності / Scrum.
- Майте на увазі будь-кого з хмарних технологічних платформ, таких як - Amazon AWS , Google GCP , або Microsoft Azure .
Оскільки більшість компаній зараз переходять до хмарної інфраструктури, базове розуміння хмарних інструментів та технологій, як правило, корисно для початку.
Сертифікація для SDET
Загалом, для SDET немає спеціальних сертифікатів
Якщо хтось хоче розпочати свого інженера з розробки програмного забезпечення в тестовій подорожі, він може просто зосередитись на пунктах, згаданих у розділі «Як стати чудовим SDET» цього посібника, а тоді SDET з їх відкритим мисленням повинні продовжити свою навчальну подорож. на роботі.
Для тестування термінології та основ добре, щоб усі, хто займається тестуванням програмного забезпечення, пройшли сертифікацію Сертифікат про тестування Фонду ISTQB .
Ця сертифікація охоплює всі основні концепції тестування програмного забезпечення, такі як,
- Типи тестування - функціональні / нефункціональні
- Тестування чорного ящика / білого ящика / сірого ящика
- Планування випробувань / Управління дефектами
- Методи випробувань - розділення еквівалентності, матриця простежуваності тощо.
Існують також інші міжнародні сертифікації з тестування програмного забезпечення, але більшість із них не є дуже важливими критеріями вибору для компаній, які наймуть SDET.
Доступний перелік усіх таких сертифікатів тут.
Інтерв’ю
У більшості великих компаній-виробників Інженер-розробник програмного забезпечення на тестових співбесідах набагато більше у порівнянні з тими, хто проводить співбесіди з розробниками, оскільки від них очікується, що вони знатимуть більшість розробок методологій та суміжних концепцій.
Однак інтерв’ю є трохи м’яким порівняно з розробниками. Тут наголошується на тому, як кандидат підходить до проблеми і наскільки широко людина може думати про проблему.
Загалом інтерв’ю SDET складаються з наступних раундів / типів запитань майже у всіх великих продуктових організаціях, таких як Amazon, Microsoft, Adobe, Expedia тощо.
- Письмовий раунд: Написання тестових кейсів для даного товару. Тут намір полягає в тому, щоб отримати уявлення про те, які всі аспекти тестування може думати людина про кандидата, якщо він думає / перераховує всі функціональні сценарії, крайові сценарії, є кандидатом, який зосереджується на тестуванні безпеки, тестуванні продуктивності тощо.
- Раунд кодування: Дано невелику вправу кодування, а також від кандидата, як очікується, записати всі сценарії модульного тестування та функціонального тестування. Тут випробовується область або навичка - базові знання / конструкції кодування, написання перевіряється коду та знання про такі методи тестування білих ящиків, як Unit testing, Mocking тощо.
- Дизайнерський раунд: Виникає питання про дизайн системи, приклад , як би ви розробляли YouTube
Зазвичай такі запитання мають більшу актуальність для розробників, але для SDET інтерв’юер шукає, наскільки широко людина може думати, чи знає кандидат про концепції ООП, чи здатний кандидат подумати про масштабованість, надійність, балансування навантаження тощо. , чи може кандидат використовувати правильні бази даних для програми, яка планується розробити - Раунд HR / Manager: Тут про кандидата спостерігають такі речі, як командна підготовка, культурна підготовка тощо, а також обговорення заробітної плати, а також ведуться переговори.
Рекомендована література => Питання інтерв’ю SDET
Зарплата SDET
Як ми вже обговорювали в попередніх розділах, SDET мають вищу зарплату, ніж більшість ролей тестування вручну. У багатьох випадках зарплата порівнянна із зарплатою розробників на подібному рівні досвіду.
Ви можете звернутися тут щоб дізнатись про діапазон заробітних плат за різними профілями SDET в різних організаціях. Загалом, заробітна плата SDET відрізняється як по досвіду, так і по організації.
Нижче наведено порівняння заробітної плати SDET для провідних компаній, таких як Microsoft, Expedia.
Рівень | Microsoft ($) | Expedia ($) |
---|---|---|
SDET - I | 65000 - 80000 | 60000 - 70000 |
SDET - II | 75000 - 11000 | 70000 - 100000 |
Пане СДЕТ | 100 000 - 150 000 | 90000 - 130 000 |
Кар'єра
Загалом кар’єрні сходи SDET починаються та ростуть наступним чином:
- SDET-1 - SDET молодшого рівня, здатний писати сценарії автоматизації.
- SDET-2 - Досвідчений SDET, здатний писати багаторазові інструменти та засоби автоматизації.
- Пане СДЕТ - SDET старшого рівня, здатний бути індивідуальним автором, як SDET 1 та SDET 2, але також здатний
- Проведення огляду коду.
- Беріть участь у дискусіях щодо дизайну та робіть пропозиції щодо відповідних змін у дизайні.
- Беріть участь у загальній стратегії тестування продукту.
- Брати участь у моделях доставки CI / CD, створювати конвеєри виконання тощо.
- Менеджер SDET - Після SDET2 ви можете вибрати Sr SDET або Шлях менеджера SDET. На додаток до основної роботи SDET менеджер SDET також несе відповідальність за управління / керівництво.
- Архітектор тестів / інженер з рішень - Архітектор випробувань або інженер рішень - це той, хто в основному розробляє / розробляє загальний фреймворк для декількох проектів, встановлює специфікації тестів, також може виступати в ролі менеджера з доставки. Ці люди - люди, які перебувають серед людей, і допомагають багатьом проектам досягти результатів випробувань та поставляють добре перевірений продукт без дефектів.
Ось представлення рівня кар’єрного шляху SDET на рівні блоку:
Висновок
У цьому посібнику ми глибоко дізналися про те, що таке SDET з точки зору ролей та відповідальності, обов’язкових навичок, яка різниця між SDET та ручними тестерами та що потрібно, щоб стати чудовим інженером з розробки програмного забезпечення в тесті.
Загалом, SDET - це роль, яка користується великим попитом, і майже всі хороші компанії-виробники виконують цю роль у своїх командах і високо цінуються.
Рекомендована література
- Запитання та відповіді на інтерв’ю SDET (повний посібник)
- 10 КРАЩИХ компаній та послуг із розробки програмного забезпечення на замовлення у 2021 році
- 20 НАЙКРАЩИХ засобів розробки програмного забезпечення (2021 рейтинг)
- Заходи щодо SSDLC (безпечний життєвий цикл розробки програмного забезпечення)
- Етапи, методології, процеси та моделі SDLC (життєвий цикл розробки програмного забезпечення)
- Методології розробки та тестування програмного забезпечення (з плюсами та мінусами)
- 5 речей, які повинен знати розробник (і тестувальник) про тестування програмного забезпечення
- 5 способів бути сміливим і впевненим у собі тестувальником програмного забезпечення