Pengujian Perangkat Lunak Shinta P. Sari White Box Pengujian white-box berfokus pada struktur kontrol program. Test case dilakukan untuk memastikan bahwa semua statement pada program telah dieksekusi paling tidak satu kali selama pengujian dan bahwa semua kondisi logis telah diuji. Pengujian aliran data dan kondisi lebih lanjut menggunakan logika program dan pengujian loop menyempurnakan tehnik white-box yang lain dengan memberikan sebuah prosedur untuk menguji loop dari tingkat kompleksitas yang bervariasi White-box testing dilakukan oleh Software Engineer karena membutuhkan pengetahuan tentang programming dan implementasinya Kelebihan : 1. Bagi Software engineer yang memiliki akses ke source code, hal ini menjadi sangat mudah untuk melakukan skenario pengujian secara efektif. 2. Membantu Software engineer untuk mengoptimalkan source code. 3. Baris kode yang tidak efisien dapat dihilangkan agar mencegah bugs pada program. Pengujian perangkat lunak : Menjalankan program dengan maksud untuk mengetahui kesalahan (error) program, mengukur apakah kinerja sistem sudah memenuhi kebutuhan fungsional dan non fungsional. Metode Pengujian Black Box What Does it produce??? White Box How well does it work?? Kelengkapan Keakuratan Reabilitas (white box) Maintainablity ( White box)
Kelemahan : 1. Terkadang sangat sulit melihat setiap baris kode untuk mencari bugs pada program yang akan diuji. 2. Mahal Black Box fokus pada domain informasi dari perangkat lunak, dengan melakukan test case dengan menpartisi domain dari suatu program dengan cara yang memberikan cakupan pengujian yang mendalam. Metode pengujian yang terspesialisasi meliputi sejumlah luas kemampuan perangkat lunak dan area aplikasi. GUI, arsitektur client/ server, dokumentasi dan fasilitas help dan sistem real time masing-masing membutuhkan pedoman dan tehnik khusus untuk pengujian perangkat lunak Ketika melakukan Black-box testing, tester akan berinteraksi dengan user interface yang menyediakan dan memeriksa nya, juga menguji performa program atau menguji function-function yang tidak bekerja dengan benar. Kelebihan : 1. Cocok dan efisien untuk source code dengan skala besar. 2. Menguji program dari sudut pandang user. 3. Software tester dalam jumlah yang banyak dapat menguji program tersebut tanpa harus memiliki pengetahuan tentang programming. Kelemahan: 4. Software tester hanya menjalankan beberapa skenario pengujian yang dipilih. 5. Pengujian yang tidak efisien karena Software tester memiliki pengetahuan yang terbatas tentang program. 6. Pengujian yang tidak spesifik karena Software tester tidak memiliki akses ke source code.
Level PEngujian Pengujian perangkat lunak Pengujian Unit Pengujian Integrasi Pengujian asi Pengujian Sistem 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 Pengujian Unit Checklist untuk pengujian interface Apakah jumlah parameter sama dengan jumlah argumen? Apakah antara atribut dan parameter argumen sudah cocok? Apakah antara sistem satuan parameter dan argumen sudah cocok? Apakah jumlah argumen yang ditransmisikan ke modul yang dipanggil sama dengan atribut parameter? Pengujian Unit Apakah atribut dari argumen yang ditransmisikan ke modul yang dipanggil sama dengan atribut parameter? Apakah sistem unit dari argumen yang ditransmisikan ke modul yang dipanggil sama dengan sistem satuan parameter? Apakah jumlah atribut dan urutan argumen ke fungsi-fungsi built-in sudah benar? Adakah referensi ke parameter yang tidak sesuai dengan poin entri yang ada? Apakah argumen only diubah? Pengujian Unit Apakah definisi variabel global konsisten dengan modul? Apakah batasan yang dilalui merupakan argumen? 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
Pengujian Integrasi Top Down Pengujian hasil integrasi unit-unit program menjadi bentuk sistem parsial ataulengkap Bertujuan mengatahui adakah masalah yang muncul dari interaksi komponen Kesulitan melacak sumber error ketika antar komponen sudah berinteraksi Pengujian Buttom Up & Top Down Buttom Up Pengujian asi Pengujian Sistem Pengujian Pemulihan Memaksa perangkat lunak untuk gagal dalam macam cara dan memverifikasi pemulihan dilakukan dengan benar baik secara otomatis maupun dengan intervensi. Mengevaluasi intervensi yang dilakukan membutuhkan waktu yang masih bisa ditolerir.
Pengujian Keamanan Memverifikasi kekebalan/ mekanisme perlindungan yang dibangun dalam sistem dari serangan yang tidak baik terhadap sistem. Akhirnya pengujian keamanan harus mampu menembus sistem meski diperlukan waktu lama dan sumber daya yang cukup. Pengujian Kekuatan Menjalankan sistem dengan cara meminta sumber daya jumlah, frekuensi, atau volume yang diluar kewajaran/abnormal. Meliputi pengujian sensitifitas, menggunakan data-data diluar batas valid data yang dapat menyebabkan kesalahan proses atau penurunan kinerja. Pengujian Kinerja Menguji kinerja run time aplikasi dalam suatu sistem terintegrasi. Berhubungan dengan pengujian kekuatan dan biasanya memerlukan juga perangkat keras, misalnya performa processor. Pengujian Deployment/konfigurasi Menjalankan perangkat lunak diberbagai lingkungan sistem operasi. Black Box Testing : Metode Pengujian Berbasis grafik Grafik mencerminkan hubungan antar objek data dan program Test case dapat dibuat berdasarkan kesalahankesalahan yang timbul dalam hubungan pada grafik tersebut Node mewakili objek dan garis busur berarah mewakili jenis tautan
Contoh: White Box Testing Black Box Testing
SALAH ORANG! A C E B D IF D Then if D berkacamatathen B else A else if A Then if A berbaju merah Then E else C else C Contoh : Test Case Black Box Testing Kinerja Form Identifikasi pengguna Aplikasi VoIP No. Skenario Output yang diharapkan asi 1 User memasukkan alamat IP yang sesuai 2 User tidak memasukkan alamat IP 3 User memasukkan alamat IP yang berbeda 4 Kedua user salling menekan tombol tunggu 5 Kedua user saling menekan tombol koneksi Aplikasi menamoilkan koneksi yang terbentuk Aplikasi menampilkan pesan Tidak dapat menentukan alamat yang dituju Aplikasi menampilkan pesan Tidak dapat terhubung ke tujuan Aplikasi menampilkan pesan terjadi kesalanan. Alamat tujuan sedang digunakan Aplikasi menampilkan pesan terjadi kesalanan. Alamat tujuan sedang digunakan /sesuai Contoh : Test Case Black Box Testing Proses komunikasi No. Skenario Output yang diharapkan asi 1 User mengetikkan data teks kemudian menekan tombol Kirim 2 User tidak mengetikkan data teks kemudian menekan tombol Kirim 3 User menekan tombol Enter setelah selesai mengetik data teks 4 User menekan tombol Putus Koneksi Pada tampilan pengirim : Indikator Tx berwarna hijau. Teks yang dikirim tertulis pada jendela Data StegoText Pada tampilan penerima : Indikator Rx berwarna hijau. Teks yang diterima tertulis pada jendela Data StegoText Aplikasi menampilkan pesan : Input StegoText tidak ada. Silahkan Anda masukkan data teks yang akan dikirim... Pada tampilan pengirim : Indikator Tx berwarna hijau Teks yang dikirim tertulis pada jendela Data StegoText Pada tampilan penerima : Indikator Rx berwarna hijau Teks yang diterima tertulis pada jendela Data StegoText Aplikasi akan tertutup/selesai /sesuai Latihan Soal : Buatlah Test Case untuk formulir pendaftaran berikut! Umur hanya boleh 17 70 tahun dan hari hanya boleh senin s.d jum at.
Kelompok 1 1. Black box 2. Atribut 3. Agregasi Kelompok 3 1. Multiplicity 2. Fork 3. Aktor Kelompok 4 1. Lifeline 2. Method 3. generalisasi
Kelompok 2 1. Include 2. Swimlane 3. Boundery class 4. return 5. asosiasi 6. white box Kelompok 8 1. Use case 2. Behaviour Diagram 3. Join Tebak Kata Dilarang menyebutkan kata yang ada di dalam soal Deskripsikanlah kata berikut dengan tidak lebih dari 3 kata! Kelompok 5 1. return 2. asosiasi 3. white box Kelompok 6 1. Destroy 2. komposisi 3. sequence diagram Kelompok 7 1. Class Diagram 2. Message 3. Include