PERTEMUAN KE-17 STANDARISASI PENGUJIAN 17.1 TUJUAN PEMBELAJARAN : Adapun tujuan pembelajaran yang akan dicapai sebagai berikut: 17.1. Pentingnya Standarisasi Proses 17.2. Hubungan Antar Standarisasi Proses 17.3. Metodologi Software & Testing
17.2 URAIAN MATERI Tujuan Pembelajaran 17.1: Pentingnya Standarisasi Proses
Suatu kerangka kerja standar merupakan dasar dari manajemen operasi software yang efektif, karena standarisasi membuat kebijakan dan prosedur yang berkaitan dengan pendefinisian dan hubungan antar komponen menjadi jelas. Namun bila organisasi tidak mengetahui bagaimana proses yang ada, akan sangat sulit dalam mengembangkannya. Secara praktis, kendali manajemen yang akurat dibutuhkan dalam rangka untuk memastikan proyek berjalan sesuai dengan rencana. Namun pada kenyataannya, karena pekerjaan di manufaktur software kebanyakan adalah kreatifitas, manajer tidak akan pernah tahu akan apa yang sebenarnya terjadi pada proses yang dilakukan oleh teknisi-teknisi yang disupervisi olehnya. praktis,
tidak
mungkin
bagi
seorang manajer
untuk
Secara
memonitor
pengembangan tiap aspek dari tiap artifak dalam inventori mereka. Akhirnya tanggung jawab sukses dan gagalnya produk diserahkan kepada tiap individu. Suatu kerangka kerja standar menyediakan titik-titik acuan yang dibutuhkan bagi pengembangan informasi dimana supervisor dapat melakukan supervisi terhadap proyek yang ditanganinya. Menyediakan keuntungan-keuntungan substansial bagi tiap manajer dalam suatu situasi teknologi tinggi.
Tujuan Pembelajaran 17.2: Hubungan Antar Standarisasi Proses
Semua standar pengembangan proses mempunyai tujuan yang sama, yaitu: membuat proses software menjadi dapat dilihat dan dapat dimengerti oleh organisasi secara keseluruhan. Badan akredisasi formal dunia adalah ISO 9000 dan TickIT. Yang lain tidak memiliki status formal, seperti CMM dan Trillium, atau sedang menunggu diterima seperti ISO 15504. Trillium dan CMM secara umum disebut sebagai kerangka kerja atau petunjuk pelaksanaan. Standar pengembangan proses dan petunjuk pelaksanaan, adalah (1) ISO 9000, (2) TickIT, (3) Software Institute’s Capability Maturity Model (SEI-CMM), (4) ISO 15504 (AKA SPICE), dan (5) Bell Canada’s evolving Trillium Guideline.
Gambar 17. 1Hubungan antar lembaga-lembaga standarisasi internasional.
Gambar 17.1 menyediakan rangkuman hubungan antar model-model pengembangan proses ini dan standar ISO 12207. Elemen-elemen yang dicatat dengan huruf miring adalah cabang penting atau mempunyai hubungan historis dari standar yang diasosiasikan dengannya. Seri ISO 9000 dan CMM adalah sumber terbentuknya kerangka kerja yang lain. TickIT dan ISO 15504 dievolusi secara langsung dari ISO 9000. CMM membentuk komponen lainnya dalam model ISO 15504. ISO 12207 dan ISO 9000 berasal dari sumber yang sama yaitu
MIL-Q 9858. Satu-satunya model yang tidak merupakan turunan langsung dari MIL-Q 9858 adalah SEI-CMM, sehingga bukan berdasarkan pada standar kualitas militer.
Tujuan Pembelajaran 17.3: Metodologi Software & Testing
Metodologi berarti suatu kumpulan tahap-tahap atau fase-fase atau tugastugas yang berurutan, dan biasa juga disebut sebagai model siklus hidup. Berdasarkan pada apa yang telah dijelaskan pada sub bab sebelumnya, dijelaskan bahwa standarisasi pengembangan proses (seperti ISO 9000, CMM, dan lain-lain) memiliki cakupan yang lebih luas daripada model siklus hidup software, yang hanya berfokus pada proses pengembangan software. Namun walaupun demikian pengetahuan dan penerapan suatu model siklus hidup software tetap harus dimiliki oleh organisasi sebagai proses utama yang akan dikembangkan, dengan mangadopsi dan mengadaptasikan suatu standar pengembangan proses lebih lanjut. Karena untuk dapat mengembangkan proses yang telah ada dengan menggunakan suatu standar pengembangan software akan sangat sulit dilakukan bilamana organisasi tersebut tidak memiliki pengetahuan akan model proses yang sedang atau telah diterapkan. Semua metodologi menggunakan pendekatan tahap/fase. Keseluruhan aktifitas pengembangan dibagi-bagi menjadi tahap-tahap atau fase-fase utama, dengan tiap tahap memiliki
serahan/produk
akhir
sebagai
tanda
terselesaikannya pelaksanaan proses dari tahap tersebut. Tahapan-tahapan ini mungkin akan bervariasi di tiap organisasi, namun secara keseluruhan dapat dinyatakan ke dalam empat tahap dasar yang sama, yaitu: (1) analisa, (2) disain, (3) implementasi, dan (4) perawatan.
Gambar 17. 2Model siklus hidup software
Metodologi software yang efektif berarti bahwa tahapan detil didefinisikan untuk tiap fase pengembangan. Sedangkan metodologi testing harus merupakan salah satu bagian dari keseluruhan metodologi software. Metodologi testing harus mempertimbangkan apa (tahapan-tahapannya) dan kapan (waktu). Bagaimanapun juga, pada praktek, testing sangat kurang dideskripsikan dan telah berevolusi secara cepat ke arah prosedur testing organisasi yang telah kadaluwarsa dan tidak efektif.
Gambar 17. 3Testing dalam siklus hidup
Pada
awal
pengembangan
debutnya,
setelah
testing
dipandang
sebagai
fase
dari
fase coding. Sistem akan didisain, dibangun dan
kemudian dites dan di-debug. Seiring dengan tingkat kedewasaan testing, secara bertahap dikenalkan bahwa siklus hidup testing yang lengkap berada di semua lini dari keseluruhan siklus hidup software. Pada saat ini, testing adalah suatu aktifitas yang dihadirkan secara paralel dengan usaha pengembangan software dan memiliki fase-fase sendiri, yaitu: (1) analisa (perencanaan dan penentuan obyektifitas dan kebutuhan tes), (2) disain (spesifikasi tes yang akan dikembangkan), (3) implementasi (penyusunan atau pengumpulan prosedur dan kasus tes), (4) eksekusi (melakukan dan pengulangan tes), dan (5) perawatan (penyimpanan dan pengubahan tes bilamana software berubah). Sudut pandang testing yang memiliki siklus hidup sendiri ini merupakan perubahan yang dramatis dari beberapa tahun lalu, dimana tiap orang menyamakan testing dengan eksekusi. Aktifitas perencanaan, pendisainan, dan penyusunan tes tidak dikenal, dan testing tidak dimulai sampai tes mulai dijalankan.
17.3 LATIHAN SOAL/TUGAS 1.
Ketika mengembangkan sebuah software, pada tahapan apa dilakukan pengujian? Jelaskan!
17.4 DAFTAR PUSTAKA 1. Chemuturi, M. (2011). Mastering Software Quality Assurance. Best Practices, Tools And Techniques For Software Developers. J. Ross Publishing 2. Lewis, E. W. (2009). Software Testing and Continuous Quality Improvement. CRC Press
3. Naik, K. & Tripathy, P. (2008). Software Testing and Quality Assurance. Theory and Practice. John Wiley & Sons