what is sdet know difference between tester
Ten samouczek omawia wszystkie aspekty SDET (inżynier rozwoju oprogramowania w teście), w tym zestaw umiejętności, role i obowiązki, wynagrodzenie i ścieżkę kariery:
Omówimy dogłębnie rolę SDET, oczekiwania i obowiązki związane z tą rolą, których oczekują firmy, zestaw umiejętności, które musi posiadać SDET, narzędzia i technologie, z którymi kandydat powinien się zapoznać, a także ogólnie wynagrodzenia oferowany.
Czego się nauczysz:
Zrozumienie roli SDET
Rozszerzona forma SDET to - Inżynier rozwoju oprogramowania w teście
Mówiąc bardzo prosto, rola ta jest połączeniem pośredniej roli między czystą rolą programisty a rolą czystego testera. SDET to wykwalifikowani specjaliści zarówno w zakresie inżynierii jakości, jak i tworzenia oprogramowania.
Termin SDET został po raz pierwszy wynaleziony przez firmę Microsoft, a następnie był używany przez większość znanych produktów, takich jak Google, Amazon, Adobe, Expedia itp. Główne oczekiwania polegały na zastąpieniu ręcznych, powtarzalnych zadań pewną automatyzacją w celu zwiększenia wydajności, a także niezawodność dla testowanych aplikacji.
Porównanie SDET i ręcznej kontroli jakości
Testerzy ręcznej kontroli jakości koncentrują się głównie na testach czarnych skrzynek lub aplikacji. Oznacza to, że dla testera QA liczy się specyfikacja tego, jak aplikacja ma się zachowywać, gdy otrzyma określone dane wejściowe.
jak zaktualizować system Windows 10 bios
Tester QA użyłby po prostu testowanej aplikacji / systemu, tak jak zwykły użytkownik / klient, ale koncentrując się na bardziej szczegółowych szczegółach, a także scenariuszach krawędzi, próbując różnych kombinacji danych wejściowych itp.
SDET koncentruje się na testowaniu aplikacji zarówno z testów White Box, jak i Black Box. Innymi słowy, byliby również świadomi wewnętrznego funkcjonowania aplikacji, co umożliwia im pisanie testów automatyzacji przy użyciu zarówno technik testowania White Box, jak i Black Box.
Zasadniczo inżynier rozwoju oprogramowania w teście musi być świadomy wszystkich technik testowania Black Box, a także praktycznej wiedzy na temat programowania / kodowania, aby zrozumieć wewnętrzne funkcjonowanie aplikacji, co zapewnia lepsze standardy jakości, a także mniej wadliwe oprogramowanie.
Zasadniczo SDET powinien działać jako czynnik umożliwiający skuteczną zapewnianie jakości za pomocą wszelkich środków. Oznacza to również, że osoba wykorzystałaby swoje umiejętności, aby zapewnić walidację wszystkich części testowanego oprogramowania w najlepszy możliwy sposób, który powinien obejmować testowanie zarówno obszarów funkcjonalnych, jak i niefunkcjonalnych.
Zobaczmy porównanie SDET i testera ręcznego dla różnych parametrów
Parametr | SDET | Tester ręczny |
---|---|---|
Zakres testowania | Koncentruje się na szerokiej gamie technik i typów testowania. Przykład: Funkcjonalne, niefunkcjonalne, bezpieczeństwo, wydajność itp. | Ogólnie rzecz biorąc, skup się na perspektywie funkcjonalności testowanej aplikacji. Tester ręczny zachowuje się jak użytkownik / klient testowanej aplikacji i weryfikuje ją z tej perspektywy. |
Automatyzacja | SDET koncentrują się głównie na automatyzacji powtarzalnych scenariuszy, aby upewnić się, że testerzy ręczni mogą skupić się na bardziej złożonych i skrajnych scenariuszach oraz bardziej efektywnie wykorzystywać swoją przepustowość i umiejętności. | Testerzy ręczni mają pewne lub żadne umiejętności w zakresie automatyzacji. Wymagane jest jednak, aby testerzy ręczni byli świadomi używania narzędzi wspomagających testowanie ręczne Przykład: Używanie programu Postman do wykonywania punktów końcowych API, używanie dostawców chmury, takich jak laboratoria sosu, do wykonywania testów na różnych wersjach platformy itp. |
Podstawowy zestaw umiejętności | SDET są przede wszystkim odpowiedzialne za automatyzację przypadków testowych, a także pisanie skryptów / narzędzi wielokrotnego użytku, które pomagają zespołowi zredukować powtarzające się wysiłki. Starszy członek zespołu SDET jest również odpowiedzialny za tworzenie ram automatyzacji i umożliwianie innym SDET pisania testów przy użyciu tej struktury. | Testerzy ręczni koncentrują się głównie na funkcjonalności aplikacji, na skrajnych przypadkach i złożonych przypadkach testowych. Na przykład: Tester ręczny testujący aplikację mobilną, oprócz wszystkich scenariuszy funkcjonalnych, pomyślałby o scenariuszach takich jak - Co się stanie, jeśli zamknę aplikację, gdy trwa operacja backendu / połączenie sieciowe. - Co się stanie, jeśli telefon komórkowy zostanie nagle wyłączony, gdy klient był na określonej stronie w aplikacji. - Co się stanie, jeśli Internet wyłączy się w trakcie przesyłania dokumentu do aplikacji itp. |
Wynagrodzenia | SDET zazwyczaj otrzymują wyższe pensje (~ 40-50% wyższe niż testerom manualnym) ze względu na posiadane umiejętności i doświadczenie. | Role testujące wyłącznie manualnie wymagają niższej pensji w porównaniu z rolą hybrydową, gdzie tester manualny stara się również nauczyć nowych narzędzi i dodać wartość do dostarczanego produktu. |
Inżynier ds. Rozwoju oprogramowania w Test Skillset
Poniżej wymienione są umiejętności, które musi posiadać SDET:
1) Otwarte nastawienie
Pierwszym i najważniejszym zestawem umiejętności jest to, że każdy inżynier programistyczny w teście powinien być otwarty na naukę dowolnego języka / narzędzi skryptowych, które są wymagane, aby umożliwić mu dokładne przetestowanie testowanej aplikacji.
Jest całkiem prawdopodobne, że jako SDET w jednej firmie możesz skończyć pracę przy użyciu stosu technologii Microsoft / .NET, ale w innej firmie językiem programowania jest głównie Java - dlatego oczekuje się, że SDET będzie miał otwarty sposób myślenia, aby uczyć się nowych rzeczy / technologii, jak i kiedy jest to wymagane.
# 2) Adaptacyjny
Inżynier rozwoju oprogramowania w teście musi dostosować się do potrzeb projektu, narzędzi i technologii, baz danych itp. Na przykład - jako SDET możesz mieć doświadczenie w testowaniu API, ale inna rola wymaga przetestowania interfejsu użytkownika lub interfejsu użytkownika. Stąd rola wymaga dostosowania się do potrzeb projektu, dostarczenia wysokiej jakości standardowego produktu.
# 3) Wielozadaniowość
W większości firm produkujących często współczynnik DEV i QA jest w dużym stopniu wypaczony. Oznacza to, że często zespoły mają stosunek DEV: QA 4: 1 lub nawet 5: 1. Stąd konieczne jest, aby SDET był zaangażowany w wiele rzeczy i dostarczał.
Oto kilka zadań, nad którymi powinien pracować SDET:
- Weź udział w spotkaniach interesariuszy: SDET musi ściśle współpracować zarówno z programistami, jak i osobami zajmującymi się produktem, aby zrozumieć produkt zarówno z punktu widzenia programistów, jak iz punktu widzenia produktu, a następnie opracować / zasugerować strategię automatyzacji.
- Twórz ramy / narzędzia
- Strategiczne planowanie testów
- Podnieś / zbadaj usterki
- Czasami może być wymagane uczestnictwo w testach jednostkowych wraz z programistami.
# 4) Nastawienie eksploracyjne
Każdy SDET powinien zawsze pamiętać te wiersze - „ Jeśli cały czas powtarzasz te same czynności, rozważ automatyzację '
Osoba ta miałaby nastawienie na zmniejszenie wysiłku związanego z czymkolwiek, co pojawi się na jej drodze, za pomocą narzędzi zwiększających produktywność, a także zapewniających wysokiej jakości oprogramowanie.
Oprócz wszystkich prac związanych z automatyzacją, głównym zadaniem SDET jest dostarczanie wysokiej jakości produktów we wszystkim, czego potrzeba, dlatego też musiałby również skupić się na testowaniu produktów poprzez odkrywanie coraz większej liczby ukrytych błędów i defektów.
5) Współpracuj, współdziałaj i komunikuj się
Rola SDET wymaga utrzymywania kontaktów między różnymi interesariuszami, takimi jak deweloperzy, produkty, testerzy ręczni itp.
Ważne jest, aby SDET współpracowały ze wszystkimi wymaganymi interesariuszami, a także przekazywały wszystkie niezbędne szczegóły, kiedy to stosowne.
Zespoły SDET i QA utrzymują bramy jakości produktu, zanim zostanie on udostępniony publicznie, a zatem odgrywają ważną rolę w uznawaniu produktu za odpowiedni do wprowadzenia na rynek lub nie.
Role i obowiązki
Spróbujmy więc zrozumieć, czym są codzienne prace i obowiązki SDET oraz różne zadania, które mają wykonywać.
- Współpracuj z programistami oraz interesariuszami biznesowymi i staraj się zautomatyzować kryteria akceptacji. Oznacza to w prostych słowach - SDET najpierw rozumie wymagania z punktu widzenia akceptacji / klienta, a także musi rozumieć sposób tworzenia produktu pod względem języka kodowania, baz danych itp., A następnie planuje strategię automatyzacji maksymalnych scenariuszy, jak to możliwe .
- Odpowiedzialny za tworzenie solidnych i wysokiej jakości rozwiązań do automatyzacji testów dla testów funkcjonalnych, regresyjnych i wydajnościowych.
- Twórz skrypty / narzędzia wielokrotnego użytku, gdziekolwiek jest to wymagane.
- Przyczyniaj się zarówno do funkcjonalnych, jak i niefunkcjonalnych obszarów testowania. Testowanie funkcjonalne obejmuje testowanie z perspektywy funkcjonalności / wymagań i jest w dużej mierze oparte na kryteriach akceptacji lub historyjkach użytkownika.
Jednak równie ważne jest również testowanie niefunkcjonalne. Na przykład, jak wydajna jest aplikacja, czy aplikacja jest wystarczająco bezpieczna, upewnij się, że w aplikacji nie ma żadnych hacków, które mogłyby wpłynąć na bezpieczeństwo aplikacji i spowodować duże straty zarówno dla klientów, jak i dla organizacji. - Uczestniczą także w dyskusjach na temat projektowania i projektowania architektonicznego, a także zapewniają skuteczną informację zwrotną podczas przeglądów kodu.
Zostań wielkim SDET
Aby zostać świetnym SDET, zobaczmy kilka wskazówek / podstawowych narzędzi i umiejętności technicznych, których należy się nauczyć, aby lepiej radzić sobie w ich rolach.
W poprzedniej sekcji dowiedzieliśmy się o cechach, jakie musi posiadać inżynier ds. Rozwoju oprogramowania w teście, aby stać się świetnym w swoich rolach. Muszą mieć otwarty sposób myślenia, być adaptacyjni i powinni umieć komunikować się, współpracować i wnosić wkład w dowolny sposób, zgodnie z wymaganiami produktu lub zespołu.
Zobaczmy listę niektórych typowych narzędzi i technologii, których SDET muszą się nauczyć:
- Powinien dobrze rozumieć zasady testowania, typy testów i metodologie.
- Bardzo biegły w rozwiązywaniu problemów z debugowaniem - poznaj narzędzia do debugowania, takie jak - Chrome Web Debugger które są niezwykle przydatne do debugowania aplikacji internetowych, a także do badania dzienników sieciowych testowanej aplikacji.
- Powinni umieć pisać kod / skrypty wielokrotnego użytku, dlatego powinni biegle posługiwać się przynajmniej jednym językiem skryptowym. Najłatwiejszym do nauczenia się jest Python, który można zastosować do szerokiej gamy zadań, struktur automatyzacji itp.
- Zapoznaj się z klientami testującymi API, takimi jak LISTONOSZ
- Należy pamiętać o narzędziach i technikach testowania typu white box, takich jak frameworki do makietowania Mockito ) itp., ponieważ można się spodziewać, że w razie potrzeby przyczynią się do pisania testów jednostkowych.
- Powinni być świadomi narzędzi do wersjonowania, takich jak Iść . Powinni także znać pojęcia Wyciągnij żądania , przeglądy kodu itp.
- Zrozumienie architektury aplikacji internetowych i ogólnego modelu klient-serwer.
- Powinien znać podstawowe pojęcia programowania obiektowego i rozumieć je SOLIDNY Model ( S Odpowiedzialność, LUB pióro / zasada zamknięta, L podstawienie iskova, ja Segregacja na powierzchni, re inwersja ependencji)
- Podstawowe rozumienie Ciągła integracja / Ciągła dostawa koncepcje (CI / CD), a także należy pamiętać o narzędziach CI, takich jak Jenkins / Bamboo itp.
Oczekuje się, że SDET zajmą się również problemami związanymi z wdrażaniem, dlatego zrozumienie tych narzędzi jest niezbędne. - Powinni znać co najmniej jedną platformę automatyzacji frontendu. Najłatwiejszy i najczęściej używany w Selen . To święty Graal testów frontendowych dla aplikacji internetowych i prawie wszystkie organizacje używają frameworka Selenium do automatyzacji testów interfejsu użytkownika.
- Poznanie podstaw testowania wydajności, a także pisania prostych skryptów przy użyciu narzędzi do testowania wydajności typu open source, takich jak JMeter jest bardzo pomocny i możesz się do tego odnieść Samouczek Jmeter . Jest to pomocne, ponieważ SDET mają również zająć się niefunkcjonalnymi wymaganiami, takimi jak testy wydajności.
- Powinni również być świadomi podstawowych pojęć związanych z testowaniem bezpieczeństwa. Obejmuje to również znajomość podstawowych standardów kodowania, co zapewnia, że w aplikacji nie ma żadnych podstawowych luk w zabezpieczeniach. OWASP jest świetnym odniesieniem dla wszystkich takich podstawowych pojęć.
- Od SDET oczekuje się znajomości, zrozumienia i wdrożenia zwinnych metodologii programowania oraz powinni czuć się komfortowo w pracy z zespołami przy użyciu metodyki Agile Sprint / Scrum.
- Należy pamiętać o każdej platformie technologii chmurowej, takiej jak - Amazon AWS , Google GCP lub Microsoft Azure .
Ponieważ większość firm przenosi się obecnie na infrastrukturę opartą na chmurze, podstawowa znajomość narzędzi i technologii chmurowych jest ogólnie pomocna na początku.
Certyfikacja SDET
Ogólnie rzecz biorąc, nie ma konkretnych certyfikatów, które są dostępne dla SDET
Jeśli ktoś chce rozpocząć przygodę z inżynierem rozwoju oprogramowania w fazie testów, może po prostu skupić się na punktach, które są wymienione w sekcji „Jak zostać świetnym SDET” w tym samouczku, a następnie uczestnicy SDET z otwartym nastawieniem powinni kontynuować naukę w czasie pracy.
Jeśli chodzi o terminologię i podstawy testowania, dobrze jest, aby każdy wykonujący zawód testera oprogramowania uzyskał certyfikat Certyfikat testowania ISTQB Foundation .
Ten certyfikat obejmuje wszystkie podstawowe koncepcje testowania oprogramowania, takie jak
- Typy testów - funkcjonalne / niefunkcjonalne
- Testowanie w czarnej skrzynce / białej skrzynce / szarej skrzynce
- Planowanie testów / zarządzanie defektami
- Techniki testowe - Podział równoważności, macierz identyfikowalności itp.
Dostępne są również inne międzynarodowe certyfikaty testowania oprogramowania, ale większość z nich nie jest bardzo ważnym kryterium wyboru dla firm do zatrudniania SDET.
Dostępna jest lista wszystkich takich certyfikatów tutaj.
wirtualna rzeczywistość kompatybilna z Xbox One
Wywiady
W przypadku większości większych firm produktowych, wywiad z Inżynierem ds. Rozwoju Oprogramowania podczas testu jest o wiele większy w porównaniu z wywiadami z programistami, ponieważ oczekuje się, że będą oni znać większość rozwoju metodologii i powiązanych koncepcji.
Jednak wywiady są nieco łagodne w porównaniu z programistami. Podkreślono tutaj, w jaki sposób kandydat podchodzi do problemu i jak szeroko dana osoba może o nim myśleć.
Ogólnie rzecz biorąc, wywiady SDET składają się z następujących rund / typów pytań w prawie wszystkich dużych organizacjach produktowych, takich jak - Amazon, Microsoft, Adobe, Expedia itp.
- Runda pisemna: Pisanie przypadków testowych dla danego produktu. W tym przypadku intencją jest zorientowanie się, jakie wszystkie aspekty testowania osoba może myśleć o kandydacie, jeśli myśli / wymienia wszystkie scenariusze funkcjonalne, scenariusze skrajnych przypadków, czy kandydat koncentruje się na testach bezpieczeństwa, testach wydajności itp.
- Runda kodowania: Podano małe ćwiczenie z kodowania, a także od kandydata oczekuje się spisania wszystkich scenariuszy testów jednostkowych i testów funkcjonalnych. Tutaj obszar lub umiejętności, które są testowane, to - podstawowa wiedza / konstrukcje dotyczące kodowania, pisanie testowalnego kodu oraz wiedza na temat technik testowania białoskrzynkowego, takich jak testowanie jednostkowe, mockowanie itp.
- Okrągły projekt: Pojawia się pytanie dotyczące projektu systemu, przykład , jak zaprojektowałbyś youtube
Tego typu pytania generalnie mają większe znaczenie dla programistów, ale w przypadku SDET ankieter szuka, jak szeroko osoba może myśleć, czy kandydat wie o koncepcjach OOP, czy kandydat jest w stanie myśleć o skalowalności, niezawodności, równoważeniu obciążenia itp. , czy kandydat może korzystać z odpowiednich baz danych dla projektowanej aplikacji - Runda HR / Manager: Tutaj obserwuje się takie rzeczy, jak kondycja zespołu, sprawność kulturowa itp. O kandydacie, a także dyskusje na temat wynagrodzeń, a także negocjacje.
Zalecana lektura => Pytania do wywiadu SDET
Wynagrodzenie SDET
Jak omówiliśmy w poprzednich sekcjach, SDET mają wyższe pensje niż większość ręcznych testerów. W wielu przypadkach wynagrodzenia są porównywalne z wynagrodzeniami deweloperów na podobnym poziomie doświadczenia.
Możesz polecić tutaj aby dowiedzieć się o rozpiętości wynagrodzeń na różnych profilach SDET w różnych organizacjach. Ogólnie, wynagrodzenie SDET różni się w zależności od zespołu doświadczenia i organizacji.
Poniżej znajduje się porównanie wynagrodzeń SDET dla topowych firm takich jak Microsoft, Expedia.
Poziom | Microsoft ($) | Expedia ($) |
---|---|---|
SDET - I | 65000 - 80000 | 60000 - 70000 |
SDET - II | 75000 - 11000 | 70000 - 100000 |
Pan SDET | 100 000 - 150 000 | 90000 - 130 000 |
Ścieżka kariery
Generalnie drabina kariery SDET zaczyna się i rośnie w następujący sposób:
- SDET-1 - SDET na poziomie Junior z możliwością pisania skryptów automatyzacji.
- SDET-2 - Doświadczony SDET zdolny do pisania narzędzi wielokrotnego użytku i struktur automatyzacji.
- Pan SDET - SDET wyższego szczebla, który może być indywidualnym współpracownikiem, jak SDET 1 i SDET 2, ale jest również zdolny do tego
- Przeprowadzanie przeglądów kodu.
- Bierz udział w dyskusjach projektowych i proponuj odpowiednie zmiany w projekcie.
- Weź udział w ogólnej strategii testowania produktu.
- Bierz udział w modelach dostaw CI / CD, twórz potoki wykonawcze itp.
- Menedżer SDET - Po SDET2 możesz wybrać Sr SDET lub SDET Manager Path. Menedżer SDET ma również obowiązki kierownicze / kierownicze oprócz podstawowej pracy SDET.
- Architekt testów / Inżynier rozwiązań - Architekt Testów lub Inżynier Rozwiązań to osoba, która głównie projektuje / tworzy ogólne ramy dla wielu projektów, specyfikacje testów ramek, może również działać jako menedżer dostaw. Ci ludzie są gotowymi osobami i pomagają wielu projektom osiągnąć wyniki testów i dostarczyć dobrze przetestowany i wolny od defektów produkt.
Oto blokowe przedstawienie ścieżki kariery SDET:
Wniosek
W tym samouczku dowiedzieliśmy się dogłębnie, czym jest SDET pod względem ról i obowiązków, niezbędnych umiejętności, jaka jest różnica między SDET a testerami ręcznymi oraz co trzeba zrobić, aby zostać wielkim inżynierem programistycznym w testach.
Ogólnie SDET jest rolą, na którą jest duże zapotrzebowanie i prawie wszystkie firmy produkujące dobre produkty pełnią tę rolę w swoich zespołach i są wysoko cenione.
rekomendowane lektury
- Pytania i odpowiedzi do wywiadu SDET (kompletny przewodnik)
- 10 NAJLEPSZYCH firm i usług tworzących oprogramowanie niestandardowe w 2021 r
- 20 NAJLEPSZYCH narzędzi programistycznych (rankingi 2021)
- Środki dotyczące SSDLC (bezpieczny cykl życia oprogramowania)
- Fazy, metodologie, proces i modele SDLC (cyklu życia oprogramowania)
- Tworzenie oprogramowania i metodologie testowania (plusy i minusy)
- 5 rzeczy, które początkujący programista (i tester) powinien wiedzieć o testowaniu oprogramowania
- 5 sposobów na bycie odważnym i pewnym siebie testerem oprogramowania