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?


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.


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.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.