TEKNIK PENGUJIAN PERANGKAT LUNAK
DAN PENGUJIAN SISTEM
Testing (Pengujian Perangkat Lunak)
Adalah elemen kritis dari jaminan kualitas perangkat lunak dan merepresentasikan kajian pokok dari spesifikasi, desain, dan pengkodean. 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. Meningkatnya visibilitas (kemampuan) perangkat lunak sebagai suatu elemen sistem dan “biaya” yang muncul akibat kegagalan perangkat lunak, memotivasi dilakukannya perencanaan yang baik melalui pengujian yang teliti. Pada dasarnya, pengujian merupakan satu langkah dalam proses rekayasa perangkat lunak yang dapat dianggap sebagai hal yang merusak daripada membangun.
Tujuan pengujian PL :
· Tujuan langsung
- Identifikasi dan menemukan beberapa kesalahan yang mungkin ada dalam PL yang diuji
- Setelah PL dibetulkan, diidentifikasi lagi kesalahan dan dites ulang untuk menjamin kualitas level penerimaan
- Membentuk tes yang efisien dan efektif dengan anggaran dan jadwal yang terbatas
· Tujuan tidak langsung
- Mengumpulkan daftar kesalahan untuk digunakan dalam daftar pencegahan kesalahan (tindakan corrective dan preventive).
Strategi pengujian PL :
· Big bang testing : menguji PL keseluruhan, sekali untuk semua package yang ada
· Incremental testing : menguji PL per bagian dalam modul (unit testing), dilanjutkan dengan menguji integrasi tiap modul (integration test), selanjutnya seluruh package diuji (system testing)
Incremental testing :
Dibentuk dari dua dasar strategi :
Top-down
§ Modul pertama yang diuji : modul utama (tertinggi)
§ Modul terakhir yang diuji : modul pada level paling rendah
§ Keuntungan : memperlihatkan keseluruhan fungsi program (semua modul lengkap)
§ Kerugian : sulit menyiapkan potongan program dan menganalisis hasil tes
Bottom-up : kebalikan top-down
§ Keuntungan : relatif mendorong performance
§ Kerugian : menghambat program sebagai suatu keseluruhan modul
· Keduanya menganggap package PL dibangun berdasarkan hirarki modul PL
Pengelompokan berdasarkan konsep pengujian :
A. Black box (functionality) testing
Mengidentifikasi kesalahan yang berhubungan dengan kesalahan fungsionalitas PL yang tampak dalam kesalahan output. Pengujian yang mengabaikan mekanisme internal sistem atau komponen dan fokus semata-mata pada output yang dihasilkan yang merespon input yang dipilih dan kondisi eksekusi. Pengujian yang dilakukan untuk mengevaluasi pemenuhan sistem atau komponen dengan kebutuhan fungsional tertentu. Pengujian yang dilakukan untuk antar muka perangkat lunak,pengujian ini dilakukan untuk memperlihatkan bahwa fungsi-fungsi bekerja dengan baik dalam arti masukan yang diterima dengan benar dan keluaran yang dihasilkan benar-benar tepat, pengintegrasian dari eksternal data berjalan dengan baik(file/data).
Pengujian Black Box digunakan untuk menguji fungsi-fungsi khusus dari perangkat lunak yang dirancang. Kebenaran perangkat lunak yang diuji hanya dilihat berdasarkan keluaran yang dihasilkan dari data atau kondisi masukan yang diberikan untuk fungsi yang ada tanpa melihat bagaimana proses untuk mendapatkan keluaran tersebut. Dari keluaran yang dihasilkan, kemampuan program dalam memenuhi kebutuhan pemakai dapat diukur sekaligus dapat diiketahui kesalahan-kesalahannya.
Beberapa jenis kesalahan yang dapat diidentifikasi :
• Fungsi tidak benar atau hilang
• Kesalahan antar muka
• Kesalahan pada struktur data (pengaksesan basis data)
• Kesalahan inisialisasi dan akhir program
• Kesalahan performasi
B. White box (structural) testing / glass box testing
Memeriksa kalkulasi internal path untuk mengidentifikasi kesalahan. Pengujian yang memegang perhitungan mekanisme internal sistem atau komponen. White box testing memiliki empat kategori yaitu :
1. Data processing and calculations correctness test : melakukan pengecekan data processing untuk setiap kasus tes.
Pendekatan yang digunakan :
- Path coverage : rencana tes yang mencakup semua kemungkinan path, di mana coverage diukur dengan berapa % path discover
- Line coverage : rencana tes yang mencakup semua baris kode program, di mana coverage diukur dengan berapa % line discover
Correctness test & path coverage
- Path yang berbeda dalam modul PL akan dibentuk oleh pilihan kondisional statement seperti IF-THEN-ELSE / DO WHILE / DO UNTIL.
- Untuk full line coverage, tiap line dieksekusi min 1 kali selama proses pengujian, contoh : Imperial Taxi Service (ITS) taximeter ada 24 test case
- Software qualification test
- Maintainability test
- Reusability test
Pengujian yang dilakukan lebih dekat lagi untuk menguji prosedur-prosedur yang ada.Lintasan logic yang dilalui oleh setiap bagian prosedur diuji dengan memberikan kondisi/ loop spesifik. Pengujian ini menjamin pengujian terhadap semua lintasan yang tidak bergantung minimal satu kali.Dimana semua keputusan logic dari sisi ‘true’ dan ‘false’ program akan diuji serta eksekusi semua loop dalam batasan kondisi dan batasan operasionalnnya selain itu juga meliputi pengujian validasi struktur data internal.
Pengujian White Box digunakan untuk mengetahui cara kerja suatu perangkat lunak secara internal. Pengujian dilakukan untuk menjamin operasi-operasi internal sesuai dengan spesifikasi yang telah ditetapkan dengan menggunakan struktur kendali dari prosedur yang dirancang.
Pelaksanaan pengujian white box :
• Menjamim seluruh independent path dieksekusi paling sedikit satu kali. Independent path adalah jalur dalam program yang menunjukkan paling sedikit satu kumpulan proses ataupun kondisi baru.
• Menjalani logical decision pada sisi dan false
• Mengeksekusi pengulangan (looping) dalam batas-batas yang ditentukan
• Menguji struktur data internal
Untuk lebih lengkapnya silahkan download disini
0 komentar:
Posting Komentar