1.1.
Latar Belakang
Kemajuan teknologi yang sangat pesat ditandai dengan semakin
banyaknya perangkat-perangkat teknologi informasi yang digunakan oleh masyarakat luas. Sekarang ini banyak terdapat beberapa paradigma yang digunakan dalam rekayasa software, diantaranya process-oriented methodologies, blended methodologies, object oriented methodologies, Rapid development methodologies, people oriented methodologies, dan frameworks. Semua metodologi tersebut berkembang dan digunakan sesuai dengan kebutuhan dari penggunanya. Metodologi yang digunakan dalam pengembangan sistem informasi adalah Object Oriented. Saat ini Object Oriented merupakan metodologi yang baik dalam rekayasa software. Object Oriented memandang software bagian per bagian dan menggambarkan satu bagian tersebut dalam satu objek. Tidak seperti paradigma lainnya, dimana hanya cocok untuk beberapa kasus dan bagian dari seluruh kemungkinan ruang lingkup aplikasi, khusus untuk object-oriented dapat diaplikasikan dalam seluruh ruang lingkup. Pengujian perangkat lunak adalah suatu proses yang digunakan untuk mengidentifikasi ketepatan, kelengkapan dan mutu dari perangkat lunak dalam ilmu komputer yang dikembangkan. Pada dasarnya, pengujiann tidak pernah dapat menetapkan kebenaran dari perangkat lunak. Pentingnya pengujian perangkat lunak dan implikasinya yang mengacu pada kualitas perangkat lunak itu sendiri. Pengujian perangkat lunak adalah elemen kritis dari jaminan kualitas perangkat lunak dan merepresentasikan kajian pokok dari spesifikasi,desain dan pengkodean.
1.2.
Batasan Masalah
Dalam pembuatan tugas makalah ini, terdapat 2 kategori yang menjadi
batasan masalah sekaligus menjadi batasan materi yang dibahas di dalam makalah ini, yaitu : 1. Pengujian berorientasi objek, yang meliputi: a. b. c. d. e. 2. Model pengujian OOA dan OOD. Strategi pengujian berorientasi objek. Desain test case untuk perangkat lunak berorientasi objek. Metode pengujian yang diaplikasikan pada tingkat kelas. Desain test case inter kelas.
Strategi pengujian perangkat lunak, yang meliputi: a. Pendekatan strategis terhadap pengujian perangkat lunak. b. Pengujian modul perangkat lunak. c. Pengujian terintegrasi. d. Uji validasi. e. Pengujian sistem. f. Seni debugging.
1.3.
Tujuan Penulisan
Pembuatan makalah ini memiliki beberapa bertujuan, diantaranya:
1) Agar mahasiswa memahami model pengujian berorientasi objek. 2) Agar mahasiswa memahami pentingnya verifikasi dan validasi terhadap produk yang akan diuji, pengorganisasian pengujian perangkat lunak, strategi pengujian perangkat lunak dan kriteria penyelesaian sebuah pengujian. 3) Agar mahasiswa memahami pertimbangan uji modul dan prosedurnya. 4) Agar mahasiswa memahami strategi top down dan bottom up dalam pengujian terintegrasi, pandangan terhadap pengujian terintegrasi dan dokumentasinya.
5) Agar mahasiswa memahami pengertian, kriteria, ulasan konfigurasinya, serta proses uji alfa dan beta dalam proses uji validasi. 6) Agar mahasiswa memahami aspek aspek pengujian sistem seperti: uji pemulihan, uji keamanan, uji stress dan uji kinerja. 7) Agar mahasiswa memahami proses debugging pertimbangan psikologi dan pendekatan debugging.
1.4.
Metode Penulisan
Metode penulisan dilakukan dengan dua tahap yang dijabarkan sebagai
berikut: a. Identifikasi Materi Pada tahap ini, penulis merumuskan latar belakang permasalahan dari materi yang dibahas di dalam makalah dengan tujuan tujuan dan batasan masalah terdapat pada materi makalah. b. Studi Literatur Membaca buku serta artikel yang berkaitan dengan tujuan penulisan.
BAB II
PEMBAHASAN MATERI Bab ini menjelaskan materi yang akan dibahas. Pembahasan materi tersebut dapat berupa pengertian, definisi definisi dan lain lain.
BAB III
PENUTUP Bab ini akan terbagi menjadi dua bagian, yaitu kesimpulan dan saran. Kesimpulan merupakan hasil akhir dari penulisan dan jawaban penyelesaian masalah. Untuk sub bab saran akan ditujukan kepada pihak pihak yang terkait seperti penulis sehubungan dengan pengembangan atau perbaikan penulisan makalah ini.
2.1.
menemukan bug (kesalahan-kesalahan) pada sistem atau perangkat lunak sebelum diberikan kepada pengguna/ user. Pada pengujian berorientasi obyek, komponen yang akan diuji adalah class object. Lebih besar dibandingkan pengujian suatu function sehingga pendekatan white-box testing perlu diperluas. Pengujian sebaiknya menemukan kesalahan yang tidak disengaja dan pengujian dinyatakan sukses jika berhasil memperbaiki kesalahan tersebut. Selain itu, pengujian juga bertujuan untuk menunjukkan kesesuaian fungsi-fungsi perangkat lunak dengan spesifikasinya. Pengujian dapat dikategorikan atas : 1) Pengujian terhadap proses pengembangan sistem dan dokumen dokumen pendukung. Proses berarti sejumlah aktivitas yang didukung oleh dokumen yang mendeskripsikan aktivitas-aktivitas. 2) Pengujian terhadap analisis dan model perancangan. Dalam sistem berorientasi objek, pengujian model analisis dan perancangan adalah hal yang sangat penting. 3) Pengujian secara statik dan dinamik untuk implementasi. Tujuannya adalah mencari kesalahan sedini mungkin dalam proses, tetapi kesalahan dalam kode untuk sistem yang besar dan kompleks tidak dapat dihindarkan. Pengujian statik merupakan inspeksi kode untuk menemukan kesalahan logic. Pengujian dinamik merupakan eksekusi dengan data uji untuk menemukan kesalahan dalam kode.
Metode pengujian berorientasi objek, diantaranya : Testing levels terdiri dari : Testing operations pada objects. Testing object classes. Testing clusters cooperating objects. Testing OO system secara lengkap. Pengujian Class Menguji terhadap semua operation yg ada dan perubahan atribut-atributnya. Cluster Testing (Pengujian gugus) Cluster testing digunakan untuk test integrasi terhadap kooperatif object. Identifikasi clusters menggunakan knowledge operation objects dan system features yang diimplementasikan oleh cluster tersebut. Object-Interaction Testing. Tests barisan interaksi object yang berhenti ketika suatu operation object tidak memanggil service dari object lain. Object class testing. Complete test yang menguji class melibatkan. Testing semua operations suatu object. Setting dan interrogating semua attribute object. Menguji object untuk semua state(keadaan) yg mungkin. Inheritance akan mengakibatkan sulitnya perancangan object class tests seperti information yg diuji sulit dilokalisasi. Integrasi Object. Levels integrasi sedikit berbeda untuk sistem yang berorientasi object. Cluster testing digunakan untuk test integrasi and testing clusters terhadap cooperating objects.
Identifikasi clusters menggunakan knowledge dari operation objects dan system features yang diimplementasikan oleh cluster tersebut. Approaches cluster testing (Pendekatan pengujian gugus) Use-case atau scenario testing Testing berdasarkan pada interaksi user dengan sistem. Keuntungannya diujikan oleh user yg berpengalaman. Object interaction testing Tests barisan interaksi objectyang berhenti ketika suatu operation object tidak memanggil service dari object lain. Scenario-based testing Identifikasi scenarios dari use-cases danmenambahkannya dengan diagram interaksi yang menunjukkan object-object yang terlibat dalam scenario. Weather station testing Thread pengeksekusian methode CommsController:request WeatherData:summarise. Inputs dan outputs Input report request dengan acknowledge yg sesuai serta output report akhir. Dapat diujikan dengan membuat raw data dan meyakinkan bahwa dapat menghasilkan kesimpulan yg sesuai. Gunakan raw data yg sama untuk menguji object WeatherData. WeatherStation:report
2.1.1. Pengujian Model Object Oriented Analysis (OOA) dan Object Oriented Design (OOD)
a) Object Oriented Analysis (OOA) Object-oriented analysis adalah suatu metoda analisis yang memeriksa syarat-syarat dari sudut pandang kelas-kelas dan objekobjek yang ditemui pada ruang lingkup permasalahan. Mendefinisikan kebutuhan-kebutuhan sistem melalui skenario atau penggunaan kasus-kasus. Kemudian, membuat suatu model obyek dengan kemampuan memenuhi kebutuhan-kebutuhan. Tujuan dari OOA adalah untuk memahami domain masalah dan meningkatkan ketelitian, konsistensi, kelengkapan b) Object Oriented Design (OOD) Object-oriented arsitektur design adalah lunak metoda untuk meng-arahkan
perangkat
objek-objek sistem atau subsistem. Model kebutuhan-kebutuhan yang dibuat pada fase analisis diperkaya dalan fase perancangan. Tujuan dari OO Design adalah mengoptimalkan maintainability, reusability, enhancebility dan reliability c) Model Pengujian OOA dan OOD Model desain dan analisis tidak dapat diuji dalam arti yang konvensional karena model ini tidak dapat dieksekusi, maka kajian teknis formal dapat digunakan untuk menguji kebenaran dan konsistensi model analisis dan model desain.
Kebenaran dari model OOA dan OOD Kebenaran dari sintaks : Penggunaan simbol dan aturan pemodelan yang tepat. Kebenaran dari sematik Model yang mewakili dunia nyata, dibutuhkan seorang ahli dalam domain persoalan. Hubungan antar kelas.
Kekonsistenan dari model OOA dan OOD Hubungan antar entitas dalam model. Dapat digunakan model CRC dan object-relationship diagram
Langkah langkah yang digunakan adalah sebagai berikut : 1) Lakukan pemeriksaan silang antara model CRC dengan model object-relationship untuk memastikan semua kolaborasi yang dinyatakan dalam OOA direfleksikan dengan tepat dalam kedua model. 2) Periksa deskripsi dari setiap CRC index card untuk menentukan apakah suatu tanggung jawab merupakan bagian dari definisi collaborator. 3) Periksa hubungan balik untuk memastikan bahwa setiap
collaboratormenerima permintaan dari sumber yang tepat. 4) Periksa hubungan balik untuk memastikan apakah kelas lain diperlukan sebagai collaborator. 5) Tentukan apakah beberapa tanggung jawab dapat digabungkan menjadi tanggung jawab.
Ke lima langkah di atas diterapkan untuk setiap kelas dan setiap evolusi dari model OOA
10
Difokuskan pada kelompok-kelompok kelas yang berkolaborasi atau berkomunikasi dalam beberapa cara. Integrasi operasi satu per satu ke dalam kelas sering sia-sia. Ujicoba berbasis thread (uji semua kelas yang dibutuhkan untuk merespon ke satu masukan atau event sistem). Pengujian berbasis Kegunaan (dimulai dengan uji independen oleh kelas pertama dan kelas-kelas yang tergantung yang menggunakannya). Pengujian cluster (kerjasama kelompok kelas yang diuji untuk interaksi kesalahan). Pengujian regresi adalah penting karena setiap thread, cluster, atau subsistem yang ditambahkan pada sistem. Tingkat integrasi yang lebih sedikit berbeda dalam sistem berorientasi objek. 3) Validation testing (Pengujian Validasi) Berfokus pada tindakan pengguna yang terlihat dan pengguna dapat mengenali output dari sistem. Tes validasi didasarkan pada skenario use-case, model perilaku objek, dan diagram alur event dibuat dalam model OOA. Pengujian Black box konvensional dapat digunakan untuk mendorong tes validasi. 4) Pengujian system Metode pengujian yang dipakai pada pengujian sistem adalah black box testing. Black blox testing atau test fungsional adalah pengujian yang dilakukan oleh pengembang (programmer) dengan memberikan input tertentu dan melihat hasil yang didapatkan dari input tersebut.
11
12
Ujicoba struktur dalam (Testing deep structure) yaitu melatih struktur program internal, seperti ketergantungan, perilaku, dan mekanisme komunikasi yang ada sebagai bagian dari sistem dan desain objek.
Implikasi Konsep Berorientasi Objek Enkapsulasi menyebabkan informasi dari status objek yang sedang diuji sulit diperoleh. Inheritance menyebabkan perlu dilakukannya pengujian setiap reuse (jika subclass digunakan dalam konteks yang berbeda dengan superclass-nya). Multi inheritance menyebabkan penambahan konteks yang harus diuji. Applicability Metoda Perancangan Kasus Uji Konvensional White Box digunakan untuk pengujian operasi. basis path, loop testing , atau data flow digunakan untuk memastikan bahwa setiap pernyataan dalam operasi telah diuji. Black Box digunakan untuk menguji sistem. Use case digunakan untuk membuat input dalam perancangan black box dan pengujian state-based. Pengaruh OOP pada Pengujian Beberapa jenis kesalahan menjadi kurang masuk akal. Beberapa jenis kesalahan menjadi lebih masuk akal. Muncul beberapa tipe kesalahan yang baru.
13
2.1.4. Metode Testing yang Dapat diaplikasikan pada Tingkatan Class (Testing Methods Applicable at The Class Level)
A) Random testing memerlukan sejumlah besar permutasi dan kombinasi data, dan dapat menjadi tidak efisien. Identifikasikan operasi yang mungkin pada class. Definisikan batasan penggunaannya. Identifikasikan urutan ujicoba minimum. Buatlah beberapa variasi urutan ujicoba random B) Partition testing Menghilangkan sejumlah kasus uji yang dibutuhkan untuk menguji sebuah class State-based partitioning ujicoba didesain dalam suatu cara sehingga operasi yang menyebabkan perubahan state diujikan secara terpisah dari yang tidak. Attribute-based partitioning untuk setiap atribut class, operasi diklasifikasikan berdasarkan pengguna atribut tersebut, yang memodifikasi atribut dan yang tidak menggunakan atau memodifikasi atribut. category-based partitioning operasi dikategorikan
berdasarkan fungsi yang dilakukannya, seperti : inisialisasi, komputassi, query, terminasi. C) Fault-based testing Terbaik untuk operasi dan tingkatan class. Menggunakan struktur pewarisan.
14
Pengujian
memeriksa
model
OOA
dan
menghipotesis
sekumpulan kerusakan yang dipahami yang mungkin terjadi dalam pemanggilan operasi dan sambungan pesan, dan membangun kasus uji yang sesuai. Menemukan spesifikasi yang tidak tepat dan kesalahan dalam interaksi subsistem.
15
Breadth first traversal dari state model dapat digunakan (uji satu transisi dalam satu waktu dan hanya membuat kegunaan daari transisi yang diujikan sebelumnya ketika mengujikan transisi yang baru). Kasus uji juga dapat dihasilkan untuk memastikan bahwa seluruh perilaku untuk class telah diujikan dengan benar.
2.2.
individual dengan memastikan bahwa modul program berfungsi secara tepat sebagai suatu unit, karena itu pengujian ini dinamakan tes unit ( unit test ). Tes unit menggunakan pengujian White-Box. Selanjutnya modul harus dirakit/diintegrasikan untuk membentuk suatu paket perangkat lunak yang lengkap. Tes integrasi ( integration test ) menekankan pd masalah-masalah yang berhubungan dengan masalah verifikasi (pembuktian) dan konstruksi (pembangunan/penyusunan). Tes integrasi ini menggunakan pengujian Black-Box (sebagian White-Box dapat dipakai di sini). Setelah perangkat lunak diintegrasi ( dikonstruksi ), serangkaian highorder test dilakukan. Kriteria validasi ( dibangun selama analisis persyaratan ) harus diuji. Tes validasi ( Validation Test ) memberikan jaminan akhir dimana perangkat lunak harus memenuhi semua persyaratan fungsional, tingkah laku dan kinerja yang sesuai dengan keinginan user. Metode/teknik pengujian black-box digunakan secara eksklusif selama validasi. Langkah pengujian high-order yang terakhir ada diluar batas rekayasa perangkat lunak dan masuk dalam konteks rekayasa sistem yang lebih luas. Perangkat lunak harus dikombinasikan dengan elemen sistem yang lain (misal: perangkat.keras, database, sistem operasi, manusia, kontrol, dll). Tes sistem
16
(System Test) membuktikan bahwa semua elemen sistem saling bertautan dengan tepat dan keseluruhan fungsi/kinerja sistem dapat dicapai.
17
dengan menggunakan driver dan stub. Driver adalah suatu program utama yang berfungsi mengirim atau menerima data kasus uji dan mencetak hasil dari modul yang diuji. Stub adalah modul yang menggantikan modul sub-ordinat dari modul yang diuji.
Interface Interface modul diuji untuk memastikan bahwa informasi secara tepat mengalir masuk dan keluar dari modul yang diuji. Cara mengujinya dapat dilakukan dengan menggunakan checklist pengujian interface, yaitu : Apakah jumlah parameter input 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? Apakah atribut dari argumen yang ditransmisikan ke modul yang dipanggil sama dengan atribut parameter?
18
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 input only diubah? Apakah definisi variabel global konsisten dengan modul ? Apakah batasan yang dilalui merupakan argumen?
Struktur data lokal Struktur data lokal diuji untuk memastikan bahwa data yang tersimpan secara temporal dapat tetap menjaga integritasnya selama semua langkah di dalam suatu algoritma di eksekusi.
Kondisi batas Kondisi batas diuji untuk memastikan bahwa modul beroperasi dengan tepat pada batas yang ditentukan untuk membatasi pemrosesan.
Jalur independen Semua jalur independen yang ada pad modul diuji.
Jalur penanganan kesalahan Desain program yang bagus menunjukan bahwa kondisi kesalahan diantisipasi dan jalur penanganan kesalahan dipasang untuk merutekan kembali atau dengan jelas menghentikan pemrosesan pada saat suatu kesalahan benar-benar terjadi. Jalur penanganan kesalahan yang ada pada modul, diuji apakah sudah berfungsi dengan baik.
Test Case
19
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
20
T1
T2
T3 T4
T5
Gambar 2. Incremental integration testing Pendekatan Pengujian Integrasi a) Top-Down Testing Berawal dari level-atas system dan terintegrasi dengan mengganti masing-masing komponen secara top-down dengan suatu stub (program pendek yg mengenerate input ke sub-system yg diuji).
Level 1 Testing sequence Level 1 . ..
Level 2
Le vel 2
Level 2
Le vel 3 stubs
b) Bottom-Up Testing Integrasi components di level hingga sistem lengkap sudah teruji.
21
Test drivers
Level N1
Level N1
Level N1
Gambar 4. Bottom-Up Testing Pada prakteknya, kebanyakan test integrasi menggunakan kombinasi kedua strategi pengujian tersebut (sandwitch testing).
Pendekatan Testing Architectural validation Top-down integration testing lebih baik digunakan dalam menemukan error dalam sistem arsitektur. System demonstration Top-down integration testing hanya membatasi pengujian pada awal tahap pengembangan system. Test implementation Seringkali lebih mudah dengan menggunakan bottom-up integration testing
Interface testing
22
Dilakukan kalau module-module dan sub-system terintegrasi dan membentuk sistem yang lebih besar. Tujuannya untuk medeteksi fault terhadap kesalahan interface atau asumsi yg tidak valid terntang interface tsb. Sangat penting untuk pengujian terhadap pengembangan sistem dgn menggunakan pendekatan object-oriented yg didefinisikan oleh objectobjectnya.
Kajian Konfigurasi (audit) Elemen dari proses validasi. Memastikan apakah semua elemen konfigurasi perangkat lunak telah dikembangkan dengan tepat. Pengujian Alpha dan Beta Pengujian Alpha Tujuannya untuk identifikasi dan menghilangkan sebanyak mungkin masalah sebelum akhirnya sampai ke user, dilakukan setelah software jadi oleh orang-orang yang tidak terlibat dalam pengembangan dan memang ahli dibidangnya. Terdapat formulir resmi evaluasi. Usability labs Usability factors checklist
23
Pengujian Beta Evaluasi sepenuhnya oleh pengguna. Pengguna dipilih 3 orang yang dibagi menjadi : potensial, average, dan slow learner. Mereka diberitahukan prosedur evaluasi, diamati proses penggunaannya, diwawancarai lalu dinilai dan dilakukan revisi.
Pengujian Keamanan (Security Testing) Dilakukan untuk menguji mekanisme proteksi. Pengujian Stress (Stress Testing) Pengujian yang dirancang untuk menghadapkan suatu perangkat lunak kepada situasi yang tidak normal. Pengujian Kinerja (Performance Testing) Pengujian dilakukan untuk mengetahui kinerja run-time dari sistem.
24
Debugging merupakan sebuah metode yang dilakukan oleh para pemrogram dan pengembang perangkat lunak untuk mencari atau pun mengurangi bug (kesalahn desain) di dalam perangkat keras atau perangkat lunak (program komputer), sehingga perangkat tersebut dapat bekerja sesuai harapan. Debugging sendiri cenderung lebih rumit ketika beberapa subsistem lainnya terikat ketat dengannya, mengingat sebuah perubahan disatu sisi, mungkin dapat menyebabkan munculnya bug lain di dalam subsistem lainnya. Debugging dilakukan jika pengujian berhasil menemukan kesalahan. Jika testing bertujuan untuk mencari kesalahan, maka debugging bertujuan untuk menghilangkan kesalahan. Jadi, bukan merupakan pengujian, tetapi selalu terjadi sebagai bagian akibat dari pengujian. Debugging sendiri merupakan proses yang berurutan. Proses debugging dimulai dengan eksekusi terhadap suatu test case. Hasilnya dinilai, dan ditemukan kurangnya hubungan antara harapan dan hasil yang sesungguhnya. Dalam banyak kasus, data yang tidak berkaitan merupakan gejala dari suatu penyebab pokok tetapi masih tersembunyi, sehingga perlu ada koreksi kesalahan. Proses dari debugging akan selalu memiliki salah satu dari dua hasil akhir berikut, yaitu : Penyebab akan ditemukan, dikoreksi, dan dihilangkan atau, Penyebab tidak akan ditemukan. Bug yang terdapat pada perangkat keras atau lunak, biasanya memliki beberapa karakteristik, yaitu : Gejala dan penyebab dapat jauh secara geografis, dimana gejala dapat muncul didalam satu bagian dari suatu program, sementara penyebab terdapat pada sisi lain yang jauh. Gejala dapat hilang (kadang-kadang) ketika kesalahan yang lain dibetulkan.
25
Gejala dapat benar-benar disebabkan oleh sesuatu yang tidak salah, misalnya pembulatan nilai yang tidak tepat. Gejala dapat merupakan hasil dari masalah timing, dan bukan dari masalah pemrosesan. Gejala muncul sementara. Hal ini sangat umum pada system embedded yang merangkai perangkat lunak dan perangkat keras yang tidak mungkin dilepaskan.
26
yang ditemui pada ruang lingkup permasalahan. Pengujian OOD (Object-oriented design) adalah metoda untuk meng-arahkan arsitektur perangkat lunak yang didasarkan pada manipulasi objek-objek sistem atau subsistem. Dalam melakukan pengujian suatu perangkat lunak dapat digunakan empat buah pendekatan yang saling berhubungan satu sama lain secara berurutan, yaitu Pengujian modul atau unit perangkat lunak, pengujian terintegrasi, pengujian validasi dan pengujian sistem. Debugging sendiri melengkapi pengujian suatu perangkat lunak untuk menilai kinerja dari perangkat lunak tersebut, apakah telah memenuhi harapan atau tidak.
3.2.
Saran
Penulis menyarankan kepada pembaca untuk mencari contoh kasus yang
mengimplementasikan strategi pengujian perangkat lunak secara lebih rinci lagi dikarenakan contoh kasus yang digunakan pada makalah ini dirasa masih kurang lengkap dalam memberikan gambaran implementasi strategi pengujian suatu perangkat lunak secara keseluruhan.
DAFTAR PUSTAKA
ng_06_OO_Testing.ppt
27
5. http://parno.staff.gunadarma.ac.id/Downloads/files/18800/Testi
ng_07_SW_Strategic_Testing.ppt
6. http://parno.staff.gunadarma.ac.id/Downloads/files/18802/Testi
ng_08_SW_Strategic_Testing.ppt
7. http://suryagsc.files.wordpress.com/2011/05/meeting-12.ppt
28