Ch 04 Metode pengujian Black Box dan White BoxTri Sugihartono
Metode pengujian Black Box dan White Box
Mhs dapat memahami ttg Metode pengujian Black Box dan White Box
1. White Box vs
Black Box
2. Proses dalam Black Box Testing
3. Kelebihan & Kekurangan
4. PENGUJIAN BASIS PATH
5. Notasi Diagram Alir
Ch 04 Metode pengujian Black Box dan White BoxTri Sugihartono
Metode pengujian Black Box dan White Box
Mhs dapat memahami ttg Metode pengujian Black Box dan White Box
1. White Box vs
Black Box
2. Proses dalam Black Box Testing
3. Kelebihan & Kekurangan
4. PENGUJIAN BASIS PATH
5. Notasi Diagram Alir
Microsoft SQL Server diperkenalkan pada tahun 1990 untuk platform Microsoft OS/2 dalam kerjasamanya dengan Sybase. Produk ini berasal dari Sybase SQL Server 4.x untuk platform Unix. Dengan adanya Windows NT, muncul inisiatif untuk membangun SQL Server versi Windows NT sehingga dihasilkan Microsoft SQL Server versi 4.2 untuk platform Windows NT. Kerjasama dengan Sybase masih berlanjut dan diluncurkan SQL Server 6.0 pada tahun 1995 dan setahun kemudian SQL Server versi 6.5 diluncurkan. SQL Server 6.5 memperbarui kemampuan transaksi dan menjadi produk database
client/server yang banyak dipakai pada platform Windows NT. Untuk memenuhi kebutuhan pengguna yang makin meningkat, maka SQL Server perlu didisain ulang dan kerjasama dengan Sybase dihentikan. Kemudian Microsoft mengembangkan SQL Server 7.0 yang difokuskan pada tiga area yaitu : easy to use, scalability dan data warehousing. Pada tahun 2000, kemudian Microsoft meluncurkan SQL Server 2000, hingga sampai sekarang Microsoft terus meluncurkan SQL Server versi terbaru untuk mengikuti perkembangan kemajuan teknologi.
Microsoft SQL Server diperkenalkan pada tahun 1990 untuk platform Microsoft OS/2 dalam kerjasamanya dengan Sybase. Produk ini berasal dari Sybase SQL Server 4.x untuk platform Unix. Dengan adanya Windows NT, muncul inisiatif untuk membangun SQL Server versi Windows NT sehingga dihasilkan Microsoft SQL Server versi 4.2 untuk platform Windows NT. Kerjasama dengan Sybase masih berlanjut dan diluncurkan SQL Server 6.0 pada tahun 1995 dan setahun kemudian SQL Server versi 6.5 diluncurkan. SQL Server 6.5 memperbarui kemampuan transaksi dan menjadi produk database
client/server yang banyak dipakai pada platform Windows NT. Untuk memenuhi kebutuhan pengguna yang makin meningkat, maka SQL Server perlu didisain ulang dan kerjasama dengan Sybase dihentikan. Kemudian Microsoft mengembangkan SQL Server 7.0 yang difokuskan pada tiga area yaitu : easy to use, scalability dan data warehousing. Pada tahun 2000, kemudian Microsoft meluncurkan SQL Server 2000, hingga sampai sekarang Microsoft terus meluncurkan SQL Server versi terbaru untuk mengikuti perkembangan kemajuan teknologi.
2. Latar BelakangLatar Belakang
Pengujian P/L adalah elemen kritis dariPengujian P/L adalah elemen kritis dari
jaminan kualitas P/L dan merupakanjaminan kualitas P/L dan merupakan
review puncak terhadap spesifikasi,review puncak terhadap spesifikasi,
desain dan pembuatan program.desain dan pembuatan program.
Pengujian P/L menghabiskan upaya 30-Pengujian P/L menghabiskan upaya 30-
40% dari total pekerjaan proyek.40% dari total pekerjaan proyek.
Untuk proyek yang membahayakanUntuk proyek yang membahayakan
nyawa manusia, biaya pengujian bisa 3-5nyawa manusia, biaya pengujian bisa 3-5
X proyek biasa.X proyek biasa.
3. Tujuan PengujianTujuan Pengujian
1.1. Menjalankan program untuk menemukanMenjalankan program untuk menemukan
error.error.
2.2. Test case yang bagus adalah yangTest case yang bagus adalah yang
memiliki kemungkinan terbesar untukmemiliki kemungkinan terbesar untuk
menemukan error yang tersembunyi.menemukan error yang tersembunyi.
3.3. Pengujian yang sukses adalah yangPengujian yang sukses adalah yang
berhasil menemukan error yangberhasil menemukan error yang
tersembunyi.tersembunyi.
4. Prinsip PengujianPrinsip Pengujian
Harus bisa dilacak hingga sampai keHarus bisa dilacak hingga sampai ke
kebutuhan customer.kebutuhan customer.
Harus direncanakan sejak model dibuat.Harus direncanakan sejak model dibuat.
Prinsip Pareto: 80% error uncovered.Prinsip Pareto: 80% error uncovered.
Dari lingkup kecil menuju yang besar.Dari lingkup kecil menuju yang besar.
Tidak bisa semua kemungkinan diuji.Tidak bisa semua kemungkinan diuji.
Dilakukan oleh pihak ketiga yangDilakukan oleh pihak ketiga yang
independen.independen.
5. TestablilityTestablility
Kemudahan untuk diuji.Kemudahan untuk diuji.
Karakteristiknya:Karakteristiknya:
– Operability: mudah digunakan.Operability: mudah digunakan.
– Observability: mudah diamati.Observability: mudah diamati.
– Controlability: mudah dikendalikan.Controlability: mudah dikendalikan.
– Decomposability: mudah diuraikan.Decomposability: mudah diuraikan.
– Simplicity: lingkup kecil, semakin mudah diuji.Simplicity: lingkup kecil, semakin mudah diuji.
– Stability: jarang berubah.Stability: jarang berubah.
– Understandability: mudah dipahami.Understandability: mudah dipahami.
6. Desain Kasus PengujianDesain Kasus Pengujian
Black box testingBlack box testing
– Memastikan fungsional P/L berjalan.Memastikan fungsional P/L berjalan.
– Kesesuaian input dengan output.Kesesuaian input dengan output.
– Tidak memperhatikan proses logic internal.Tidak memperhatikan proses logic internal.
White box testingWhite box testing
– Pengamatan detail prosedur.Pengamatan detail prosedur.
– Mengamati sampai level percabangan kondisiMengamati sampai level percabangan kondisi
dan perulangan.dan perulangan.
8. Kompleksitas CyclomaticKompleksitas Cyclomatic
Menunjukkan jumlah skenario pengujian yang harusMenunjukkan jumlah skenario pengujian yang harus
dilakukan untuk menjamin cakupan seluruh program.dilakukan untuk menjamin cakupan seluruh program.
9. Contoh White Box TestingContoh White Box Testing
Lihat bukuLihat buku
halaman 449halaman 449
– 452.– 452.
11. Black Box Testing – EquivalenceBlack Box Testing – Equivalence
PartitioningPartitioning
Contoh: Input NPM dalam SIAMIKContoh: Input NPM dalam SIAMIK
– Jika dikosongi?Jika dikosongi?
– Jika diisi dengan format yang salah?Jika diisi dengan format yang salah?
– Jika diisi dengan NPM yang benar?Jika diisi dengan NPM yang benar?
12. Black Box Testing – Analisa NilaiBlack Box Testing – Analisa Nilai
BatasBatas
1.1. Menguji untuk input di sekitar batas atasMenguji untuk input di sekitar batas atas
maupun bawah sebuah range nilai yangmaupun bawah sebuah range nilai yang
valid.valid.
2.2. Menguji nilai maksimal dan minimal.Menguji nilai maksimal dan minimal.
3.3. Menerapkan (1 & 2) untuk output.Menerapkan (1 & 2) untuk output.
4.4. Menguji batas struktur data yang dipakai.Menguji batas struktur data yang dipakai.
Misal ukuran array.Misal ukuran array.
13. Black Box Testing – PerbandinganBlack Box Testing – Perbandingan
Spesifikasi kebutuhan yang samaSpesifikasi kebutuhan yang sama
dimungkinkan menghasilkan aplikasi/dimungkinkan menghasilkan aplikasi/
perangkat lunak yang berbeda.perangkat lunak yang berbeda.
Skenario pengujian pada aplikasi yangSkenario pengujian pada aplikasi yang
demikian bisa digunakan untuk skenariodemikian bisa digunakan untuk skenario
pengujian aplikasi serupa yang lain.pengujian aplikasi serupa yang lain.
14. Skenario Pengujian KhususSkenario Pengujian Khusus
Pengujian GUI.Pengujian GUI.
Pengujian arsitektur client/ server.Pengujian arsitektur client/ server.
Pengujian dokumentasi dan fasilitasPengujian dokumentasi dan fasilitas
bantuan.bantuan.
Pengujian sistem waktu nyata.Pengujian sistem waktu nyata.
16. STRATEGI PENGUJIAN P/LSTRATEGI PENGUJIAN P/L
Membahas langkah-langkah yang harusMembahas langkah-langkah yang harus
dikerjakan sebagai bagian dari pengujian.dikerjakan sebagai bagian dari pengujian.
Kapan dilaksanakan? Berapa usaha,Kapan dilaksanakan? Berapa usaha,
waktu dan sumber daya yang digunakan?waktu dan sumber daya yang digunakan?
Meliputi: perencanaan, desain test case,Meliputi: perencanaan, desain test case,
pelaksanaan, koleksi data dan evaluasi.pelaksanaan, koleksi data dan evaluasi.
17. Kaidah Umum PengujianKaidah Umum Pengujian
Dimulai dari pengujian tingkat komponen menujuDimulai dari pengujian tingkat komponen menuju
integrasi.integrasi.
Titik yang berbeda dimungkinkan memakaiTitik yang berbeda dimungkinkan memakai
teknik pengujian yang berbeda.teknik pengujian yang berbeda.
Pengujian dilakukan oleh developer dan (untukPengujian dilakukan oleh developer dan (untuk
proyek yang besar) tim independen.proyek yang besar) tim independen.
Testing dan debugging adalah berbeda. NamunTesting dan debugging adalah berbeda. Namun
debugging pasti berkaitan dengan strategidebugging pasti berkaitan dengan strategi
testing apapun.testing apapun.
18. Strategi PengujianStrategi Pengujian
Dimulai dari unit testing terhadap sourceDimulai dari unit testing terhadap source
code hingga system testing terhadapcode hingga system testing terhadap
spesifikasi kebutuhan.spesifikasi kebutuhan.
23. Integration TestingIntegration Testing
Regression testing: dilakukan pengujianRegression testing: dilakukan pengujian
setiap kali ada modul baru yangsetiap kali ada modul baru yang
diintegrasikan atau ada modul yangdiintegrasikan atau ada modul yang
berubah.berubah.
Smoke testing: test daily, untuk proyekSmoke testing: test daily, untuk proyek
jenis kritis-waktu.jenis kritis-waktu.
24. Validation TestingValidation Testing
Disebut sukses jika fungsi P/L dapatDisebut sukses jika fungsi P/L dapat
diterima oleh customer (berdasarkanditerima oleh customer (berdasarkan
dokumen SKPL).dokumen SKPL).
Alpha test: dilakukan di tempat developerAlpha test: dilakukan di tempat developer
oleh customer pada lingkungan yangoleh customer pada lingkungan yang
terkendali.terkendali.
Beta test: dilakukan di tempat customerBeta test: dilakukan di tempat customer
tanpa melibatkan developer padatanpa melibatkan developer pada
lingkungan yang tak terkendali.lingkungan yang tak terkendali.
25. System TestingSystem Testing
Meguji sistem berbasis komputer secaraMeguji sistem berbasis komputer secara
menyeluruh, termasuk juga hubungannyamenyeluruh, termasuk juga hubungannya
dengan sistem yang lain.dengan sistem yang lain.
Diantaranya:Diantaranya:
– Recovery testing, jika system failure.Recovery testing, jika system failure.
– Security testing, jika terjadi serangan.Security testing, jika terjadi serangan.
– Stress testing, terhadap jumlah, frekuensi dan volumeStress testing, terhadap jumlah, frekuensi dan volume
pekerjaan.pekerjaan.
– Performance testing, untuk mengukur pemakaianPerformance testing, untuk mengukur pemakaian
sumber daya.sumber daya.
26. DebuggingDebugging
Memperbaiki error yang ditemukan padaMemperbaiki error yang ditemukan pada
saat testing (yang sukses).saat testing (yang sukses).
Kaidah dasar sebelum debug:Kaidah dasar sebelum debug:
– Apakah penyebab bug dihasilkan kembaliApakah penyebab bug dihasilkan kembali
oleh bagian program yang lain?oleh bagian program yang lain?
– Apakah bug selanjutnya yang mungkinApakah bug selanjutnya yang mungkin
muncul jika bug diperbaiki?muncul jika bug diperbaiki?
– Apa yang bisa dilakukan untuk mencegah bugApa yang bisa dilakukan untuk mencegah bug
terjadi untuk pertama kalinya?terjadi untuk pertama kalinya?