1. Menurut Hetzel 1973, Testing adalah proses pemantapan kepercayaan akan kinerja program
atau sistem sebagaimana yang diharapkan.
Menurut Myers 1979, Testing adalah proses eksekusi program atau sistem secara intens
untuk menemukan error.
Menurut Standar ANSI/IEEE 1059, Testing adalah proses menganalisa suatu entitas software
untuk mendeteksi perbedaan antara kondisi yang ada dengan kondisi yang diinginkan
(defects / errors / bugs) dan mengevaluasi fitur-fitur dari entitas software.
2. Testing shows presence of defects: Dalam melakukan pengujian perangkat lunak proses yang
dilakukan sebenarnya adalah mencari cacat/kesalahan pada perangkat lunak yang
dikembangkan. Seorang tester harus membuat perangkat lunak menjadi gagal. Hal itu
diperlukan agar proses pengujian perangkat lunak bisa menemukan kegagalan program
sebanyaknya, sehingga bisa segera diperbaiki dan perangkat lunak yang dihasilkan
berkualitas.
Exhausting testing is impossible: Menguji segala sesuatu termasuk semua kombinasi input dan
prasyarat tidak mungkin. Jadi, bukannya melakukan pengujian lengkap kita dapat
menggunakan risiko dan prioritas untuk memfokuskan upaya pengujian. Jadi, mengakses dan
mengelola risiko adalah salah satu kegiatan yang paling penting dan alasan untuk pengujian
dalam setiap proyek.
Early testing: Dalam Software Development Life Cycle (SDLC) kegiatan pengujian harus dimulai
sedini mungkin dan harus difokuskan pada tujuan yang telah ditetapkan.
Defect clustering: Sejumlah kecil modul berisi sebagian besar cacat ditemukan selama
pengujian pra-rilis atau menunjukkan kegagalan yang paling operasional. Hal ini dapat
memudahkan tester dalam mengidentifikasi.
Pesticide paradox: Jika jenis yang sama dari tes diulang lagi dan lagi, akhirnya set yang sama
dari kasus uji tidak akan lagi dapat menemukan bug baru. Untuk mengatasi hal ini “Pesticide
Paradox”, itu benar-benar sangat penting untuk meninjau kasus uji secara teratur dan tes
baru dan berbeda harus ditulis untuk latihan bagian yang berbeda dari perangkat lunak atau
sistem untuk berpotensi menemukan lebih banyak cacat.
Testing is context different: Pengujian pada dasarnya tergantung konteks. Berbagai jenis situs
yang diuji berbeda. Misalnya, Testing software yang berkaitan erat dengan keamanan tentu
berbeda dari sebuah situs e-commerce.
Absence of errors fallacy: Jika sistem yang dibangun tidak dapat digunakan dan tidak
memenuhi kebutuhan dan harapan pengguna kemudian ditemukan dan memperbaiki
cacat/bugs. hal ini tidak akan berguna sama sekali.
3. White Box merupakan salah satu cara untuk menguji suatu aplikasi atau software dengan cara
melihat modul untuk dapat meneliti dan menganalisa kode dari program yang dibuat ada
yang salah atau tidak.
4. Flow graph terdiri dari sekumpulan node dan edge. Dengan menggunakan flow graph, suatu
path bebas dapat didefinisikan sebagai path pada flow graph yaitu yang mempunyai
setidaknya satu edge yang belum dilalui pada path lainnya. Flow graph merupakan graph
berarah dimana :
Himpunan independent paths yang mencakup semua edges dikenal sebagai himpunan basis
(basis set). Setelah himpunan basis terbentuk, uji kasus dibuat untuk mengeksekusi semua
path pada himpunan basis.
5. Testing Kondisi (Condition Testing), Berfokus pada testing disetiap kondisi didalam program.
Testing Alur Data (Data Flow Testing), Test path ditentukan berdasarkan pendefinisian dan
penggunaan variabel didalam program.
Testing Loop (Loop Testing), Berfokus pada validasi dari pembuatan loop.
6. Jika masukan mempunyai jenjang tertentu, maka definisikan kategori valid dan tak valid
terhadap jenjang masukan tersebut.
- Jika masukan membutuhkan nilai tertentu, definisikan kategori valid dan tak valid.
- Jika masukan membutuhkan himpunan masukan tertentu, definisikan kategori valid dan
tak valid.
- Jika masukan adalah Boolean, definisikan kategori valid dan tak valid.
Sedangkan beberapa kombinasi yang mungkin dalam partisi ekuivalensi, adalah:
Nilai masukan yang valid atau tak valid.
Nilai numerik yang negatif, positif atau nol.
String yang kosong atau kosong.
- Daftar (list) yang kosong atau tidak kosong.
- File data yang ada dan tidak, yang dapat dibaca/ditulis atau tidak.
- Tanggal yang berada setelah tahun 2000 atau sebelum tahun 2000, tahun kabisat atau
bukan tahun kabisat (terutama tanggal 29 Februari 2000 yang mempunyai proses
tersendiri).
- Tanggal yang berada di bulan yang berjumlah 28, 29, 30, atau 31 hari.
- Hari pada hari kerja atau liburan akhir pekan.
- Waktu di dalam atau diluar jam kerja kantor.
- Tipe file data, seperti teks, databerformat, grafik, video, atau suara.
- Sumber atau tujuan file, seperti hard drive, floppy drive, CD-ROM, jaringan.
7. Equivalence Partitioning adalah metode black box testing yang membagi domain masukan
dari suatu program ke dalam kelas-kelas data, dimana test cases dapat diturunkan [BCS97a].
Sedangkan Boundary value analysis adalah suatu teknik disain test cases yang berguna untuk
melakukan pengujian terhadap nilai sekitar dari pusat domain masukan.
8. Mendekomposisi (membagi) sistem berdasarkan fungsinya
- Membuat hirarki dalam fungsi tersebut
- Mendefinisikan fungsi:
Apa yang harus dilakukan oleh fungsi
Bagaimana kerja fungsi tersebut seharusnya,(berbentuk deskripsi, tampilan layar,
DFD, daftar input & output)
9. Comparison Testing adalah metode pembangkitan data uji yang dilakukan pada perangkat
lunak yang dibuat redundan. Perangkat lunak yang redundan mempunyai dua tim
pengembang yang masing-masing mengembangkan perangkat lunak sendiri-sendiri untuk
spesifikasi yang sama.
10. Risk based testing merupakan metode untuk menentukan prioritas dalam mendisain test
cases. Efektifitas Test = Jumlah defect ditemukan / estimasi jumlah defect.
Sedangkan Syntax testing [BCS97A] menggunakan model sintaksis masukan sistem yang
didisain secara normal, yang merupakan suatu cara penggunaan dan penggabungan kata-
kata membentuk suatu frase. Syntax testing sangat berguna untuk sistem yang mengunakan
baris-baris perintah untuk pengaksesannya. Tes dilakukan untuk representasi valid dan tidak
valid berdasarkan pada model sintaksis.
BUKTI PEMBAYARAN