Czy jako programiści zaplecza powinniśmy nauczyć się testowania oprogramowania? [Zamknięte]

12

Jako młodszy programista pracuję w firmie, która opracowuje oprogramowanie dla branży lotniczej. Mamy zespół testowy, więc nie mam motywacji do nauki oprogramowania do testowania. Mój przyjaciel pracuje w małej firmie jako programista back-end. Ich zespół nie ma żadnego konkretnego zespołu testowego i sam przeprowadza testy. Czy programista zaplecza powinien dowiedzieć się o testowaniu oprogramowania?

Ali Arda Orhan
źródło
31
Jeśli jesteś młodszym programistą i nie chcesz być młodszym przez całą karierę, powinieneś chcieć wiedzieć jak najwięcej o swojej dziedzinie. Testowanie jest istotną częścią rozwoju, więc nawet jeśli „nie potrzebujesz”, sprawi, że będziesz bardziej biegły w swojej dziedzinie, co sprawi, że będziesz cenny, co może prowadzić do wyższych stanowisk.
msw
3
Dostałem większość moich prac, ponieważ robiłem rzeczy w wolnym czasie, których nie musiałem robić, czy to ucząc się Haskella, czy pisząc kompilator ray tracera czasu w C ++: P Faceci, których znam / wiedziałem, którzy robili tylko to, co było wymagane ponieważ praca ma teraz trudności w rozwoju kariery.
fresnel
3
Czy nie jest to rodzaj „miękkiego” pytania, które prowadzi do wyrażania opinii?
ThomasMcLeod
@phresnel Oh, ray tracer w czasie kompilacji w C ++ jest taki zły . Szacunek.
David Conrad
3
Zgadzam się, że to pytanie powinno zostać zawieszone. To trochę jak powiedzenie: „Mówię tylko po angielsku, ale moja żona pochodzi z Chin i mówi po angielsku i oczywiście po chińsku. Czy powinienem uczyć się chińskiego?”
TTT

Odpowiedzi:

48

Absolutnie i jednoznacznie: tak!

To podstawowa umiejętność, którą będziesz mieć u dużego odsetka firm, w których będziesz chciał pracować w przyszłości.

Jako programista techniczne aspekty testowania są bardziej interesujące niż te metodologiczne: dowiedz się, korzystając z ram testowania jednostkowego, skonfiguruj testowanie automatyczne, spróbuj wykonać testy oparte na testach, aby zobaczyć, jak ci się podoba.

Jeśli chcesz się w tym specjalizować, testy wydajności / testów warunków skrajnych oraz testów bezpieczeństwa / penetracji są dość poszukiwanymi umiejętnościami.

Michael Borgwardt
źródło
1
@AliArdaOrhan, istnieje argument, że rozwój każdej funkcji powinien być poprzedzony napisaniem kilku zautomatyzowanych testów jednostkowych. Wypróbuj, dzięki temu Twój kod będzie lepszy.
Jodrell
9
Opracowywanie back-endów bardzo dobrze nadaje się do automatycznych testów. Nie ma szaleństwa w interfejsie użytkownika. Przynajmniej dzięki ramie testowania jednostek deweloperskich, łapiesz więcej błędów, zanim opuszczą zespół i zostaną znalezione przez kontrolę jakości. Mniej błędów podczas opuszczania zespołu sprawia, że ​​obserwatorzy są szczęśliwi.
BPugh
2

Testowanie kodu, nad którym pracujesz, jest częścią dyscypliny, dzięki której dobry programista staje się doskonałym programistą. Konfigurowanie automatycznego testowania przy użyciu lekkich, szybkich przypadków testowych pozwala ustalić linię podstawową funkcjonalności; modyfikowanie kodu w celu naprawy błędów lub dodania nowej funkcjonalności może być stopniowo testowane i zapewnia szybką informację zwrotną na temat kodu. Takie szybkie informacje zwrotne, często wykonywane, są znacznie bardziej wydajne pod względem ponownej pracy niż budowanie wszystkiego, kompilowanie i testowanie, ponieważ ostatecznie nie posuwasz się tak daleko od właściwej ścieżki.

BobDalgleish
źródło