Testing dan
Implementasi SI
Pokok Bahasan :
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
- 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.
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.
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.
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
Gambar 2. Relatif Biaya Perbaikan Error dan defect (sumber : Boehm dan Basili)
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.
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.
Prinsip 6. Terapkan usaha testing pada setiap modul di sistem sesuai tingkat
kegagalannya.
Biasanya modul baru atau yang sedikit dimengerti oleh programmer.
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.
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.
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