Anda di halaman 1dari 41

Rencana pengujian (test plan)

Antonius Wahyu Sudrajat, S. Kom., M.T.I


Standar Kompetensi
• Mahasiswa dapat menjelaskan pentingnya sebuah
perencanaan pengujian. (C2)
• Mahasiswa dapat menghitung jumlah dokumen
perencanaan pengujian yang harus dibuat. (C3)
• Mahasiswa dapat membuat perencanaan pengujian (test
plan) suatu proyek pengujian perangkat lunak. (C3)

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


Sasaran pengujian perangkat lunak
• Pengujian adalah proses eksekusi suatu program dengan
maksud menemukan kesalahan.
• Test case yang baik adalah test case yang memiliki
probabilitas tinggi untuk menemukan kesalahan yang
belum ditemukan pernah sebelumnya.
• Pengujian yang sukses adalah yang mengungkap semua
kesalahan yang belum pernah ditemukan sebelumnya.

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


Prinsip Pengujian
• Semua pengujian harus dapat ditelusuri hingga ke persyaratan pelanggan
Sebagai tujuan utama pengujian perangkat lunak yaitu untuk mengungkap kesalahan. Yang mana berarti kesalahan paling fatal
apabila perangkat lunak tidak dapat memenuhi syarat yang ditentukan oleh pelanggan.
• Pengujian harus direncanakan lama sebelum pengujian itu di mulai.
Perencanaan pengujian dapat dimulai setelah model persyratan telah dilengkapi. Definisi detail tentang test case dapat di
mulai segera setelah model desain di teguhkan. Dengan demikian pengujian dapat direncanakn dan dirancang sebelum
pengkodean dilakukan.
• Prinsip Pareto berlaku untuk pengujian perangkat lunak.
Prinsip Pareto mengimplikasikan bahwa 80% dari semua kesalahan yang ditemukan selama pengujian, hanya dapat ditelusuri
20% dari semua modul program. Hanya saja kita sulit untuk mengetahui modul yang mengalami kesalahan dan mengujinya
dengan teliti
• Pengujian harus mulai “dari yang terkecil” dan berkembang ke pengengujian “yang besar”.
Pengujian biasanya dilakukan terhadapmodul program individual. Selagi pengujian berlangsung, maka seluruh modul yang
terintegrasi lebih mudah di uji.
• Pengujian yang mendalam tidak mungkin.
Jumlah jalur permutasi pada perangkat lunak sangat besar, oleh karena itu sulit untuk melakukan pengujian terhadap semua
jalur skema pengujian. Akan tetapi setidaknya kita dapat mengetahui bahwa logika yang tertuang dalam perancangan
perangkat lunak itu telah tepat dan memastikan semua kondisi telah teruji.
• Untuk menjadi paling efektif, pengujian harus dilakukan oleh pihak ketiga yang independent.
Arti dari “Paling Efektif” adalah pengujian yang memiliki peluang tertinggi untuk menemukan kesalahan. Perekayasa perangkat
lunak yang membuat system bukanlah orang yang paling tepat untuk melakukan semua pengujian bagi perangkat lunak.

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


Karakteristik Perangkat Lunak yang dapat diuji
• Operabilitas
“Semakin baik dia bekerja semakin efisien dia dapat diuji.”
• Obserfabilitas
“Apa yang anda lihat adalah apa yang anda uji.”
• Kontrolabilitas
“Semakin baik kita dapat mengontrol suatu perangkat lunak, semakin banyak pengujian yang
dapat diotomatisasi dan dioptimalkan.”
• Dekomposabilitas
“Dengan mengontrol ruang lingkup pengujian, kita dapat dengan lebih cepat mengisolasi masalah
dan melakukan poengujian kembali secara lebih halus.”
• Kesederhanaan
“Semakin seidkit yang diuji, semakin cepat kita dapat mengujinya.”
• Stabilitas
“Semakin sedikit perubahan, semakin sedikit gangguan dalam pengujian.”
• Kemampuan untuk dapat dipahami
“Semakin banyak informasi yang kita miliki, semakin baik pengujian yang akan dilakukan.”

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


Pendahuluan
• Dalam melakukan pengujian
terhadap suatu perangkat
lunak harus dilakukan
perencanaan tentang apa
saja yang diperlukan dalam
pelaksanaan pengujian
tersebut.

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


Software Test Plan
• Rencana Pengujian Perangkat Lunak merupakan dokumen
yang menjelaskan ruang lingkup pengujian dan kegiatan.
Ini adalah dasar untuk secara resmi pengujian perangkat
lunak / produk dalam suatu proyek.

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


Test Plan
• Dokumen Test Plan ini menjelaskan tentang bagaimana software yang di buat
dapat berjalan sesuai dengan rencana yang telah di tetapkan sebelumnya. Uji
coba tidak hanya dilakukan pada source code, namun pengujian juga di lakukan
pada database, komponen, interface, keamanan, model bisnis, dan performa
dari software yang dibangun.
• Test plan merupakan dasar yang digunakan untuk menguji kesesuaian hasil
rancang bangun perangkat lunak dengan tujuan yang telah ditetapkan saat
perencanaan proyek. Dengan rencanan pengujian yang terinci dengan baik,
semua aspek perangkat lunak secara umum dapat tercakup dan hasil rancang
bangun sesuai dengan rencana pengembangan yang telah dibuat sebelumnya.

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


• Presentasi
• Keselarasan implementasi terhadap rancangan dan
analisis
• Pemahaman teori
• Aplikasi
– Interface
– Coding
– Database
– Keamanan
Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I
proses perencanaan pengujian
• Merupakan sebuah dokumen yang menjelaskan ruang
lingkup, pendekatan, sumber daya dan jadwal kegiatan uji
dimaksudkan.
• Ini mengidentifikasi antara lain item tes, fitur yang akan
diuji, tugas pengujian, yang akan melakukan tugas
masing-masing, tingkat tester kemerdekaan, lingkungan
pengujian, teknik desain uji dan masuk dan keluar kriteria
yang akan digunakan, dan alasan untuk mereka pilihan,
dan setiap risiko yang membutuhkan perencanaan
kontinjensi.

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


Langkah-langkah dalam Perencanaan Pengujian Perangkat Lunak
– Memperoleh dokumen requirements, desain yang fungsional, desain internal dan dokumen lain yang diperlukan.
– Memperoleh kebutuhan biaya dan pengaturan jadwal
– Menentukan anggota team yang akan melakukan pengujian beserta tanggung-jawab mereka, Laporan kebutuhan.
– Mengidentifikasi resiko yang di timbulkan oleh aplikasi serta menetapkan prioritas pengujian, dan menentukan batasan dan lingkup
test.
– Menentukan pendekatan pengujian dengan menggunakan metoda, pengintegrasian, dan fungsional tertentu.
– Menentukan kebutuhan lingkungan pengujian( perangkat keras, perangkat lunak, komunikasi, dll.)
– Menentukan data yang diperlukan dalam pelaksanaan pengujian.
– Menentukan tools yang dibutuhkan untuk mempermudah pengujian.
– Mengidentifikasi tugas, penanggung jawab terhadap tugas tersebut.
– Menetapkan perkiraan jadwal, batas waktu.
– Melakukan pengelompokan terhadap data masukan, analisa, dan jenis error.
– Menyiapkan pengujian dan membuat dokumen perencanaan yang telah di tinjau dan disepakati.
– Menyiapkan lingkungan test dan tools, memperolehlah user manual/ referensi yang diperlukan guna sebagai pemandu dalam
pelaksanaan pengujian.
– Memperoleh dan menginstal perangkat lunak.
– Melakukan Pengujian.
– Melakukan Evaluasi dan melaporankan hasil dari pengujian.
– Mencari error yang lain, yang berhubungan dengan error yang ditemukan sebelumnya.
– Melaksanakan pengujian ulang jika dibutuhkan.
– Melakukan pemeliharaan terhadap hasil pengujian dan membuat perencanaan ulang pengujian, lingkungan test maupun testware.

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


• Rencana Uji dokumen test plan digunakan untuk
mendukung tujuan – tujuan sebagai berikut:
– Mengidentifikasi informasi proyek yang ada dan
komponen perangkat lunak yang harus diuji
– Daftar Persyaratan direkomendasikan untuk Test
– Merekomendasikan dan menjelaskan strategi
pengujian yang akan digunakan
– Mengidentifikasi sumber daya yang diperlukan dan
memberikan perkiraan dari upaya pengujian
– Daftar unsur-unsur deliverable dari proyek yang diuji
Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I
Test Plan Template

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


Test Plan Template

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


TEST CASE
• Menurut IEEE Standard, test case adalah sekumpulan dari input test, kondisi
yang akan dieksekusi, dan hasil yang diharapkan.
• Menurut Ron Patton, test case merupakan input yang spesifik yang akan dicoba
dan prosedur yang akan diikuti ketika sebuah software di test.
• Menurut Boris Beizer, test adalah rangkaian dari satu atau lebih subtest yang
dieksekusi karena hasil ataupun kondisi akhir dari sebuah subtest merupakan
input atau kondisi awal untuk selanjutnya.
• Menurut Bo Binder, test case adalah sebuah test case menentukan kondisi
pretest dari IUT tersebut dan lingkungannya, input test atau kondisi, dan hasil
yang diharapkan. Hasil yang diharapkan menentukan apa yang harus dihasilkan
oleh IUT dari input test tersebut. Spesifikasi ini meliputi pesan yang di-generate 
oleh IUT, exception, kembalian nilai, dan kondisi yang dihasilkan IUT serta
lingkungannya. Test case juga menspesifikasikan awal dan kondisi yang
dihasilkan oleh untuk objek lain yang merupakan IUT dan lingkungannya.

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


TEST CASE
• Test case berisi informasi tentang tujuan dari test, kebutuhan
perangkat lunak maupun perangkat keras(jika ada),
menspesifikasikan setup atau konfigurasi kebutuhan, gambaran
mengenai bagaimana melakukan test tersebut, dan hasil yang
diharapkan untuk test tersebut. Kegunaan dari mendesain test case
adalah sebagai berikut.
• Memperbaiki efisiensi dalam menjalankan test
• Menemukan bugs sebanyak mungkin
• Menemukan bugs secepat mungkin
• Menjadikan kode program  tidak terlalu kompleks dan sederhana
• Kode program tidak redundant

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I
CONTOH TEST CASE

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


Tahapan Test Case
• Black (2002:76) menjelaskan bahwa terdapat tiga tahap di
dalam test case yaitu:
– Melakukan konfigurasi lingkungan pengujian untuk
menjalankan test case.
– Membuat kondisi dalam pengujian, dalam tahap ini
penguji dapat menilai kualitas dari sistem berdasarkan
hubungan dari beberapa resiko yang ada terhadap
kualitas sistem ataupun skenario penggunaan oleh
pelanggan.
– Mengembalikan lingkungan pengujian menjadi
semula/kondisi sebelum dilakukan test case.
Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I
Atribut Test Case
• Menurut Perry (2006:436), berikut adalah atribut yang
harus dimiliki untuk mengembangkan setiap test case:
– Kondisi: memberitahukan apa yang terjadi.
– Kriteria: memberitahukan apa yang seharusnya terjadi.
– Efek: memberitahukan mengapa terjadi perbedaan
antara kondisi dengan kriteria secara signifikan.
– Akibat: memberitahukan alasan dari perbedaan yang
terjadi.

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


Test Case Life Cycle

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


Keterangan
• Queue
Test case siap untuk dijalankan, dan diassign pada tester untuk dieksekusi.
• In Progress
Pengujian sedang dijalankan dan akan dilanjutkan untuk beberapa saat.
• Block
Kondisi seperti kehilangan potongan fungsi atau kekurangan sebuah komponen penting dalam pengujian sehingga menghalangi
tester untuk menjalankan pengujian.
• Skip
Pengujian dilewati karena prioritas pengujiannya yang relatif rendah. Tester dapat melakukan pengujian namun tester tidak ingin
menjalankan pengujian tersebut.
• Pass
Test case berhasil dijalankan dan tester hanya menemukan hasil yang diharapkan , status dan perilaku yang diharapkan.
• Fail
Dalam satu atau dua cara, tester menemukan hasil, status dan perilaku yang tidak diharapkan yang mempertanyakan kualitas
sistem pada pencapaian tujuan pengujian.
• Warn
Dalam satu atau dua cara, tester menemukan hasil, status dan perilaku yang tidak diharapkan, tapi kualitas sistem tidak
menggangu pencapaian tujuan pengujian.
• Closed
Untuk test case yang telah ditandai dengan fail atau warn dalam siklus pengujian yang pertama, dan untuk rilis pengujian
berikutnya bug tersebut telah diperbaiki.

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


1. What you might test?
Usaha Pengujian yang Diperluas
(The Extended Test Effort)
Usaha Pengujian yang Diperluas
• Dalam suatu proyek pengembangan perangkat keras
maupun perangkat lunak, sudah banyak proses
pengujian yang dilakukan di luar organisasi.
• Ada 2 pandangan yang digunakan untuk menilai
bagaimana kelompok diluar organisasi pengujian
formal berkontribusi pada suatu proses pengujian:
1. Test Granularity : level of focus of a test
2. Test Phases : Jenis pengujian yg dilakukan dalam berbagai
macam tahapan pengujian.

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


Test Granularity
• Test Granularity merupakan jenis pengujian yang berfokus pada seberapa detil pengujian yangakan dilakukan. Detil
pengujian umumnya memiliki beberapa tingkatan, mulai dari tingkatanyang sangat detil (low-level) hingga
tingkatan yang umum/operasional/fungsional (high-level).Test Granularity terdiri atas:
– White Box Test (Structural Test) Berfokus pada bagaimana suatu sistem bekerja (how a system operates). Test
inidilakukan oleh programmer, sistem administrator, database administrator, network administrator karena
pengujian dilakukan pada low-level operation seperti pengujian pada line of code, database schema, class,
interface.
– Black Box Test (Behavioral Test) Berfokus pada fungsionalitas suatu sistem/apa yang dapat dilakukan oleh sistem
(what asystem should do). Test ini dilakukan oleh Test Engineer, Test Technician, dan beberapaProgrammer. Test ini
digunakan untuk mencari kesalahan/kegagalan dalam high-leveloperation seperti kemampuan dari perangkat
lunak, operasional, skenario pemakai.
– Live Test, Merupakan pengujian langsung suatu sistem yang dilakukan oleh user, tenaga ahlikonten, dan user lain
yang masih berhubungan dengan sistem. Pengujian ini juga dikenalsebagai Beta Testing.

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


Test Phases
• Test Phases (Tahapan Test) merupakan jenis pengujian yang
dibagi menjadi beberapa tahapan dan dilakukan secara
berurutan.
– Unit Testing
– Component or Subsystem Testing
– Integration or Product Testing
– String Testing
– System Testing
– Acceptance or User Acceptance Testing
– Pilot Testing
Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I
Unit Testing
• Unit testing memfokuskan pada sebuah potongan kode.
Dengan bahasa pemograman seperti C, unit testing harus
mengikutsertakan suatu fungsi tunggal.

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


Component/Subsystem Testing
• Componen testing berlaku untuk sekelompok unit yang
menyajikan beberapa set kemampuan sistem. Jadi,
component testing adalah pengujian terhadap
sekelompok unit sistem yang memberikan suatuset fungsi
tertentu.

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


Integration atau product testing

• Integration atau product


testing berfokus pada
hubungan dan interface
antara pasangan
komponen dan kelompok
komponen dalam sistem
yang sedang diuji.

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


String testing
• String testing berfokus pada masalah dalam penggunaan
script tertentu dan string operasional customer. Pengujian
string mungkin mengikutsertakan kasus seperti dokumen
enkripsi dan dekripsi dokumen, atau pembuatan,
pencetakan, dan menyimpan sebuah dokumen.

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


System testing
• System testing
mencakup seluruh
sistem yang terintegrasi.
Biasanya seperti pada
installation dan usability
testing, pengujian ini
melihat suatu sistem
dari pandangan
customer dan end user.

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


User acceptance testing
• Tujuan dari pengujian ini adalah mendemonstrasikan
bahwa sistem memenuhi persyaratan. Pada
pengembangan software and hardware komersial,
acceptance test kadang-kadang disebut alpha dan beta
test.
• Alpha dan beta test dijalankan untuk mendemonstrasikan
kesiapan suatu produk di pasaran, walaupun banyak
organisasi juga menggunakan pengujian ini untuk
menemukan bug yang tidak terdekteksi saat proses
pengujian sistem.

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


Pilot testing
• Pilot testing menguji kemampuan perakitan untuk
produksi masal sistem yang telah diselesaikan.

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


Benefit of Phased Test Approach
• Structural Testing can build product stability
• Structural testing using scaffolding or stubs can start early
• You can detect bugs earlier and more efficiently
• You can gather better metrics and use best-practice
techniques in your testing effort
• Phases provide real and psychological milestones against
which you can gauge the "doneness" of testing and thus
the project

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


Test Phase Sequencing

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


Ada Pertanyaan

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


Terima
Kasih

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


System Development Proses
Perencanaan Metode, Teknik, atau Tools (alat
Sistem yang ada bantu )
Analisis

Pemicu Perancangan
Permasalahan
Kesempatan Metodologi Implementasi

Instruksi stakeholder
Pemeliharaan

Sistem Informasi
Pengembangan
Sistem
Prinsip Pengembangan
Validasi Keuntungan Sistem Informasi
1. Libatkan Pengguna Sistem 1. Peningkatan keuntungan perusahaan
Memecahkan masalah 2. Pengurangan biaya bisnis
2. Gunakan Pendekatan Pemecahan Masalah
meraih kesempatan 3. Biaya dan keuntungan sistem
3. Bentuklah Fase dan Aktivitas
memenuhi instruksi 4. Peningkatan pangsa pasar
4. Dokumentasikan Sepanjang Pengembangan
5. Perbaikan relasi pelanggan
5. Bentuklah Estándar
6. Peningkatan efisiensi
6. Kelola Proses dan Proyek
7. Perbaikan pembuatan keputusan
7. Membenarkan System Informasi sebagai Investasi Modal
8. Pemenuhan peraturan lebih baik
8. Jangan Takut untuk Membatalkan atau Merevisi Lingkup
Sistem yang baru 9. Kesalahan lebih sedikit
9. Bagilah dan Takhlukkan 10.Perbaikan keamanan
10. Desainlah Sistem untuk Pertumbuhan dan Perubahan 11.Kapasitas lebih besar

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


• Sering dipelajari
Model Proses Pengembangan – Perencanaan
– Analisis
– Perancangan
– Implementasi
– pemeliharaan

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I


Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I
• Kegiatan yang dilakukan pada siklus hidup pengujian :
– Kegiatan Tahap Requirement
• Menentukan strategi pengujian
• Menentukan kecukupan dari requierement
• Menentukan kondisi pengujian fungsional
– Kegiatan Tahap Desain
• Menentukan konsistensi desain berdasarkan requirement
• Menentukan kecukupan desain
• Menentukan kondisi pengujian fungsional dan structural
– Kegiatan Tahap Coding
• Menentukan konsistensi desain
• Menentukan kecukupan dari implementasi
• Menentukan kondisi pengujian fungsional dan structural untuk program/unit
– Kegiatan Tahap Pengujian
• Menentukan kecukupan dari rencana pengujian
• Pengujian system aplikasi
– Kegiatan Tahap Integrasi
• Menempatkan pengujian system ke dalam system system keseluruhan.
– Kegiatan Tahap Maintenance
• Melakukan modifikasi dan melakukan pengujian ulang

Pengujian Perangkat Lunak Antonius Wahyu Sudrajat, S. Kom., M.T.I

Anda mungkin juga menyukai