what is sdet know difference between tester
Този урок разглежда всички аспекти на SDET (инженер по разработване на софтуер в тест), включително набор от умения, роли и отговорности, път на заплата и кариера:
Ще обсъдим задълбочено ролята на SDET, очакванията и отговорностите от тази роля, която компаниите очакват, наборът от умения, които SDET трябва да притежава, инструменти и технологии, с които кандидатът трябва да бъде запознат, както и заплатите като цяло предлага се.
Какво ще научите:
Разбиране на ролята на SDET
Разширената форма на SDET е - Инженер по разработка на софтуер в тест
С много прости думи, тази роля е комбинация от междинно съединение между ролята на чист разработчик и ролята на чист тестер. SDET са квалифицирани професионалисти и в двете - Качествен инженеринг, както и в разработването на софтуер.
Терминът SDET е изобретен за пръв път от Microsoft, който след това е последван и използван от повечето големи имена на продукти като Google, Amazon, Adobe, Expedia и др. Ролите на основните очаквания са да заменят повтарящите се ръчни задачи с някаква автоматизация, за да увеличат ефективността, както и надеждност за тестваните приложения.
Сравнение между SDET и ръчно осигуряване на качеството
Ръчните тестери за QA са фокусирани основно върху тестовете Black Box или Application. Това, което означава, е, че за QA тестера важното е спецификация на това как се очаква да се държи приложението, когато му се даде определен вход.
въпрос за интервю за тестване на софтуер и отговори за опитни
QA тестерът просто ще използва тестваното приложение / система, както би използвал всеки нормален потребител / клиент, но с фокус върху по-подробни подробности, както и крайни сценарии, като изпробва различни комбинации на въвеждане и т.н.
SDET се фокусира върху приложението както от White Box, така и от тестването на Black Box. С други думи, те също биха били наясно с вътрешното функциониране на приложението, което им позволява да пишат тестове за автоматизация, използвайки както техники за тестване на White Box или Black Box.
По същество инженерът по разработка на софтуер в теста трябва да е наясно с всички техники за тестване на Black Box заедно с практически познания за разработка / кодиране, за да разбере вътрешното функциониране на приложението, което гарантира по-добри стандарти за качество, както и по-малко дефектен софтуерен продукт.
По същество SDET трябва да действа като средство за ефективно QA чрез всякакви средства. Това също означава, че човекът ще използва своите умения, за да гарантира, че всички части на тествания софтуер са валидирани по най-добрия възможен начин, който трябва да включва тестване както на функционални, така и на нефункционални области.
Нека видим сравнение на SDET и Ръчен тестер за различни параметри
Параметър | SDET | Ръчен тестер |
---|---|---|
Обхват на тестване | Фокусира се върху голямо разнообразие от техники и видове тестване. Пример: Функционални, нефункционални, сигурност, производителност и т.н. | Като цяло се съсредоточете върху функционалната перспектива на тестваното приложение. Ръчният тестер се държи като потребител / клиент на тестваното приложение и го валидира от тази гледна точка. |
Автоматизация | SDET се фокусират най-вече върху автоматизиране на повтарящи се сценарии, за да гарантират, че ръчните тестери могат да се фокусират върху по-сложни и крайни сценарии и да използват по-ефективно своята честотна лента и умения. | Ръчните тестери притежават някои или никакви умения за автоматизация. Необходимо е обаче ръчните тестери да са наясно с използването на инструменти, които подпомагат ръчното тестване Пример: Използване на Postman за изпълнение на крайни точки на API, използване на облачни доставчици като сосови лаборатории за изпълнение на тестове на различни версии на платформата и т.н. |
Основен набор от умения | SDET отговарят предимно за автоматизиране на тестови случаи, както и за писане на скриптове / инструменти за многократна употреба, които помагат на екипа да намали повтарящите се усилия. Старши член на екипа на SDET също е отговорен за създаването на рамки за автоматизация и позволява на други SDET да пишат тестове с помощта на рамката. | Ръчните тестери се фокусират основно върху функционалността на приложенията, фокусират се върху крайни сценарии и сложни тестови случаи. Например: Ръчен тестер, тестващ мобилно приложение, в допълнение към всички функционални сценарии ще измисли сценарии като - Ами ако затворя приложението, когато е в ход бекенд операция / мрежово повикване. - Какво се случва, ако мобилният телефон внезапно бъде изключен, когато клиентът е бил на определена страница в приложението. - Какво се случва, ако Интернет изгасне в средата на качване на документ в приложение и т.н. |
Заплати | Обикновено на SDET се предлагат по-високи заплати (~ 40-50% по-високи от ръчните тестери), поради уменията, които притежават и опитът, който имат. | Чистите роли за ръчно тестване изискват по-ниска заплата в сравнение с хибридната роля, където ръчният тестер също се стреми да научи нови инструменти и да добави стойност към продукта, който се доставя. |
Инженер по разработка на софтуер в Test Skillset
По-долу са изброени наборите от умения, които 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 и екипът за осигуряване на качеството държат качествените порти за даден продукт, преди той да бъде отворен за обществеността и следователно те играят важна роля по отношение на това, дали продуктът е годен за пускане на пазара или не.
Роли и отговорности
Така че нека се опитаме да разберем какво представляват ежедневните задачи и отговорности на SDET и различните задачи, които се очаква да изпълняват.
- Работете заедно с разработчиците, както и със заинтересованите страни в бизнеса и се стремете да автоматизирате критериите за приемане. Това означава с прости думи е - SDET първо разбира изискванията от гледна точка на приемане / клиент и също така трябва да разбере начина, по който се разработва продуктът по отношение на кодиращ език, бази данни и т.н., и след това планира стратегия за автоматизиране на максимални сценарии, колкото е възможно .
- Отговаря за изграждането на стабилни и висококачествени решения за автоматизация на тестове за функционални, регресионни и ефективни тестове.
- Създавайте скриптове / инструменти за многократна употреба, където е необходимо.
- Допринасяйте както за функционални, така и за нефункционални области на тестване. Функционалното тестване включва тестване от гледна точка на функционалност / изисквания и до голяма степен се ръководи от критерии за приемане или истории на потребителите.
Нефункционалното тестване обаче е също толкова важно. Например, колко ефективно е приложението, достатъчно ли е защитено, гарантирайте, че в приложението не са останали хакове, които могат да доведат до затрудняване на сигурността на приложението и в крайна сметка да причинят голяма загуба както на клиентите, така и на организацията. - Те също така участват в дискусиите за проектиране и архитектурен дизайн, както и осигуряват ефективна обратна връзка в прегледите на кодове.
Станете страхотен SDET
За да станете страхотен SDET, нека видим някои съвети / основни инструменти и технически умения, които трябва да се научат, за да се справят по-добре в своите роли.
В предишния раздел научихме за качествата, които инженерът по разработка на софтуер в теста трябва да притежава, за да стане велик в своите роли. Те трябва да имат отворено мислене, да бъдат адаптивни и да могат да комуникират, да си сътрудничат и да допринасят по какъвто и да е начин, както е предписано от продукта или екипа.
Нека да видим списък с някои често срещани инструменти и технологии, които SDET трябва да научат:
- Трябва да има солидно разбиране за принципите на тестване, видовете тестване и методологиите.
- Високо владеещ проблемите за отстраняване на грешки - научете инструменти за отстраняване на грешки като - Chrome Web Debugger които са изключително полезни за отстраняване на грешки в уеб приложения, както и за проучване на мрежови дневници за тествано приложение.
- Те трябва да могат да пишат код / скриптове за многократна употреба и следователно трябва да владеят поне един скриптов език. Най-лесният за научаване е Python, който може да се приложи към голямо разнообразие от задачи, рамки за автоматизация и т.н.
- Бъдете запознати с клиенти за тестване на API като ПОЩАНТ
- Трябва да сте наясно с инструментите и техниките за тестване на Бяла кутия - като подигравателни рамки ( Мокито ) и т.н., тъй като може да се очаква да допринесат и за писане на единични тестове, когато е необходимо.
- Те трябва да са наясно с инструменти за управление на версии като Отивам . Освен това те трябва да са запознати с понятията за Заявки за изтегляне , рецензии на кодове и др.
- Разбиране на архитектурата на уеб приложения и общ модел клиент-сървър.
- Трябва да са наясно с основните концепции за обектно-ориентирано програмиране и разбиране на ТВЪРД модел ( С ingle Отговорност, ИЛИ писалка / Затворен принцип, L Замяна на Исков, Аз сегрегация на nterface, д инверсия на зависимостта)
- Основно разбиране на Непрекъсната интеграция / Непрекъсната доставка концепции (CI / CD), а също така трябва да сте наясно с инструментите за CI като Jenkins / Bamboo и др.
Обикновено се очаква SDET да се погрижат за проблемите с внедряването, поради което разбирането на тези инструменти е наложително. - Те трябва да са запознати с поне една рамка за автоматизация отпред. Най-лесният и най-широко използван през Селен . Това е свещеният Граал на тестването на предния край за уеб приложения и почти всички организации използват рамката Selenium за автоматизиране на тестовете на потребителския интерфейс.
- Изучаване на основите на тестване на производителността, както и писане на прости скриптове с помощта на инструменти за тестване на производителността с отворен код като JMeter е много полезно и можете да се обърнете към това Урок за Jmeter . Това е полезно, тъй като се очаква SDET също да се погрижат за нефункционални изисквания като тестване на производителността.
- Те също така трябва да са наясно с основните концепции за тестване на сигурността. Това също така включва познаване на основните стандарти за кодиране, което гарантира, че в приложението няма оставени нерешени основни недостатъци в сигурността. OWASP е чудесна справка за всички такива основни понятия.
- Очаква се SDET да познават, разбират и прилагат гъвкави методологии за развитие и трябва да се чувстват удобно при работа с екипи, използващи метода Sprint / Scrum на agile.
- Трябва да знаете някой платформи за облачни технологии като - Amazon AWS , Google GCP , или Microsoft Azure .
Тъй като повечето от компаниите сега преминават към облачна инфраструктура, познаването на облачните инструменти и технологии обикновено е полезно за започване.
Сертифициране за SDET
Като цяло няма специални сертификати, които да са на разположение за SDET
Ако някой иска да стартира своя Инженер за разработка на софтуер в тестово пътуване, той може просто да се съсредоточи върху точките, споменати в раздела „Как да се превърне в страхотен SDET“ на този урок, а след това SDET с отворено мислене да продължат своето учебно пътешествие по време на работа.
За тестване на терминология и основи е добре всички, които са в професията за тестване на софтуер, да бъдат сертифицирани с Сертификат за тестване на ISTQB Foundation .
Това сертифициране обхваща всички основни концепции за тестване на софтуер като,
как да се възпроизведе ударна вълна флаш файл -
- Видове тестване - функционални / нефункционални
- Тестване на черна кутия / бяла кутия / сива кутия
- Планиране на тестове / Управление на дефекти
- Тестови техники - разделяне на еквивалентност, матрица на проследимост и др.
Налични са и други международни сертификати за тестване на софтуер, но повечето от тях не са особено важни критерии за подбор на компаниите да наемат SDET.
Наличен е списък на всички такива сертификати тук.
Интервюта
С повечето от по-големите продуктови компании инженерът по софтуерни разработки в тестово интервю е много повече в сравнение с тези с интервюта за разработчици, тъй като се очаква да познават по-голямата част от разработването на методологии и свързаните с тях концепции.
Интервютата обаче са малко снизходителни в сравнение с разработчиците. Тук се подчертава как кандидатът подхожда към даден проблем и колко широко човек може да мисли за проблема.
Като цяло интервютата SDET се състоят от следните кръгове / видове въпроси в почти всички големи продуктови организации като - Amazon, Microsoft, Adobe, Expedia и др.
- Писмен кръг: Писане на тестови случаи за даден продукт. Тук намерението е да се получи представа за това какви аспекти на тестване може да мисли човек за кандидата, ако мисли / изброява всички функционални сценарии, сценарии на крайни случаи, кандидатът се фокусира върху тестване на сигурността, тестване на производителността и т.н.
- Кодиране: Дадено е малко упражнение за кодиране и също така се очаква кандидатът да запише всички сценарии за модулно тестване и функционално тестване. Тук тестваната област или умение е - основни познания / конструкции за кодиране, писане на тестваем код и знания за техники за тестване на бяла кутия като Unit testing, Mocking и т.н.
- Кръг на дизайна: Хвърлен е въпрос за дизайн на системата, пример , как бихте проектирали youtube
Този тип въпроси обикновено имат по-голямо значение за разработчиците, но за SDET интервюиращият търси колко широко може да мисли човек, знае ли кандидатът за концепциите за ООП, кандидатът може ли да мисли за мащабируемост, стабилност, балансиране на натоварването и т.н. , може ли кандидатът да използва правилни бази данни за приложението, което ще бъде проектирано - HR / Мениджър кръг: Тук се наблюдават неща като фитнес в екип, култура и т.н. относно кандидата, както и дискусии относно заплатите, а също така се правят преговори.
Препоръчително четене => Въпроси за интервю за SDET
Заплата на SDET
Както обсъждахме в предишните ни раздели, SDET имат по-високи заплати, отколкото повечето от ролите за ръчно тестване. В много случаи заплатите са сравними с тези при разработчиците на подобно ниво на опит.
Можете да се обърнете тук за да разберете за диапазона на заплатите при различни профили на SDET в различни организации. Като цяло, SDET заплатата се различава както по опит, така и по организация.
По-долу е направено сравнение на заплатите в SDET за водещи компании като Microsoft, Expedia.
Ниво | Microsoft ($) | Expedia ($) |
---|---|---|
SDET - I | 65000 - 80000 | 60000 - 70000 |
SDET - II | 75000 - 11000 | 70000 - 100000 |
Г-н SDET | 100 000 - 150 000 | 90000 - 130 000 |
Кариера
Като цяло SDET кариерната стълбица започва и расте по следния начин:
- SDET-1 - SDET от младо ниво, способен да пише скриптове за автоматизация.
- SDET-2 - Опитен SDET, способен да пише инструменти за многократна употреба и рамки за автоматизация.
- Г-н SDET - SDET за висше ниво, способен да бъде индивидуален сътрудник като SDET 1 и SDET 2, но също така е способен
- Провеждане на прегледи на кодове.
- Участвайте в дискусии за дизайна и предлагайте предложения за подходящи промени в дизайна.
- Участвайте в цялостната стратегия за тестване на продукта.
- Участвайте в модели за доставка на CI / CD, създавайте конвейери за изпълнение и др.
- SDET Manager - След SDET2 можете да изберете Sr SDET или SDET Manager Path. Мениджърът на SDET има отговорности за управление / лидерство, в допълнение към основната работа на SDET.
- Тестов архитект / инженер по решения - Тестовият архитект или инженер по решения е човек, който най-вече проектира / архитектира обща рамка за множество проекти, спецификации на тестови рамки, може да действа и като мениджър на доставки. Тези хора са goto индивиди и помагат на множество проекти за постигане на резултатите от тестовете им и доставят изключително добре тестван продукт без дефекти.
Ето представяне на ниво кариера на SDET Career Path:
Заключение
В този урок научихме задълбочено какво представлява SDET по отношение на ролите и отговорностите, задължителните умения, каква е разликата между SDET и ръчните тестери и какво е необходимо, за да станете страхотен инженер по разработване на софтуер в теста.
Като цяло SDET е много търсена роля и почти всички добри продуктови компании имат тази роля в своите екипи и са високо ценени.
Препоръчително четене
- Въпроси и отговори за интервю за SDET (Пълно ръководство)
- 10 НАЙ-ДОБРИ компании и услуги за разработка на софтуер през 2021 г.
- 20 НАЙ-ДОБРИ инструменти за разработване на софтуер (2021 класации)
- Мерки за SSDLC (жизнен цикъл на сигурна разработка на софтуер)
- SDLC (жизнен цикъл на разработка на софтуер) Фази, методологии, процес и модели
- Методологии за разработване и тестване на софтуер (с плюсове и минуси)
- 5 неща, които начинаещият разработчик (и тестер) трябва да знае за тестването на софтуер
- 5 начина да бъдете смел и уверен софтуерен тестер