SI 06Fasilkom Fakultas Metode pengorganisasian pengujian sistem informasi (test organization)
Nurullah Husufa ST, MMSI
Program Studi Sistem Informasi
www.mercubuana.ac.id Sub Bab
• Menentukan level independence
• Peran dan tanggung jawab stakeholder yang terlibat • Aspek kontrak pengujian Menentukan level independence Pemilihan independence level antara testers dan development teams akan berdampak pada bagaimana testers akan bisa untuk bertindak, target yang akan dicapai, dan batasannya selama pengujian. Berikut beberapa tingkatan independence level : • Kurang independence Ketika developers satu-satunya yang menguji kode programnya. Kehilangan defects yang penting yang akan ditemukan pada saat di production. • Terbatas level of independence Dimana seseorang pada tim yang sama dan dengan role yang sama sebagai perancang ditugaskan untuk mereview produk software. Dua levels pertama mengandalkan individu bukan latar belakang atau spesialis penguji. Menentukan level independence • Satu atau grup kecil individu, spesialis di software testing dan berkaitan dengan tim pengembang, fokus pada pengujian komponen yang dihasilkan oleh tim pengembang. Kekurangan metode ini : (a) Penguji menjalankan task pengembangan sehingga mengurangi efisiensi pengujian. (b) Hirarki ketergantungan ke pemimpin proyek yang sama –mantan pengembang– membuat ini sulit untuk melindungi kualitas yang diharapkan pada kode program yang dihasilkan. (c) Tingkat kemampuan penguji tidak mudah bertambah karena penguji biasanya sendiri sehingga tidak bisa mendapat pelatihan dari yang lain yang lebih pengalaman penguji. Menentukan level independence • Spesialis tim software testing dengan organisasi sama, tetapi tidak di hirarki yang sama sebagai tim pengembang. Penguji memiliki kesempatan yang lebih luas dan memungkinkan mendapat pelatihan dari yang lain, penguji lebih berpengalaman. • Spesialis tim software testing di entitas ekonomi terpisah (perusahaan lain, konsultan bebas, dan lainnya), yang konsentrasi aktivitas pada software testing dan peningkatan kualitas. Menentukan level independence Testers dan developers memiliki target yang berbeda : • Developers : untuk merancang software dengan cepat. • Testers : untuk memastikan bahwa software bebas defect dan pengguna merasa puas dengan software yang dihasilkan. Menentukan level independence Penerapan tim independent test memiliki beberapa kekurangan : • Developers bisa kehilangan tanggung jawabnya untuk menghasilkan software berkualitas,dengan menyerahkan tanggung jawab quality assurance ke tim testing. • Pengujian bisa, jika mereka tidak diberikan bagian yang benar, menjadi penghambat dalam penyelesain software. • Menerapkan jarak antara tim bisa mengarah pada masalah komunikasi dan kehilangan informasi. Menentukan level independence Keuntungan mengurangi independence dan lebih dekat dengan tim pengembang yaitu : • Mengetahui lebih jauh komponen mana yang kompleks, sulit untuk dirancang, atau mengarah ke masalah, memungkinkan testers untuk memeriksa bagian ini lebih detail untuk mengantisipasi kelompok defect. • Antisipasi pengiriman terlambat, dan perpindahan informasi yang cepat ketika keterlambatan terjadi. • Verifikasi hipotesa dan asumsi dibuat selama definisi, spesifikasi dan penerapan software. • Pemahaman lebih baik dari masalah dan kemudahan penukaran informasi dengan tim pengembang. Menentukan level independence Kekurangan mengurangi independence, diantaranya : • Jika developer satu-satunya penguji software, ini akan menghasilkan prasangka dimana pembuat secara bersama memberi penilaian. • Jika tester hanya sendiri pada tim testing software, ada kemungkinan bertindak sebagai developer dan gagal untuk menjalankan tugas pengujian. Menentukan level independence Kemunduran berkaitan dengan peningkatan independence terhadap hal yang lain : • Masalah berkaitan dengan kurangnya komunikasi antara penguji dan tim pengembang. • Ketergantungan testers pada developers dan perbandingan yang dihasilkan (biaya test) • Ketidakpahaman tugas setiap tim; • Melihat tim test sebagia penghambat yang menunda pengiriman. Peran dan tanggung jawab stakeholder yang terlibat Terdapat dua roles yang hadir pada proyek test : role test manager dan tester. Role test manager atau “test project leader”, meliputi test planning, test control, dan test reporting activities. Pada tim skala kecil, test leader juga menjalankan aktivitas analisis kebutuhan dan test design. Peran dan tanggung jawab stakeholder yang terlibat Tasks dari test leaders, menurut International Software Testing Qualifications Board (ISTQB) termasuk : • Koordinasi test strategy dan test plan dengan pimpinan pengembang proyek dan stakeholder lain. • Mendefinisikan atau mengadaptasi test strategy yang sesuai proyek dan organisasi test policy. • Memberikan pandangan testing terhadap aktivitas proyek yang lain, seperti perencanaan integrasi komponen, dengan tujuan mengadaptasikan aktivitas pengujian terhadap aktivitas perencanaan proyek. • Test organization – termasuk memilih pendekatan pengujian yang tepat, estimasi waktu, usaha dan biaya, memperoleh resources dan mendefinisikan test levels dan test cycles. • Spesifikasi,persiapan atau penerapan tests, begitu juga evaluasi dan kontrol pelaksanaan. Peran dan tanggung jawab stakeholder yang terlibat Tasks dari test leaders, menurut International Software Testing Qualifications Board (ISTQB) termasuk : • Modifikasi perencanaan bergantung pada hasil dan perkembangan test (laporan perkembangan test) dan penerapan aksi penting untuk menyelesaikan masalah. • Pengaturan manajemen konfigurasi dan pelacakan yang tepat. • Pengenalan ukuran yang tepat untuk mengevaluasi perkembangan testing dan kualitas produk. • Pemilihan mana yang harus di otomatisasi sampai tingkat apa dan bagaimana. • Pemilihan test tools, dan mengatur sesi pelatihan untuk testers untuk mempelajari bagaimana menggunakan tools; • Keputusan berkaitan dengan lingkungan penerapan test. • Membuat test reports dan ringkasan presetasi berdasarkan data yang dikumpulan selama testing. Peran dan tanggung jawab stakeholder yang terlibat • “Testers” akan menghasilkan tests (mengubah kondisi test menjadi test cases) • Rancangan test data (test input data,begitu juga test hasil data yang diharapkan) • Melaksanakan tests • Memastikan kecocokan antara aktual data (hasil dari pelaksanaan software pada input data) dan data yang diharapkan. • Jika terjadi perbedaan antara keduanya, tester mengeluarkan laporan anomali, yang menentukan apakah ini kegagalan software atau defect di spesifikasi test atau pelaksanaan. Tester memutuskan apakah koreksi harus dilakukan. Peran dan tanggung jawab stakeholder yang terlibat Berikut tugas yang dilakukan oleh testers: – Review test plans dan berkontribusi terhadapnya. Sangat penting, sebagai testers yang akan menerapka test plan dan mereka harus bisa untuk menyetujui nya. Harapan yang tidak realistis bisa menurunkan motivasi. – Analisa, review, dan evaluasi testability dari kebutuhan pengguna, spesifikasi dan model. – Membuat spesifikasi test dari informasi yang ditemukan di test database; – Melaksanakan lingkungan test dengan berkoordinasi dengan system administrator dan network managers. – Menyediakan dan memperoleh test data. Peran dan tanggung jawab stakeholder yang terlibat Berikut tugas yang dilakukan oleh testers: – Melaksanakan tests pada semua tingkat, dan mencatat tests, mengevaluasi hasil dan melaporkan perbedaan dengan hasil yang diharapkan. – Menggunakan administratif dan test management tools, demikian juga test execution atau coverage tools, tergantung kebutuhan. – automating tests (terkadang dengan bantuan developers dan/atau ahli di test automation) – Mengukur komponen dan kinerja sistem (jika memungkinkan). – Review tests dikembangkan oleh orang lain dengan mencatat defect yang teridentifikasi. – Mengatur semua elemen seperti konfigurasi item, begitu juga jangan sampai kehilangan data. Aspek kontrak pengujian • Aktivitas test adalah banyak dan bervariasi, tergantung pada ukuran proyek. • Tim test – seperti tim pengembang – terdiri dari individu yang memiliki perbedaan pengetahuan dan roles. Yaitu planning, prediction, monitoring, and execution roles. • ISTQB menetapka dua roles utama : • Test leader (test manager) role. • Technician role, menjalankan tests : tester role. Aspek kontrak pengujian Pada tim yang lebih besar, spesialisasi lebih terlihat, kita akan memiliki : • Test analysts Spesialiasi satu atau lebih aspek fungsional atau non fungsional. • Technical test analysts Spesialis di aspek tertentu,seperti performance testing, security, atau maintainability testing. • Technical specialists yang juga bisa bertindak sebagai test team support, Apakah ahli database (merancang test data), atau ahli bisnis (untuk memastikan test cases benar menyesuaikan dengan kebutuhan pengguna). Specialis di requirement management, usability (ergonomics dan graphical user interfaces (GUIs)) atau configuration management dapat berkaitan dengan tim test terhgantung kebutuhan spesifik tim. Daftar Pustaka Homès, Bernard. 2012. Fundamentals of Software Testing. Hoboken: John Wiley & Sons, Inc. Pressman, Roger; Maxim, Bruce. 2016. Software Engineering: A Practitioner’s Approach, 8th Edition Kendal & Kendal. 2014. Systems Analysis and Design (9th Ed). Pearson Education Terima Kasih Nurullah Husufa ST, MMSI