1. Saya telah menemui banyak Insinyur Perangkat Lunak yang percaya bahwa mereka entah bagaimana lebih unggul daripada insinyur QA. Saya pikir ini dapat membantu menghilangkan kepercayaan ini jika mereka melakukan pekerjaan seorang insinyur QA untuk beberapa waktu, dan menyadari bahwa itu adalah keahlian yang unik dan berharga.
Rekayasa perangkat lunak yang baik memiliki latar belakang dalam kualitas, termasuk pengujian, metrik, dan statistik. Siapa pun yang melakukan pengembangan perangkat lunak apa pun harus sadar (jika tidak terbiasa) menjaga kode sumber yang berkualitas dan memproduksi / memelihara kotak uji yang efektif. Seiring waktu, saya akan curiga bahwa setiap pengembang perangkat lunak akan mendapatkan pemahaman tentang berbagai aspek kualitas - kualitas kode, portabilitas, rawatan, kemampuan uji, kegunaan, keandalan, efisiensi, dan keamanan.
Insinyur perangkat lunak mungkin fokus pada aspek tertentu dari siklus hidup - rekayasa persyaratan, arsitektur dan desain, konstruksi, pengujian, dan pemeliharaan. Namun, terlepas dari fokus Anda (baik sebagai pekerjaan atau pada fase proyek saat ini), penting untuk mengingat kualitas.
2. Semakin baik seorang Insinyur Perangkat Lunak menguji program mereka sendiri, semakin sedikit waktu yang dikeluarkan kode mereka saat menjalani sisa siklus pengembangan perangkat lunak.
Itu mungkin benar. Tetapi beberapa masalah paling baik dilihat kemudian dalam pengembangan. Misalnya, masalah kinerja dan efisiensi mungkin tidak terlihat sampai integrasi. Memiliki kode yang baik, solid, dan unit test yang efektif hanyalah awal. Kualitas perlu dimulai dengan persyaratan, dan ikuti semua jalan melalui kegiatan pemeliharaan.
3. Semakin lama seorang Insinyur Perangkat Lunak menghabiskan waktu untuk memikirkan bagaimana suatu program dapat rusak, semakin sering mereka mempertimbangkan kasus-kasus ini ketika mereka sedang mengembangkannya, sehingga mengurangi bug pada produk akhir.
Itu pernyataan yang sepenuhnya benar. Tetapi sekali lagi, itu juga tergantung pada persyaratan insinyur untuk memverifikasi bahwa tidak ada konflik dalam persyaratan, arsitek untuk memastikan bahwa desain benar-benar memenuhi persyaratan, dan sebagainya. Setiap orang harus mencoba menyodok lubang dalam pekerjaan mereka dan kemudian bekerja dengan orang yang tepat untuk menutupnya dengan baik dan kencang.
4. Definisi "lengkap" dari Insinyur Perangkat Lunak selalu menarik ... jika mereka telah menghabiskan waktu sebagai insinyur QA, mungkin definisi ini akan lebih cocok dengan perancang perangkat lunak.
"Lengkap" hanya dapat diukur terhadap persyaratan. Entah persyaratan dipenuhi dan proyek selesai, atau ada persyaratan tidak lengkap dan proyek tidak lengkap. Ukuran lengkap lainnya tidak berguna.