Modul ke: Testing dan Implementasi Sistem Informasi Pada dasarnya, pengujian merupakan satu langkah dalam proses rekayasa perangkat lunak yang dapat dianggap sebagai hal yang merusak daripada membangun Fakultas FASILKOM Bima Cahya Putra, M.Kom Program Studi Sistem Informasi www.mercubuana.ac.id
Bagian Isi Pengujian perangkat lunak Implementasi interprise sistem
Jaminan kualitas perangkat lunak Testing & Implementasi Sistem Informasi
Pengujian Perangkat Lunak Adalah elemen kritis dari jaminan kualitas perangkat lunak dan merepresentasikan kajian pokok dari spesifikasi, desain, dan pengkodean.
Pengujian Perangkat Lunak Pentingnya pengujian perangkat lunak dan implikasinya yang mengacu pada kualitas perangkat lunak tidak dapat terlalu ditekan karena melibatkan sederetan aktivitas produksi di mana peluang terjadinya kesalahan manusia sangat besar dan arena ketidakmampuan manusia untuk melakukan dan berkomunikasi dengan sempurna maka pengembangan perangkat lunak diiringi dengan aktivitas jaminan kualitas.
Pengujian Perangkat Lunak Sejumlah aturan yang berfungsi sebagai sasaran pengujian pada perangkat lunak adalah: Pengujian adalah proses eksekusi suatu program dengan maksud menemukan kesalahan Test case yang baik adalah test case yang memiliki probabilitas tinggi untuk menemukan kesalahan yang belum pernah ditemukan sebelumnya Pengujian yang sukses adalah pengujian yang mengungkap semua kesalahan yang belum pernah ditemukan sebelumnya
Pengujian Perangkat Lunak Sasaran itu berlawanan dengan pandangan yang biasanya dipegang yang menyatakan bahwa pengujian yang berhasil adalah pengujian yang tidak ada kesalahan yang ditemukan. Data yang dikumpulkan pada saat pengujian dilakukan memberikan indikasi yang baik mengenai reliabilitas perangkat lunak dan beberapa menunjukkan kualitas perangkat lunak secara keseluruhan
Pengujian Perangkat Lunak Ada satu hal yang tidak dapat dilakukan oleh pengujian, yaitu pengujian tidak dapat memperlihatkan tidak adanya cacat, pengujian hanya dapat memperlihatkan bahwa ada kesalahan perangkat lunak.
Pengujian Perangkat Lunak Sebelum mengaplikasikan metode untuk mendesain test case yang efektif, perekayasa perangkat lunak harus memahami prinsip dasar yang menuntun pengujian perangkat lunak, yaitu: semua pengujian harus dapat ditelusuri sampai ke persyaratan pelanggan, maksudnya mengungkap kesalahan dari cacat yang menyebabkan program gagal.
Pengujian Perangkat Lunak Pengujian harus direncanakan lama sebelum pengujian itu mulai, maksudnya semua pengujian dapat direncanakan dan dirancang sebelum semua kode dijalankan. Prinsip Pareto berlaku untuk pengujian perangkat lunak, maksudnya dari 80% kesalahan yang ditemukan selama pengujian dapat ditelusuri sampai 20% dari semua modul program.
Pengujian Perangkat Lunak Pengujian harus mulai dari yang kecil dan berkembang ke pengujian yang besar, Selagi pengujian berlangsung maju, pengujian mengubah focus dalam usaha menemukan kesalahan pada cluster modul yang terintegrasi dan akhirnya pada sistem. Pengujian yang mendalam tidak mungkin karena tidak mungkin mengeksekusi setiap kombinasi jalur skema pengujian dikarenakan jumlah jalur permutasi untuk program menengah pun sangat besar. Untuk menjadi paling efektif, pengujian harus dilakukan oleh pihak ketiga yang independent
Pengujian Perangkat Lunak Sasaran utama pengujian adalah untuk mendapatkan serangkaian pengujian yang memiliki kemungkinan tertinggi di dalam pengungkapan kesalahan pada perangkat lunak. Untuk mencapai sasaran tersebut, digunakan 4 kategori yang berbeda dari tehnik desain test case: Pengujian white-box, pengujian blackbox, Integrasi Bottom-Up dan Integrasi Top- Down.
Pengujian Perangkat Lunak Pengujian white-box berfokus pada struktur control program. Test case dilakukan untuk memastikan bahwa semua statemen pada program telah dieksekusi paling tidak satu kali selama pengujian dan bahwa semua kondisi logis telah diuji. Pengujian basic path, tehnik pengujian white-box, menggunakan grafik (matriks grafiks) untuk melakukan serangkaian pengujian yang independent secara linear yang akan memastikan cakupan.
Pengujian Perangkat Lunak Tehnik pengujian black-box berfokus pada domain informasi dari perangkat lunak, dengan melakukan test case dengan menpartisi domain input dari suatu program dengan cara yang memberikan cakupan pengujian yang mendalam.
Pengujian Perangkat Lunak Integrasi Top-Down adalah pendekatan incremental dengan menggerakkan ke bawah melalui hirarki control, dimulai dengan control utama. Strategi intergrasi top-down memeriksa control mayor atau keputusan pada saat awal di dalam proses pengujian.
Pengujian Perangkat Lunak Pengujian Integrasi Bottom-up memulai konstruksi dan pengujian dengan modul atomic (modul pada tingkat paling rendah pada struktur program). Karena modul diintegrasikan dari bawah ke atas, maka pemrosesan yang diperlukan untuk modul subordinate ke suatu tingkat yang diberikan akan selalu tersedia dan kebutuhan akan stub dapat dieliminasi.
Pengujian Perangkat Lunak Proses Testing System Testing Pengujian terhadap integrasi sub-system, yaitu keterkaitan antar sub-system Acceptance Testing Pengujian terakhir sebelum sistem dipakai oleh user. Melibatkan pengujian dengan data dari pengguna sistem. Biasa dikenal sebagai alpha test ( beta test untuk software komersial, dimana pengujian dilakukan oleh potensial customer)
Pengujian Perangkat Lunak
Pengujian Perangkat Lunak Component testing Pengujian komponen-komponen program Biasanya dilakukan oleh component developer (kecuali untuk system kritis) Integration testing Pengujian kelompok komponen-komponen yang terintegrasi untuk membentuk subsystem ataupun system Dilakukan oleh tim penguji yang independent Pengujian berdasarkan spesifikasi sistem
Pendekatan Strategis ke pengujian perangkat lunak Testing & Implementasi Sistem Informasi
Pendekatan Strategis pengujian PL Pengujian Unit Pengujian Integrasi Pengujian Validasi Pengujian Sistem
Pendekatan Strategis pengujian PL Pengujian Unit Berfokus pada inti terkecil dari desain perangkat lunak yaitu modul Biasanya berorientasi pada white box MODUL Interface Struktur data lokal Kondisi Batas Jalur independen Jalur penanganan kesalahan Test Case
Pendekatan Strategis pengujian PL Test case harus didesain untuk mengungkap kesalahan dalam kategori pengetikan yang tidak teratur dan tidak konsisten inisialisasi yang salah atau nilai-nilai default Nama variabel yang tidak benar Tipe data yang tidak konsisten Underflow, overflow dan pengecualian pengalamatan
Pendekatan Strategis pengujian PL Integration testing Pengujian keseluruhan system atau subsystem yang terdiri dari komponen yang terintegrasi. Test integrasi menggunakan black-box dengan test case ditentukan dari spesifikasi. Kesulitannya adalah menemukan/melokasikan Penggunaan Incremental integration testing dapat mengurangi masalah tersebut.
Pendekatan Strategis pengujian PL Incremental integration testing A T1 A T1 A T1 T2 B T2 T2 B T3 B T3 C T3 T4 C T4 D T5 Test sequence 1 Test sequence 2 Test sequence 3
Pendekatan Strategis pengujian PL Pendekatan integration testing Top-down testing Berawal dari level-atas system dan terintegrasi dengan mengganti masing-masing komponen secara top-down dengan suatu stub (program pendek yg mengenerate input ke sub-system yg diuji). Bottom-up testing Integrasi components di level hingga sistem lengkap sudah teruji. Pada prakteknya, kebanyakan test integrasi menggunakan kombinasi kedua strategi pengujian tersebut.
Pendekatan Strategis pengujian PL Top-down testing Testing Level 1 Level 1 sequence... Level 2 Level 2 Level 2 Level 2 Level 2 stubs Level 3 stubs
Pendekatan Strategis pengujian PL Bottom-up testing Test drivers Level N Level N Level N Level N Level N Testing sequence Test drivers Level N 1 Level N 1 Level N 1
Pendekatan Strategis pengujian PL Pendekatan Testing Architectural validation Top-down integration testing lebih baik digunakan dalam menemukan error dalam sistem arsitektur. System demonstration Top-down integration testing hanya membatasi pengujian pada awal tahap pengembangan system. Test implementation Seringkali lebih mudah dengan menggunakan bottom-up integration testing
Pendekatan Strategis pengujian PL Interface testing Dilakukan kalau module-module dan sub-system terintegrasi dan membentuk sistem yang lebih besar Tujuannya untuk mendeteksi fault terhadap kesalahan interface atau asumsi yang tidak valid tentang interface tersebut. Sangat penting untuk pengujian terhadap pengembangan sistem dengan menggunakan pendekatan object-oriented yang didefinisikan oleh object-objectnya
Pendekatan Strategis pengujian PL Pengujian Validasi Kajian Konfigurasi (audit) Elemen dari proses validasi Memastikan apakah semua elemen konfigurasi perangkat lunak telah dikembangkan dengan tepat
Pendekatan Strategis pengujian PL Pengujian Alpha dan Beta Pengujian Alpha Usability labs Usability factors checklist Pengujian Beta
Pendekatan Strategis pengujian PL Pengujian Sistem Pengujian Perbaikan Pengujian Keamanan Pengujian Stress Pengujian Kinerja
Pendekatan Strategis pengujian PL Pengujian Aplikasi Server Volume Testing Stress Testing Performance Testing Data Recovery Testing Data Backup and Restore Testing Data Security Testing
Pendekatan Strategis pengujian PL Performance Testing Dilakukan secara paralel dengan Volume dan Stress testing untuk mengetahui unjuk kerja sistem (waktu respon, throughput rate) pada beberapa kondisi proses dan konfigurasi. Dilakukan pada semua konfigurasi sistem perangkat keras dan lunak. Mis.: pd aplikasi Client-Server diujikan pd kondisi korporate ataupun lingkungan sendiri (LAN vs. WAN, Laptop vs. Desktop) Menguji sistem dengan hubungannya sistem ke lain pada server yg sama.
Pendekatan Strategis pengujian PL Data Recovery Testing Investigasi dampak kehilangan data melalui proses recovery ketika terjadi kegagalan proses. Penting dilakukan karena data yg disimpan di server dapat dikonfigurasi dengan berbagai cara. Kehilangan Data terjadi akibat kegagalan sistem, hardisk rusak, peghapusan yg tidak sengaja, kecelakaan, virus dan pencuri.
Pendekatan Strategis pengujian PL Data Backup and Restore Testing Dilakukan untuk melihat prosedur back-up dan recovery. Diakukan dengan mensimulasikan beberapa kesalahan untuk menguji proses backup dan recovery. Pengujian dilakukan terhadap strategi backup: frekuensi, medium, waktu, mekanisme backup (manual/ otomatis), personal,? Berapa lama backup akan disimpan.
Pendekatan Strategis pengujian PL Data Security Testing Privilege access terhadap database diujikan pada beberapa user yang tidak memiliki privilege access ke database. Shutdown database engine melalui operating system (dengan beberapa perintah OS) yang dapat mematikan aplikasi database.
Terima Kasih Bima Cahya Putra, M.Kom