Co to jest testowany programista? [Zamknięte]

14

Niedawno rozmawiałem z rekruterem, który chce umieścić mnie w firmie na stanowisko programisty w teście. Zasadniczo sprawił, że zabrzmiało to jak pozycja, w której możesz majstrować przy nowych technikach programowania i testować błędy i ulepszenia oprogramowania, ale gdzie nie musisz się martwić o standardowe terminy. Możesz być bardzo kreatywny w swojej pracy.

Ale ten opis wciąż był dla mnie niejasny. Od wielu lat jestem programistą, głównie w PHP. Chciałem więc wiedzieć, czy inni członkowie społeczności wiedzą więcej o tym, co zazwyczaj pociągają za sobą te stanowiska.

Wiem, że to może nie być temat odpowiedni dla tego forum, ale było to najlepsze dopasowanie, jakie mogłem znaleźć wśród Stack Exchange i byłbym bardzo wdzięczny, gdyby nie było zamknięte, ponieważ tak naprawdę nie ma gdzie indziej zapytać o to .

Próbowałem google, ale nie ma tam dużo informacji. Czym dokładnie jest testowany programista?

Patrick
źródło
Zwykle słyszę to, zwane „skunkworks”, jeśli to pomaga.
Adrian
Jesteś pewien, że nie miał na myśli „Testowania”? Nigdy nie słyszałem terminu „programista w teście”. Czy to możliwe, że osoba rekrutująca ma po prostu błędną terminologię? To nie byłby pierwszy raz.
GrandmasterB
Nigdy wcześniej o tym nie słyszałem, więc poprosiłem go kilka razy, aby się upewnić. Niedługo będę rozmawiać z firmą o tym, co to dla nich znaczy. Chciałem tylko dowiedzieć się, co to w ogóle jest. Wyglądało na to, że może to być wiele rzeczy, o których słyszałem.
Patrick
1
Jestem pewien, że taki jest tytuł rekrutującego na otwarcie. Podejrzewam, że po prostu nie wie wystarczająco dużo, aby wiedzieć, że może to nie być właściwy tytuł. Lub może to być po prostu sposób, w jaki konkretna firma odnosi się do konkretnego tytułu, ponieważ są zbyt leniwi, aby dodać zakończenie.
GrandmasterB
2
Trzy poniższe odpowiedzi w przybliżeniu to podsumowują. Deweloper w teście jest inżynierem ds. Kontroli jakości posiadającym umiejętności programistyczne, więc będzie musiał pisać testy automatyczne bardziej niż testy ręczne.
Michael Brown

Odpowiedzi:

27

Jestem inżynierem ds. Rozwoju oprogramowania w teście i pracuję w 2 oddzielnych firmach. Obecnie pracuję dla Microsoft.

Mówiąc ogólnie, Bryan Oakley ma rację: piszesz oprogramowanie, które testuje oprogramowanie.

Poza tym zależy to od poziomu doświadczenia, zakresu obowiązków i rodzaju oprogramowania, które produkowałby pracodawca. Pozycja SDET może obejmować pisanie czegokolwiek, od podstaw testów weryfikacyjnych na poziomie funkcji, po pisanie i utrzymywanie infrastruktury testowej do uruchamiania tych testów. Często zdarza się, że SDETS specjalizują się w ukierunkowanym testowaniu określonych rodzajów wymagań (testowanie bezpieczeństwa, wydajności / skali, użyteczności itp. To przykłady, które natychmiast przychodzą na myśl).

Opis, który otrzymałeś od rekrutera, brzmi jak kiepska technika sprzedaży.

  • Nie bawisz się; masz n dni, aby uzyskać pokrycie zautomatyzowane testy nad x funkcje rozmieszczone w y różnych środowisk w obsługiwanych Z języków.
  • Och, przy okazji: te testy muszą działać wystarczająco szybko, aby deweloperzy mieli szybki cykl tworzenia / testowania, ponieważ ...
  • Brak standardowych terminów? Odpowiadasz za jakość produktu, a data premiery została ustalona przez marketing 6 miesięcy temu. Zespół programistów spóźnia się o 6 tygodni, zapewniając stabilną wersję dla zespołu testowego, a firma nie przesuwa tej daty premiery (ponownie). Czy produkt lub usługa jest wystarczająco stabilna, aby uwolnić kilka milionów (miliardów) ludzi tego samego dnia?
  • ... a jeśli ( kiedy ) klienci dzwonią z problemami ... „Dlaczego (do diabła) nie złapałeś tego pierwszy?”

Mam nadzieję, że daje to przykład tego, czym jest bycie SDET.

Steven Evers
źródło
Wygląda na to, że twórcy ORAZ ludzie odpowiedzialni za kontrolę jakości dostają się w tym samym czasie, co ja. Ale naprawdę doceniam o wiele bardziej przejrzysty opis.
Patrick
1
@pthurmond: Często jest to naprawdę satysfakcjonujące doświadczenie, szczególnie jeśli firma poważnie podchodzi do jakości. Często zdarza się, że SDET pisze więcej kodu niż programista, choć może to zależeć od fazy projektu. Testy ręczne nigdy nie znikają w 100% z procesu.
Steven Evers
Ok, więc rozmawiałem z firmą, która opisała to jako zupełnie nowe stanowisko, które nie jest w pełni zdefiniowane. Ale w gruncie rzeczy jest to osoba odpowiedzialna za kontrolę jakości, która pisze kod i automatyczne testy zaprojektowane w celu złamania kodu innych programistów. Brzmi interesująco.
Patrick
1
Wow, cieszę się, że nie zająłem pozycji SDET. Brzmi jak wszystko, czego nienawidzę w programistach.
ldog
8

„Deweloper w teście” zwykle oznacza, że ​​pracujesz w dziale kontroli jakości lub w roli kontroli jakości, ale koncentrujesz się na pisaniu testów automatycznych, a nie na tworzeniu i uruchamianiu ręcznych testów. Coś takiego jak pisanie oprogramowania do testowania oprogramowania. Może to być szczególnie trudny wybór kariery, ponieważ wymaga zarówno umiejętności programowania, jak i dobrej znajomości testowania oprogramowania.

Jednak różne tytuły oznaczają różne rzeczy dla różnych firm, więc ostateczna odpowiedź musi pochodzić od osoby rekrutującej.

Bryan Oakley
źródło
Hmm, większość ludzi z QA, których znam, nie robi nic złego. Więc może stąd bierze się to rozróżnienie.
Patrick
2
@pthurmond: masz rację: duża liczba osób w kontroli jakości nie zajmuje się tworzeniem oprogramowania. Rola programisty w teście, zwanego także testerem, jest stosunkowo nową dziedziną.
Bryan Oakley
1
Ludzie w QA, w których pracuję, rozwijają się. Głównie skrypty, które mogą uruchamiać regresję w wydaniach.
Rig
1

Rola SDET jest właściwie tym, czym ją tworzysz, o czym świadczą wszystkie jej różne nazwy: QA / Developer, QA Engineer, Automation Developer. Mój obecny tytuł to Inżynier Testowy, o którym nigdy wcześniej nie słyszałem, żeby się do niego zwracał. Bez względu na konkretny tytuł jest to nowa pozycja w większości firm, więc oczekiwania mogą być luźne. „Pomóż nam zautomatyzować nasze testy i takie tam ...”. Mogą to być narzędzia CI, testy API, usługi w chmurze, integracja z systemami wewnętrznymi itp.

Innym aspektem pracy, której nie widzę w tym wątku, jest doskonalenie procesu. SDET zwykle zajmują się zapewnianiem jakości od dłuższego czasu i znowu są bardziej techniczni niż reszta zespołu ds. Kontroli jakości, w tym ich menedżer. Wiele wiedzą o testowanym systemie, tzn. „Gdzie chowane są ciała”. Z tych powodów kierownictwo SDET ma tendencję do słuchania i może mieć duży wpływ na proces - nie tylko proces testowania, ale także sposób budowy produktu. Co może być fajne, jeśli jesteś w to zaangażowany.

ArmyOfRobots
źródło