Anda di halaman 1dari 12

MODUL PERKULIAHAN

Testing dan
Implementasi SI
Pokok Bahasan :

Fundamental Pengujian Sistem Informasi

Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh

01
Fasilkom Sistem Informasi W181700015 Nurullah Husufa ST, MMSI

Abstract Kompetensi
Tujuan pengujian, prinsip pengujian dan Mengetahui tujuan pengujian, prinsip pengujian dan jenis test case
jenis test case design sistem informasi design sistem informasi
sebagai fundamental pengujian sistem
informasi.
1. Fundamental Pengujian Sistem
Informasi
Fundamental PengujianSistem Informasi

Capaian Pembelajaran Lulusan (CPL) :

- S-8 yaitu Menginternalisasi nilai, norma, dan etika akademik.

- P-1 yaitu Menguasai konsep teoritis bidang pengetahuan Sistem Informasi secara
umum dan konsep teoritis pada bidang EBusiness atau Aplikasi Multiplatform secara
mendalam.

- U-9 yaitu Mampu melakukan proses evaluasi diri terhadap kelompok kerja yang
berada di bawah tanggung jawabnya, dan mampu mengelola pembelajaran secara
mandiri.

Subbab yang akan dibahas pada Fundamental Pengujian Sistem Informasi :

1. Tujuan Pengujian Sistem Informasi

Pada buku klasik software testing, tujuan testing menurut Glen Myers diantaranya
yaitu :
• Testing adalah proses untuk menjalankan sebuah program dengan tujuan untuk
menemukan sebuah error.
• Sebuah test case yang baik adalah salah satu yang memiliki kemungkinan tinggi
untuk menemukan error yang belum ditemukan.
• Sebuah test yang sukses adalah yang menemukan error yang belum ditemukan.

Jika testing dilakukan dengan sukses (sesuai tujuan diatas), ini akan menemukan
errors pada software. Keuntungan kedua, testing memperlihatkan bahwa fungsi
software sesuai spesifikasi, dan perilaku dan kebutuhan performance terpenuhi.
Sebagai tambahan, data yang dikumpulkan selama testing dilakukan memberikan
indikasi bagus dari software reliability dan kualiyas software secara keseluruhan.

2. Kualitas Sistem Informasi

2012 Testing dan Implementasi SI


2 Nurullah Husufa ST, MMSI
Pusat Bahan Ajar dan eLearning
http://www.mercubuana.ac.id
Kualitas software merupakan proses software yang efektif diterapkan untuk membuat
produk yang berguna yang memberikan nilai untuk yang membuat dan yang
menggunakannya. Berikut penjelan detail dari tiga poin penting dari pengertian diatas :
1. Proses software yang efektif, membangun infrastruktur yang mendukung setiap
usaha dalam membuat produk software kualitas tinggi. Aspek manajemen dari
proses membuat ceklist dan menyeimbangkan dalam membantu menghindari
kekacauan proyek – kunci kontribusi kualitas rendah. Penerapan rekayasa software
memungkinkan programmer untuk menganalisa masalah dan merancang solusi
yang solid dalam membangun kualitas software tinggi.
2. Produk yang berguna, menghasilkan isi, fungsi dan fitur yang diinginkan pengguna
dengan handal, bebas error. Produk yang berguna selalu memenuhi kebutuhan
yang telah jelas disampaikan oleh stakeholder.
3. Memberikan nilai tambah untuk yang membuat dan yang menggunakan, software
kualitas tinggi memberikan keuntungan untuk organisasi software dan komunitas
pengguna. Organisasi software memperoleh nilai tambah karena software kualitas
tinggi membutuhkan sedikit usaha pemeliharaan, sedikit perbaikan bug, dan
mengurangi customer support. Ini memungkinkan pembuat software untuk
menghabiskan lebih banyak waktu untuk membuat aplikasi baru dan sedikit
pengerjaan ulang. Komunitas pengguna mendapat nilai tambah karena aplikasi
memberikan kemampuan yang berguna dalam mempercepat proses bisnis. Hasil
akhirnya adalah (1) pendapatan produk software yang lebih besar, (2) keuntungan
lebih baik ketika aplikasi mendukung proses bisnis, dan/atau (3) meningkatkan
ketersedian informasi yang penting untuk bisnis.

David Garvin, Kualitas harus dipertimbangkan dengan mengambil sudut pandang


multidimensi yang dimulai dengan penilaian kesesuaian dan diakhiri dengan penilaian
estetika. Berikut delapan dimensi kualitas :
 Performance Quality. Apakah software yang dihasilkan terkait isi, fungsi dan fitur
sesuai spesifikasi kebutuhan sehingga memberi nilai bagi pengguna.
 Feature quality. Apakah software memberikan fitur yang disenangi pengguna.
 Reliability. Apakah software menghasilkan fitur, fungsionalitas dan kemampuan
tanpa kegagalan?Apakah tersedia ketika dibutuhkan?
 Conformance. Apakah software sesuai dengan standar lokal dan eksternal yang
berkaitan dengan aplikasi?Begitu juga dengan rancangan dan kode program?
 Durability. Apakah software dapat dipelihara(diubah) atau diperbaiki tanpa
mengganggu yang lain?

2012 Testing dan Implementasi SI


3 Nurullah Husufa ST, MMSI
Pusat Bahan Ajar dan eLearning
http://www.mercubuana.ac.id
 Serviceability. Apakah software dapat dipelihara(diubah) atau diperbaiki dengan
waktu yang pendek? Apakah staf support memperoleh informasi yang dibutuhkan?
 Aesthetics. Estetika memiliki sisi pesona, unik dan jelas.
 Perception. Jika vendor memiliki reputasi yang bagus, produk yang dihasilkan akan
terlihat berkualitas walaupun belum tentu benar.

McCall, Richards, and Walters, faktor kualitas software fokus pada tiga aspek penting
: karakteristik operasional, kemampuan untuk melewati perubahan dan adaptasi ke
lingkungan baru. Berikut detail faktor kualitas :
 Correctness. Program memenuhi spesifikasi dan misi pelanggan.
 Reliability. Program menjalankan fungsi dengan tepat.
 Efficiency. Jumlah resource dan kode yang dibutuhkan sebuah program untuk
menjalankan fungsinya.
 Integrity. Akses terhadap software atau data oleh orang yang tidak berkepentingan
dapat di control.
 Usability. Usaha yang dibutuhkan untuk mempelajari, mengoperasikan,
menyediakan input dan menerjemahkan output sebuah program.
 Maintainability. Usaha yang dibutuhkan untuk menempatkan dan memperbaiki error
pada program.
 Flexibility. Usaha yang dibutuhkan untuk memodifikasi program yang sedang
beroperasi.
 Testability. Usaha yang dibutuhkan untuk menguji sebuah program untuk
memastikan telah bekerja sesuai fungsinya.
 Portability. Usaha yang dibutuhkan untuk memindahkan program dari satu sistem
hardware dan/atau software ke lainnya.
 Reusability. Program [bagian] dapat digunakan diaplikasi lain
 Interoperability. Usaha yang dibutuhkan untuk menggabungkan satu sistem ke
lainnya.

2012 Testing dan Implementasi SI


4 Nurullah Husufa ST, MMSI
Pusat Bahan Ajar dan eLearning
http://www.mercubuana.ac.id
Gambar 1. McCall’s Faktor Kualitas Software

Standar ISO 9126 dikembangkan untuk mengidentifikasi kunci atribut kualitas untuk
komputer software. Berikut enam kunci atribut kualitas :
 Functionality. Tingkat dimana software memenuhi kebutuhan dengan melihat :
suitability(kesesuaian), accuracy, interoperability, compliance(terpenuhi) dan
security.
 Reliability. Jumlah waktu software tersedia untuk digunakan dengan melihat :
maturity(kesiapan), fault tolerance, recoverability.
 Usability. Tingkat software mudah digunakan dengan melihat : understandability,
learnability, operability.
 Efficiency. Tingkat dimana software membuat optimal penggunaan resource sistem
dengan melihat : time behavior, resource behavior.
 Maintainability. Kemudahan perbaikan software dengan melihat : analyzability,
changeability, stability, testability.
 Portability. Kemudahan software dipindahkan dari satu lingkungan ke tempat lain
dengan melihat : adaptability, installability, conformance(sesuai), replaceability.

Biaya Kualitas

Biaya Kualitas termasuk semua biaya yang muncul dalam melaksanakan kualitas
dan kurangnya pelaksanaan kualitas. Untuk memahami biaya ini, organisasi harus
mengumpulkan metrik untuk mengetahui dasar biaya kualitas saat ini, identifikasi
kemungkinan untuk mengurangi biaya sebagai perbandingan. Biaya kualitas terdiri
dari :
Prevention. Terdiri dari (1) Biaya aktivitas manajemen berupa perencanaan dan
koordinasi semua kegiatan quality control dan quality assurance, (2) Biaya penambahan

2012 Testing dan Implementasi SI


5 Nurullah Husufa ST, MMSI
Pusat Bahan Ajar dan eLearning
http://www.mercubuana.ac.id
aktivitas teknikal untuk mengembangkan kebutuhan yang lengkap dan merancang
model. (3) Biaya uji perencanaan dan (4)Biaya pelatihan yang berkaitan dengan
aktivitas ini.
Appraisal Biaya termasuk aktivitas untuk memperoleh pemahaman yang lebih dalam
terhadap kondisi produk setiap proses. Terdiri dari : (1) Biaya pelaksanaan peninjauan
ulang teknikal untuk pekerjaan pengembangan software (2) Biaya pengumpulan data
dan evaluasi metrik dan (3) Biaya testing dan debugging.
Failure Biaya yang akan hilang jika tidak ada errors muncul sebelum pengiriman produk
ke pelanggan. Terdiri dari :
Internal failure biaya yang muncul ketika error terdeteksi pada produk sebelum
pengiriman. Terdiri dari : (1) Biaya perbaikan error (2) Biaya yang terjadi karena efek
perbaikan dan (3) Biaya yang berkaitan dengan kumpulan metrik kualitas untuk
mengevaluasi perilaku kegagalan.
External failure Biaya berkaitan dengan defects yang ditemukan setelah produk dikirim
ke pelanggan. Contoh : Pengembalian produk dan penggantian, pekerjaan berkaitan
dengan garansi.

Gambar 2. Relatif Biaya Perbaikan Error dan defect (sumber : Boehm dan Basili)

Kualitas software dapat dicapai dengan menerapakan empat aktivitas yang


membantu tim software yaitu :

Software engineering methods


Hal yang harus diperhatikan dalam membangun software yang berkualitas tinggi:
 Pemahaman akan masalah yang akan diselesaikan,
 Mampu membuat rancangan yang sesuai dengan masalah yang ada,

2012 Testing dan Implementasi SI


6 Nurullah Husufa ST, MMSI
Pusat Bahan Ajar dan eLearning
http://www.mercubuana.ac.id
 Menunjukan karakteristik dimensi kualitas dan faktor software.

Project management techniques


Hal yang harus diperhatikan dalam membangun software yang berkualitas tinggi:
 Manajer proyek menggunakan estimasi untuk memverifikasi sehingga tanggal
selesai proyek dapat dicapai.
 Jadwal task yang berkaitan dipahami dan tim mampu menolak jika menyimpang.
 Perencanaan risiko dilakukan sehingga masalah tidak melebar yang mempengaruhi
kualitas software.

Quality control actions


Quality control meliputi serangkaian aktivitas pembuatan software untuk memastikan
setiap pekerjaan memenuhi tujuan kualitasnya. Rangkaian langkah testing dilakukan
untuk menemukan error di logika proses, manipulasi data dan komunikasi antarmuka.

Software quality assurance


Quality assurance membangun infrastruktur yang mendukung metode rekayasa
software yang solid, manajemen proyek yang masuk akal dan kegiatan quality control
untuk membuat software kualitas tinggi. Sebagai tambahan, quality assurance terdiri
dari sekumpulan audit dan pelaporan fungsi untuk menilai keefektifan dan kelengkapan
kegiatan quality control.

3. Prinsip Pengujian Sistem Informasi

Pengujian bertujuan untuk menemukan error, dan test yang bagus adalah yang
memiliki kemungkinan untuk menemukan error tinggi. Untuk itu, saat merancang dan
implementasi sistem komputer atau produk harus dengan bayangan ‘testability’. Pada
waktu yang sama, pengujian itu sendiri harus memperlihatkan karakteristik dalam
menemukan error dengan sedikit usaha.

Testability, James Bach, Software testability adalah bagaimana mudahnya sebuah


komputer program dapat di uji. Berikut karakteristik testable software :
Operability. “Semakin baik kerjanya, semakin efisien saat pengujian.” Jika sebuah
sistem di rancang dan di implementasi dengan kualitas saat dibuat, biasanya sedikit
bugs ditemukan saat pengujian,

2012 Testing dan Implementasi SI


7 Nurullah Husufa ST, MMSI
Pusat Bahan Ajar dan eLearning
http://www.mercubuana.ac.id
Observability. “Apa yang terlihat itu yang di uji.” Input diberikan sebagai bagian dari
pengujian untuk menghasilkan output. Status sistem dan variabel bisa dilihat atau di
query selama pengujian. Output salah bisa dengan mudah dikenali. Internal errors
otomatis terdeteksi dan dilaporkan. Kode program dapat diakses.
Controllability. “Semakin kita bisa mengkontrol software, pengujian bisa di
otomatisasi dan dioptimalkan.” Semua kemungkinan output dapat dihasilkan dari
kombinasi input, dan format I/O konsisten dan terstruktur. Status software dan hardware
serta variabel dapat di kontrol langsung oleh penguji.
Decomposability. “Dengan mengkontrol ruang lingkup pengujian,lebih cepat dalam
memisahkan masalah dan melakukan pengujian ulang dengan lebih cepat.” Sistem
software dibangun dari modul yang dapat di uji secara terpisah.
Simplicity. “Semakin sedikit yang diuji, semakin cepat kita bisa mengujinya.”
Program komputer harus memperlihatkan functional simplicity (contoh, kumpulan fitur
adalah minimal kebutuhan yang harus dipenuhi); structural simplicity (contoh,
arsitektur dibuat berbentuk modul untuk mengurangi kesalahan), dan code simplicity
(contoh, standar koding digunakan untuk kemudahan dalam inspeksi dan maintenance).
Stability. “Semakin sedikit perubahan, semakin sedikit gangguan saat pengujian.”
Perubahan pada software biasanya jarang, kontrol saat perubahan terjadi, dan
memperhatikan pengujian yang telah ada sebelumnya. Software kembali bekerja
setelah gagal sistem.
Understandability. “Semakin banyak informasi yang dimiliki, semakin pintar dalam
menguji.” Rancangan arsitektural dan ketergantungan antar internal, external, dan
komponen dipahami. Dokumentasi teknikal dapat diakses, disusun dengan benar,
specifik dan detail, dan akurat. Perubahan pada rancangan diinformasikan pada
penguji.

Test Characteristics. Kaner, Falk, dan Nguyen menyarankan atribut “good” test:
Good test memiliki kemungkinan tinggi dalam menemukan error. Penguji harus
memahami software dan berusaha untuk mengembangkan keadaan bagaimana
software bisa gagal.
Good test tidak berlebihan. Waktu dan sumber data terbatas. Tidak ada gunanya
melakukan sebuah test yang memiliki tujuan yang sama dengan test lain.
Good test “jenis terbaik” . Pada grup test yang memiliki tujuan sama, waktu,
sumber daya terbatas hanya akan mengeksekusi test yang memiliki kemungkinan tinggi
dalam menemukan keseluruhan kelas error.

2012 Testing dan Implementasi SI


8 Nurullah Husufa ST, MMSI
Pusat Bahan Ajar dan eLearning
http://www.mercubuana.ac.id
Good test tidak terlalu sederhana atau terlalu kompleks. Walaupun terkadang
mungkin untuk mengkombinasikan serangkaian test ke satu test case, efek yang
mungkin terjadi error tertutupi, sehingga setiap test harus dijalankan terpisah.

Prinsip Testing, Everett dan Meyer, mengemukakan sebagai berikut :


Prinsip 1. Semua test harus sesuai kebutuhan pelanggan.
Tujuan software testing adalah untuk menemukan error. Program gagal memenuhi
kebutuhan karena ditemukan defect.

Prinsip 2. Test harus direncanakan jauh hari sebelum mulai testing.


Perencanaan test dapat dimulai setelah model kebutuhan sudah lengkap, sebelum
kode program dibuat.

Prinsip 3. Prinsip Pareto diterapkan ke software testing.


Prinsip pareto mengartikan bahwa 80 persen error ditemukan selama testing
kemungkinan akan dapat ditelusuri terhadap 20 persen komponen program.
Komponen terindikasi harus di isolasi untuk di test lebih dalam.

Prinsip 4. Testing harus dimulai dari yang kecil ke besar.


Test pertama direncanakan dan dijalankan focus pada komponen individu, kemudian
mencari error di kelompok terintegrasi dari komponen dan pada akhirnya seluruh
sistem.

Prinsip 5. Testing berlebihan tidak mungkin terjadi.


Jumlah kemungkinan path untuk program skala sedang akan sangat besar. Tidak
mungkin untuk menjalankan semua kombinasi path selama testing. Testing cukup
meliputi logika program dan memastikan semua kondisi di tingkat komponen telah
dicoba.

Prinsip 6. Terapkan usaha testing pada setiap modul di sistem sesuai tingkat
kegagalannya.
Biasanya modul baru atau yang sedikit dimengerti oleh programmer.

Prinsip 7. Teknik testing statis dapat menghasilkan hasil tinggi.


Lebih dari 85% software defect berasal dari dokumentasi software (kebutuhan,
spesifikasi, kode program dan manual user). Mungkin ada nilai dalam melakukan
testing sistem dokumentasi.

2012 Testing dan Implementasi SI


9 Nurullah Husufa ST, MMSI
Pusat Bahan Ajar dan eLearning
http://www.mercubuana.ac.id
Prinsip 8. Telusuri defect dan cari pola pada defect yang terlihat saat testing.
Total defect yang terlihat adalah indicator bagus dari kualitas software. Tipe dari
defect yang terlihat dapat menjadi ukuran yang bagus bagi stabilitas software, pola
yang ditemukan dapat menggambarkan jumlah defect yang terjadi.

Prinsip 9. Sertakan test case yang mendemonstrasikan perilaku benar software


Penting untuk memiliki sekumpulan test case untuk memeriksa perilaku sistem
setelah perubahan diterapkan pada produk software.

4. Test Case Design

Test-case design fokus pada teknik untuk membuat test cases yang memenuhi
tujuan keseluruhan pengujian dan strategi pengujian. Setiap pengembangan produk
(kebanyakan) bisa di uji dengan dua cara :
(1) Mengetahui fungsi spesifik dari apa yang dapat dilakukan produk yang telah
dirancang, pengujian bisa dilakukan dengan memperagakan setiap fungsi sudah
berjalan dengan semestinya sekaligus pada waktu yang sama mencari errors pada
setiap fungsi. Pendekatan ini dikenal sebagai pendekatan external atau black-box
testing.

(2) Mengetahui cara kerja internal sebuah produk, pengujian dilakukan untuk
memastikan semua operasional internal bekerja sesuai spesifikasi begitupun dengan
komponennya. Pendekatan ini dikenal sebagai pendekatan internal atau white-box
testing.

Black-box testing diarahkan untuk menguji antarmuka software. Sebuah pengujian


black-box memeriksa aspek penting dari sistem dengan memperhatikan sedikit struktur
logical internal dari software. Pengujian White-box dari software berdasarkan pada
pemeriksaan lebih dalam terhadap detail procedural. Jalur logical software dan kerja
antar komponen diuji dengan membuat kumpulan spesifik dari kondisi dan atau loop.

Sekilas terlihat white-box testing akan mengarahkan pada 100 persen program
komputer benar. Yang perlu kita lakukan adalah menetapkan logikal path,
mengembangkan test case untuk memeriksa mereka, dan mengevaluasi hasil.

2012 Testing dan Implementasi SI


10 Nurullah Husufa ST, MMSI
Pusat Bahan Ajar dan eLearning
http://www.mercubuana.ac.id
Pengujian mendalam test case dapat menimbulkan masalah, bahkan untuk program
komputer kecil, jumlah logikal path yang mungkin bisa sangat banyak. White-box
testing tidak seperti itu, sejumlah logikal path penting dapat dipilih dan di uji.

2012 Testing dan Implementasi SI


11 Nurullah Husufa ST, MMSI
Pusat Bahan Ajar dan eLearning
http://www.mercubuana.ac.id
Daftar Pustaka

Homès, Bernard. 2012. Fundamentals of Software Testing. Hoboken: John Wiley & Sons,
Inc.
Pressman, Roger; Maxim, Bruce. 2016. Software Engineering: A Practitioner’s Approach,
8th Edition
Kendal & Kendal. 2014. Systems Analysis and Design (9th Ed). Pearson Education

2012 Testing dan Implementasi SI


12 Nurullah Husufa ST, MMSI
Pusat Bahan Ajar dan eLearning
http://www.mercubuana.ac.id

Anda mungkin juga menyukai