Apa yang dimaksud dengan Pengembang dalam Tes? [Tutup]

14

Saya baru-baru ini berbicara dengan seorang perekrut yang ingin menempatkan saya di sebuah perusahaan untuk posisi Pengembang dalam Tes. Dia pada dasarnya membuatnya terdengar seperti posisi di mana Anda bisa mengutak-atik teknik pemrograman baru dan menguji bug dan peningkatan dalam perangkat lunak tetapi di mana Anda tidak perlu khawatir tentang tenggat waktu standar. Anda menjadi sangat kreatif dalam pekerjaan Anda.

Tetapi uraian itu masih agak kabur bagi saya. Saya telah menjadi Pengembang Web selama beberapa tahun sekarang, kebanyakan bekerja di PHP. Jadi saya ingin tahu apakah orang lain di komunitas tahu lebih banyak tentang apa yang biasanya diperlukan posisi ini.

Saya tahu bahwa ini mungkin bukan subjek yang sesuai untuk forum ini, tapi itu adalah yang paling cocok yang bisa saya temukan di antara Stack Exchange dan saya akan sangat menghargai jika ini tidak ditutup karena benar-benar tidak ada tempat lain di sini untuk bertanya tentang hal itu .

Saya sudah mencoba Googling, tetapi tidak ada banyak informasi di luar sana. Jadi apa sebenarnya Developer dalam Test?

Patrick
sumber
Saya biasanya mendengar ini disebut "skunkworks", jika itu membantu.
Adrian
Apakah Anda yakin dia tidak bermaksud 'Menguji'? Belum pernah mendengar istilah 'developer in test'. Mungkinkah perekrut hanya salah terminologinya? Tidak akan menjadi yang pertama kalinya.
GrandmasterB
Saya belum pernah mendengarnya sebelumnya, jadi saya bertanya kepadanya beberapa kali untuk memastikan. Saya akan berbicara dengan perusahaan tentang apa artinya bagi mereka segera. Saya hanya ingin tahu apa ini. Kedengarannya seperti itu bisa banyak hal yang saya dengar digabungkan.
Patrick
1
Saya yakin itulah gelar yang dimiliki perekrut untuk pembukaan .. kecurigaan saya adalah dia hanya tidak cukup tahu untuk mengetahui bahwa itu mungkin bukan jabatan yang benar. Atau bisa juga bagaimana perusahaan tertentu mengacu pada judul tertentu, karena mereka terlalu malas untuk menambahkan akhiran.
GrandmasterB
2
Tiga jawaban di bawah ini meringkasnya. Seorang pengembang dalam ujian adalah seorang insinyur QA dengan keterampilan pengembangan sehingga ia akan diharapkan untuk menulis tes otomatis lebih dari melakukan pengujian manual.
Michael Brown

Jawaban:

27

Saya seorang Insinyur Pengembangan Perangkat Lunak dalam Pengujian, dan telah berada di 2 perusahaan terpisah. Saat ini saya bekerja untuk Microsoft.

Secara umum, Bryan Oakley benar: Anda menulis perangkat lunak yang menguji perangkat lunak.

Selain itu, itu tergantung pada tingkat pengalaman Anda, ruang lingkup tanggung jawab Anda, dan jenis perangkat lunak yang akan diproduksi oleh pemberi kerja. Posisi SDET dapat mencakup penulisan apa pun dari dasar-dasar tes verifikasi tingkat fitur, hingga penulisan dan pemeliharaan infrastruktur pengujian untuk menjalankan tes-tes tersebut. Juga tidak jarang memiliki SDETS yang berspesialisasi dalam pengujian terfokus untuk jenis persyaratan tertentu (pengujian keamanan, kinerja / skala, kegunaan, dll. Adalah contoh yang langsung muncul di benak).

Deskripsi yang Anda terima dari perekrut terdengar seperti teknik penjualan yang buruk.

  • Anda tidak mengutak-atik; Anda memiliki n hari untuk mendapatkan otomatis cakupan tes lebih x fitur dikerahkan di y lingkungan didukung berbeda di z bahasa.
  • Oh, btw: tes-tes itu harus berjalan cukup cepat agar para devs memiliki siklus dev / tes cepat karena ...
  • Tidak ada tenggat waktu standar? Anda bertanggung jawab atas kualitas produk dan tanggal rilis ditetapkan oleh pemasaran 6 bulan lalu. Tim pengembang terlambat 6 minggu memberikan versi stabil ke tim pengujian Anda, dan perusahaan tidak mendorong tanggal rilis itu (lagi). Apakah produk atau layanan cukup stabil untuk dirilis ke beberapa juta (miliar?) Orang, pada hari yang sama?
  • ... dan jika ( ketika ) pelanggan menelepon dengan masalah ... "Kenapa (kau) tidak menangkapnya dulu?"

Saya harap itu memberi Anda sedikit contoh seperti apa SDET itu.

Steven Evers
sumber
Kedengarannya seperti semacam kritik bagi pengembang dan orang-orang QA pada saat yang sama di tempat saya sekarang. Tapi saya sangat menghargai deskripsi yang jauh lebih jelas.
Patrick
1
@ pthurmond: Ini seringkali merupakan pengalaman yang sangat berharga, terutama jika perusahaan serius dengan kualitas. Ini tidak biasa bagi SDET untuk menulis lebih banyak kode daripada dev, meskipun itu bisa tergantung pada fase proyek. Pengujian manual tidak pernah 100% hilang dari proses.
Steven Evers
Ok, jadi saya berbicara dengan perusahaan dan mereka menggambarkannya sebagai posisi baru yang tidak sepenuhnya ditentukan. Tetapi pada dasarnya itu adalah orang QA yang menulis kode dan tes otomatis yang dirancang untuk memecahkan kode pengembang lain. Kedengarannya menarik.
Patrick
1
Wow saya senang saya tidak mengambil posisi SDET. Kedengarannya seperti semua yang saya benci tentang pengembang perangkat lunak.
ldog
8

"Pengembang dalam pengujian" biasanya berarti bahwa Anda berada di departemen QA atau dalam peran QA, tetapi fokusnya adalah pada penulisan tes otomatis daripada membuat dan menjalankan kasing uji manual. Hal itu seperti menulis perangkat lunak untuk menguji perangkat lunak. Ini bisa menjadi pilihan karir yang sangat menantang karena dibutuhkan keterampilan pemrograman dan pemahaman yang baik tentang pengujian perangkat lunak.

Namun, judul yang berbeda memiliki arti yang berbeda bagi perusahaan yang berbeda, sehingga jawaban pasti harus berasal dari perekrut.

Bryan Oakley
sumber
Hmm, sebagian besar orang QA yang saya tahu tidak melakukan pengembangan. Jadi mungkin dari situlah perbedaan itu berasal.
Patrick
2
@ pthurmond: Anda benar: sejumlah besar orang di QA tidak melakukan pengembangan perangkat lunak apa pun. Peran pengembang dalam pengujian, juga disebut sebagai insinyur perangkat lunak dalam pengujian, adalah bidang yang relatif baru.
Bryan Oakley
1
Orang-orang di QA tempat saya bekerja memang berkembang. Kebanyakan skrip yang dapat menjalankan regresi pada rilis.
Rig
1

Peran SDET cukup banyak seperti yang Anda buat, sebagaimana dibuktikan oleh semua nama berbeda: QA / Pengembang, QA Engineer, Automation Developer. Judul saya saat ini sebenarnya adalah Test Engineer, yang saya belum pernah dengar namanya sebelum mengambil pekerjaan ini. Terlepas dari judul tertentu, itu adalah posisi baru di sebagian besar perusahaan, sehingga harapannya bisa longgar. "Bantu kami mengotomatiskan pengujian kami, dan yang lainnya ...". Hal-hal tersebut dapat mencakup alat CI, pengujian API, layanan cloud, integrasi dengan sistem internal, dll.

Aspek lain dari pekerjaan yang tidak saya lihat di utas ini adalah perbaikan proses. SDET biasanya telah melakukan QA untuk sementara waktu, dan sekali lagi, biasanya, mereka lebih teknis daripada anggota tim QA lainnya, termasuk manajer mereka. Mereka tahu banyak tentang sistem yang diuji, yaitu, "di mana mayat dikuburkan". Untuk alasan ini, SDET cenderung didengarkan oleh manajemen, dan dapat memiliki banyak pengaruh pada proses - tidak hanya proses pengujian, tetapi bagaimana produk dibangun. Yang bisa keren, jika Anda suka itu.

ArmyOfRobots
sumber