Sebagai pengembang back-end, haruskah kita mempelajari pengujian perangkat lunak? [Tutup]

12

Sebagai pengembang junior, saya bekerja di perusahaan yang mengembangkan perangkat lunak untuk industri penerbangan. Kami memiliki tim pengujian, jadi saya tidak punya motivasi untuk belajar perangkat lunak pengujian. Teman saya bekerja untuk perusahaan kecil sebagai pengembang back-end. Tim mereka tidak memiliki tim uji khusus, dan mereka melakukan tes sendiri. Haruskah pengembang back-end belajar tentang pengujian perangkat lunak?

Ali Arda Orhan
sumber
31
Jika Anda adalah pengembang junior dan tidak ingin menjadi junior sepanjang karier Anda, Anda harus ingin tahu sebanyak mungkin tentang bidang Anda. Pengujian adalah bagian penting dari pengembangan, jadi bahkan jika Anda tidak "perlu" juga, itu akan membuat Anda lebih fasih di bidang Anda yang akan membuat Anda bergerak berharga yang dapat mengarah ke posisi yang lebih senior.
msw
3
Saya mendapatkan sebagian besar pekerjaan saya karena saya melakukan hal-hal di waktu luang saya yang tidak perlu saya lakukan, baik itu belajar Haskell, atau menulis kompilasi pelacak waktu sinar di C ++: P Orang-orang yang saya kenal / tahu yang melakukan hanya apa yang diperlukan untuk pekerjaan itu sekarang berjuang untuk maju dalam karier mereka.
phresnel
3
Bukankah ini jenis pertanyaan "lunak" yang mengarah pada ekspresi pendapat?
ThomasMcLeod
@pheapnel Oh, pelacak ray waktu kompilasi di C ++ sangat jahat . Menghormati.
David Conrad
3
Saya setuju pertanyaan ini harus ditunda. Ini seperti mengatakan, "Saya hanya berbicara bahasa Inggris tetapi istri saya berasal dari Tiongkok dan berbicara sedikit bahasa Inggris dan tentu saja bahasa Mandarin. Haruskah saya belajar bahasa Cina?"
TTT

Jawaban:

48

Benar dan pasti: ya!

Ini adalah keterampilan inti yang diharapkan dimiliki oleh Anda dalam persentase besar dari perusahaan yang ingin Anda bekerja di masa depan.

Sebagai pengembang, aspek teknis pengujian lebih menarik daripada aspek metodologis: belajar menggunakan kerangka pengujian unit, mengatur pengujian otomatis, mencoba melakukan pengembangan berbasis tes untuk melihat bagaimana Anda menyukainya.

Jika Anda ingin berspesialisasi di dalamnya, pengujian kinerja / stres dan pengujian keamanan / penetrasi adalah keterampilan yang cukup dicari.

Michael Borgwardt
sumber
1
@AliArdaOrhan, ada argumen bahwa pengembangan setiap fungsi harus didahului dengan penulisan beberapa tes unit otomatis. Cobalah, ini membuat kode Anda lebih baik.
Jodrell
9
Pengembangan back-end benar-benar cocok untuk pengujian otomatis. Tidak ada kegilaan UI untuk dihadapi. Setidaknya dengan kerangka pengujian unit tim dev, Anda menangkap lebih banyak kesalahan sebelum meninggalkan tim Anda dan ditemukan oleh QA. Lebih sedikit kesalahan meninggalkan tim Anda membuat pengamat senang.
BPugh
2

Menguji kode yang sedang Anda kerjakan adalah bagian dari disiplin yang menjadikan pemrogram yang baik menjadi pemrogram yang hebat. Menyiapkan pengujian otomatis, menggunakan case yang ringan dan cepat memungkinkan Anda untuk membuat garis dasar fungsionalitas; memodifikasi kode untuk memperbaiki kesalahan atau menambah fungsionalitas baru dapat diuji secara bertahap dan memberi Anda umpan balik cepat pada kode Anda. Umpan balik yang cepat ini, bila sering dilakukan, jauh lebih efisien dalam hal bekerja kembali daripada membangun semuanya, menyusun dan menguji, karena Anda pada akhirnya tidak pergi begitu jauh dari jalan yang benar.

BobDalgleish
sumber