Testing program adalah proses mengoperasikan program komputer pada saat program atau komponen program pada kondisi tertentu.
1 prinsip pengujian
a. semua pengujian harus dapat di telusuri sampai ke persyaratan pelanggan
b. Pengujian harus di rencanakan lama sebelum pengujian di mulai
c. Prinsip pareto berlaku untuk pengujian perangkat lunak
d. Pengujian harus mulai dari yang kecil dan berkembang ke pengujian yang besar
e. Pengujian yang mendalam tidak mungkin dilakukan
f. Untuk menjadi paling efektif pengujian harus di lakukan oleh pihak ketiga yang independen
2 . pengujian (ini testabilitas)
a. Operabilitas (semakin baik ia bekerja.semakin efisien yang ia dapat)
b. Observabilitas (apa yang anda lihat adalah apa yang anda uji)
c. Kontrolabilitas (semakin baik kita dapat mengontrol perangkat lunak , semakin banyak pengujian yang dapat di otomatisasi dan di optimalkan)
d. Dekomposabilitas (dengan mengontrol ruang lingkup pengujian ,kita dapat dengan lebih cepat mengisolasi masalah dan melakukan pengujian kembali secara lebih halus)
e. Kesederhanaan (semakin sedikit yang di uji , semakin cepat kita dapat mengujinya)
f. Stabilitas (semakin sedikit perubahan , semakin sedikit gangguan dalam pengujian)
g.kemampuan untuk dapat di pahami (semakin banyak informasi yang kita miliki , semakin halus pengujian yang akan kita lakukan
3.tujuan
Adapun tujuan nya sebagai berikut:
a.menilai apakah sistem yang di kembangkan telah sesuai dan memenuhi kebutuhan yang sudah di tetapkanb
b.menemukan kesalahan pada sistem yang tidak terlihat sebelum nya
C. Menilai apakah sistem sudah beroperasi dengan benar
4 . prosedur testing
a. Tentukan yang akan di uji
b. Menentukan cara melaksanakan pengujian
c. Membuat kasus uji
d. Menentukan hasil yang di terapkan
e. melaksanakan pengujian
f. Melaksanakan perbandingan antara hasil uji dan hasil yang di harapkan
a. Black Box Testing
Black box testing merupakan pendekatan komplementer dari teknik white box karena pengujian black box diharapkan mampu mengungkap kelas kesalahan yang lebih luas dibandingkan teknik white box. Pengujian black box berfokus pada pengujian persyaratan fungsional perangkat lunak untuk mendapatkan serangkaian kondisi input yang sesuai dengan persyaratan fungsional suatu program.
1) Fungsi-fungsi yang tidak benar atau hilang.
2) Kesalahan interface.
3) Kesalahan dalam struktur data atau akses database eksternal.
4) Kesalahan kinerja.
5) Inisialisasi dan kesalahan terminasi.
Metode dalam black box testing terdiri dan tiga cara sebagai berikut. 1) Pengujian Graph Based
Langkah pertama pada pengujian black box adalah memahami objek yang dimodelkan di dalam perangkat lunak dan hubungan yang akan menghubungkan objek tersebut. Setelah hal itu dilakukan, maka langkah selanjutnya adalah menentukan sederetan pengujian yang membuktikan bahwa semua objek memiliki hubungan yang diharapkan satu dengan yang lainnya.. Berikut notasi pengujian berbasis graph.
Notasl
Simpul atau node, menggambarkan suatu objek
Link, menggambarkan hubungan antarobjek
Node weight, menggambarkan properti atau nilai dari data.
Link weight, menggambarkan karakteristik link
Link paralel, menggambarkan hubungan yang berbeda yang dibangun
Link simetris, menggambarkan hubungan dua arah antara dua orang,
mengidentifikasikan kasus uji tambahan. White box bertujuan menguji semua statemen program. Dengan metode pengujian
Terdapat tiga pola link weight sebagai berikut.
a) Transitivitas, yaitu hubungan antara tiga objek atau lebih yang menentukan bagaimana
pengaruh hubungan tersebut menyebar pada objek yang ditentukan. b) Simetris, yaitu hubungan antara dua objek secara dua arah.
c) Refleksif, yaitu hubungan yang mengarah pada node itu sendiri atau loop Berikut beberapa metode pengujian black box menggunakan graph. null.
a) Transaction flow modelling (pemodelan aliran transaksi), metode ini menggunakan node sebagai representasi langkah pada transaksi dan link sebagai representasi hubungan logika antara langkah-langkah tersebut.
b) Finite state modelling (pemodelan keadaan terbatas), metode ini menggunakan node sebagai representasi status dan link sebagai representasi transisi Statechart atau state transition diagram dapat digunakan untuk membuat graph,
c) Data flow modelling (pemodelan aliran data), metode ini menggunakan node sebagai representasi objek data dan link sebagai transformasi dari satu objek data ke objek
data yang lain,
d) Timing modelling (pemodelan pemilihan waktu), metode ini menggunakan node. sebagai representasi objek program dan link sebagai hubungan sekuensial antara objek.
2) Equivalence Partitioning (Partisi Ekuivalensi)
Equivalence partitioning merupakan metode uji coba black box yang membagi domain input dari program menjadi beberapa kelas data, menentukan kasus pengujian dengan mengungkapkan kelas-kelas kesalahan sehingga akan mengurangi jumlah kasus pengujian. Apabila suatu link weight memiliki pola transivitas, simetris, dan refleksit, maka akan terdapat kelas ekuivalensi. Pada dasarnya kelas ekuivalensi merepresentasikan serangkaian kondisi valid dan tidak valid (invalid) pada kondisi input (masukan). Secara khusus kondisi masukan dapat berupa harga numerik, suatu rentang harga, serangkaian harga yang terkait, atau suatu kondisi Boolean.
Berikut cara menentukan kelas ekuivalensi a) Jika kondisi input berupa suatu range, maka input kasus ujinya 1 valid dan 2 invalid
b) Jika kondisi input berupa harga khusus, maka input kasus ujinya 1 valid dan 2 invalid c) Jika kondisi input berupa anggota himpunan, maka input kasus ujinya 1 valid dan
2 invalid.
d) Jika kondisi input berupa anggota Boolean, maka input kasus ujinya 1 valid dan 1 invalid.
3) Boundary Value Analysis (Analisis Nilai Batas) Boundary Value (BV) fokus pada suatu batasan nilai di mana kemungkinan terdapat
cacat yang tersembunyi. BV mengarahkan pada pemilihan kasus uji yang melatih nilai. nilai batas. BV merupakan desain teknik kasus uji yang melengkapi equivalence class BV.
testing. Daripada memfokuskan hanya pada kondisi input, BV juga menghasilkan kasus uji dari domain output.
Berikut langkah-langkah pengujian menggunakan
a) Identifikasi kelas-kelas yang ekuivalen (equivalence class). b) Identifikasi batasan untuk tiap equivalence class.
c) Buat test case untuk tiap batasan suatu nilai dengan memilih titik pada batasan, satu titik pada nilai bawah batasan dan satu titik pada nilai atas batasan.
b. White Box Testing
Pengujian white box (glass box) adalah pengujian yang didasarkan pada pengecekan terhadap detail perancangan, menggunakan struktur kontrol dari desain program secara prosedural untuk membagi pengujian ke dalam beberapa kasus pengujian.
white box, perekayasa sistem dapat melakukan test case sebagai berikut. 1) Memberikan jaminan bahwa semua jalur independen pada suatu modal telah digunakan
minimal satu kali.
2) Menggunakan semua keputusan logis pada sisi true dan false. 3) Mengeksekusi semua loop pada batasan nilai dan operasional pada setiap kondisi.
4) Menggunakan struktur data internal untuk menjamin validitas jalur keputusan..
Adapun keuntungan pengujian white box adalah mampu menghasilkan program yang
benar dan sempurna 100% karena hal-hal berikut.
1) Mengerjakan seluruh keputusan logika,
2) Mengerjakan seluruh Joop (sesuai batas).
3) Menjamin seluruh jalur independen dalam modul dikerjakan minimal satu kali. 4) Mengerjakan seluruh data internal yang menjamin validitas.
Keuntungan tersebut dapat diperoleh jika syarat di bawah ini terpenuhi.
1) Mendefinisikan semua logical path.
2) Membangun kasus untuk pengujian.
3) Mengevaluasi hasilnya.
4) Menguji secara menyeluruh. Adapun kerugian penggunaan white box sebagai berikut.
1) Pengujian secara menyeluruh justru menimbulkan masalah sumber daya..
2) Program yang kecil bisa menghasilkan banyak sekali jalur logika.
3) Setiap jalur harus diuji secara manual (menulis, mengeksekusi, dan memverifikasi hasil) untuk dibuktikan kebenarannya.