> Tentang regression test, memang tidak ada jaminan (dan memang tidak > akan pernah ada) bahwa programnya bug-free. Tetapi tetap saja lebih > baik ada test daripada tidak ada. Seperti sudah saya tulis, kelebihan > regression test itu adalah karena otomatisasinya: sekali dijalankan, > banyak test. Bandingkan kalau semuanya harus satu per satu.
Test-kan macam2,dari unit test/devtest di programernya sendiri,automation/regression yang melakukan routine automated test(dan cover major scenario),testing source code via 3rd party tools (seperti Coverity) dan QA Formal Feature testing. ( Eeeh baca dong www.coverity.com ada berapa bugs di Linux Kernel ) Untuk produk yang highly complex dan butuh real-time processing kita juga perlu simulation tools(misalnya traffic generator,protocol generators,test scenario generators).Selain itu ada juga independent testing yg dilakukan QA Engineer .Kalau ini dilakukan untuk mencari bugs di functionality,scalability dan performance. Untuk produk jaman skrg,testing sama pentingnya dengan core software development,jadi pertanyaanya bukan apakah testing perlu atau tidak ? ............ ..Kebanyakan persh skrg sadar betap pentingnya arti test,sebab failed product bukan cuman merusak produk,tapi merusak image perushaan dan test strategi ini juga gak mudah.Bayangkan untuk di networking,jika customer install 1000 boxes dengan scenario yg komplex,sementara customer lain uji coba dengan topology/features yang lain,nah kan gak mungkin semuanya bisa di-cover. Biasanya test dilakukan oleh QA group yg berbeda dengan developer dan dibagi atas spesialisasinya msg2.Contohnya untuk di networking,kalau software groupnya dibagi atas L2,L3,system,MPLS,multicast dan hardware team,di QA juga dibagi sama seperti itu. Software bug-free memang tidak ada,tapi yang bisa kita cari tahu adalah relativitas kestabilan code begitu produknya dilempar ke market(dari feedback customer). Tapi seperti gw bilang di email sebelumnya,untuk mencegah bugs itu yg terbaik adalah melakukan formal code review sebeum checkin ...jadi code yang katanya copy-paste itu didiskusikan dengan lead developer,kalau dia ok dan merasa codenya gak "breaking something else",ya baru di commit untuk sw branch. Inget gak quote begini: bugs ketemu di design,cost Rp, 10,000 ...bugs ketemu di testing cost Rp. 100,000....bugs ketemu di customer cost Rp 10,000,000 Begitu selesai,code tsb kan dilock dan tergantung kompleksitas apa,dicommit ke software train yang mana ? biasanya diberi buildsnya dengan Beta/pre-caution release,artinya customer is "expected" to see problem,nanti setelah 6 bulan,tergantung feedback dari customer,build tsb mungkin bisa jadi stable build atau malah gak direlease karena checkin codenya bikin masalah baru.Kalau gak stabil lagi.,ya balik lagi dari awal.. Carlos
