Pendahuluan Materi Software Testing

Materi Software Testing

Diperbaharui 1 Mei 2020 9:40 AM

Berikut adalah materi software testing yang saya dapatkan ketika pertama kali masuk kuliah setelah dijelaskan kontrak perkuliahan dan proforsi nilai oleh bapak Aries Maesya, M. Kom Universitas Pakuan Bogor yang saat itu mengajar mata kuliah software testing.

Siklus Pengembangan Perangkat Lunak

Siklus Pengembangan Perangkat Lunak

Definisi Testing dari Masa ke Masa

  1. Memantapkan kepercayaan bahwa program melakukan apa yang harus dikerjakan.
  2. Proses mengeksekusi suatu program atau sistem dengan tujuan mencari kesalahan.
  3. Mendeteksi kesalahan spesifikasi dan penyimpangan dari spesifikasi tersebut.
  4. Semua aktivitas yang ditujukan saat evaluasi suatu attribut atau kemampuan program atau sistem.
  5. Pengukuran kualitas Perangkat lunak.
  6. Proses mengevaluasi suatu program atau sistem.
  7. Memverifikasi bahwa suatu sistem memuaskan atau memenuhi requirement tertentu atau mengidentifikasikan perbedaan antara yang diharapkan dengan hasil yang ada
  8. Memberitahukan bahwa program melakukan suatu fungsi yang diharapkan secara benar (layak).
  9. Proses menjalankan dan mengevaluasi sebuah perangkat lunak secara manual maupun otomatis untuk menguji apakah perangkat lunak sudah memenuhi persyaratan atau belum
  10. Untuk menentukan perbedaan antara hasil yang diharapkan dengan hasil sebenarnya

Definisi Testing

Berdasarkan definisi di atas, maka dapat disimpulkan bahwa pengujian dilakukan untuk memenuhi persyaratan kualitas perangkat lunak, dengan cara mengeksekusi program untuk mencari kesalahan sintaks program, melakukan verifikasi perangkat lunak untuk melihat kesesuaian antara perangkat lunak dengan keinginan customer.

Testing Menurut Para Ahli

Menurut Hetzel 1973:
Testing adalah proses pemantapan kepercayaan akan kinerja program atau sistem sebagaimana yang diharapkan.

Menurut Myers 1979: 
Testing adalah proses eksekusi program atau sistem secara intens untuk menemukan error.

Menurut  Hetzel 1983 (Revisi): 
Testing adalah tiap aktivitas yang digunakan  untuk dapat melakukan evaluasi suatu atribut atau kemampuan dari program atau sistem dan menentukan apakah telah memenuhi kebutuhan atau hasil yang diharapkan.

Menurut Standar ANSI/IEEE 1059: 
Testing adalah proses menganalisa suatu entitas software untuk mendeteksi perbedaan antara kondisi yang ada dengan kondisi yang diinginkan (defects  / errors / bugs) dan mengevaluasi fitur-fitur dari entitas software.

3 Hal Utama Pengujian (Testing)

Verifikasi, pengecekan atau pengetesan entitas-entitas, termasuk software, untuk pemenuhan dan konsistensi dengan melakukan evaluasi hasil terhadap kebutuhan yang telah ditetapkan.

Validasi, melihat kebenaran sistem, apakah proses yang telah ditulis dalam spesifikasi adalah apa yang sebenarnya diinginkan atau dibutuhkan oleh pengguna.

Deteksi error, testing seharusnya berorientasi untuk membuat kesalahan secara intensif, untuk menentukan apakah suatu hal tersebut terjadi bilamana tidak seharusnya terjadi atau suatu hal tersebut tidak terjadi dimana seharusnya mereka ada.

Tujuan Testing Materi Software Testing

Untuk mendapatkan informasi reliable terhadap software dengan cara termudah dan paling efektif, antara lain:

  • Apakah software telah siap digunakan?
  • Apa saja resikonya?
  • Apa saja kemampuannya?
  • Apa saja keterbatasannya?
  • Apa saja masalahnya?
  • Apakah telah berlaku seperti yang diharapkan?

Definisi Sederhana Kualitas Materi Software Testing

  • Menurut CROSBY: Kualitas adalah pemenuhan terhadap kebutuhan.
  • Menurut ISO-8402: Kualitas adalah keseluruhan dari fitur yang menjadikan produk dapat memuaskan atau dipakai sesuai kebutuhan dengan harga yang terjangkau.
  • Menurut W.E. Perry: Kualitas adalah pemenuhan terhadap standar.
  • Menurut R. Glass: Kualitas adalah tingkat kesempurnaan.
  • Menurut J. Juran: Kualitas adalah tepat guna.

Prinsip Testing

  1. Testing yang komplit (menyeluruh) tidak memungkinkan dilakukan karena kemungkinan jumlah kombinasi testcase yang amat besar
  2. Testing merupakan pekerjaan yang kreatif dan sulit
  3. Testing berbasis pada resiko
  4. Testing harus direncanakan
  5. Testing butuh independensi

Dasar-Dasar Testing

Testing dikatakan baik, jika :

  • Kemungkinan mendapatkan error tinggi
  • Tidak redundan –> resource terbatas, tiap tes yang dilakukan HARUS memiliki tujuan yang berbeda
  • Tidak terlalu simpel atau kompleks
  • Kode untuk kondisi khusus mendapatkan porsi tes yang sama dengan kode yang umum
    1. Kode untuk kondisi khusus –> peluang mempunyai bug tinggi
    2. Testing untuk kode yang dijalankan dalam kondisi normal tidak mengeksekusi error handling code

“Testing yang sukses adalah testing yang berhasil menemukan error yang tidak diketahui”

Hubungan Testing dan Kualitas

  • QA dan pengembangan produk adalah aktifitas yang berjalan secara paralel.
  • QA meliputi review dari metode pengembangan dan standar, review dari semua dokumentasi (tidak hanya untuk standarisasi tapi juga verifikasi dan kejelasan isi). Secara keseluruhan QA juga meliputi validasi kode.
  • Tugas dari QA adalah superset dari testing. Misinya adalah untuk membantu dalam minimalisasi resiko kegagalan proyek.
  • Tiap individu QA harus memahami penyebab kegagalan proyek dan membantu tim untuk mencegah, mendeteksi dan membenahi masalah.
  • Kadang tim testing direferensikan sebagai tim QA.

Hubungan Testing dan Kualitas (cont.)

  1. Definisi software berkualitas adalah software yang bebas error dan bug secara obyektif, tepat waktu dan dana, sesuai dengan kebutuhan atau keinginan dan maintainable.
  2. Obyektifitas adalah suatu proses pembuktian yang terstruktur, terencana dan tercatat / terdokumentasi dengan baik.
  3. Pendekatan obyektif sangat diperlukan karena kualitas adalah suatu hal yang tidak nyata dan subyektif (tergantung pada pelanggan dan hal-hal lain yang mempengaruhinya secara keseluruhan).
  4. Testing membuat kualitas dapat dilihat secara obyektif, karena testing merupakan pengukuran dari kualitas software.
  5. Testing = pengendalian kualitas (Quality Control – QC), dan QC mengukur kualitas produk.
  6. Quality Assurance (QA) mengukur kualitas proses yang digunakan untuk membuat produk berkualitas.
  7. Testing tidak dapat memastikan kualitas software, namun dapat memberikan kepercayaan atau jaminan terhadap software dalam suatu tingkat tertentu.
  8. Testing merupakan pembuktian dalam suatu kondisi terkendali, dimana software difungsikan sebagaimana yang diharapkan pada test case  yang digunakan.

Faktor Kualitas Secara Umum

  1. Testing harus dapat mengukur semua faktor-faktor yang berhubungan, dan tiap faktor akan mempunyai tingkat kepentingan berbeda-beda antara satu aplikasi dengan aplikasi yang lain.
  2. Contohnya pada sistem bisnis yang umum komponen faktor kegunaan dan maintainabilitas merupakan faktor-faktor kunci, dimana untuk program yang bersifat teknik mungkin tidak menjadi faktor kunci.
  3. Agar testing dapat sepenuhnya efektif, maka harus dijalankan untuk melakukan pengukuran tiap faktor yang berhubungan, dan kualitas dapat menjadi nyata dan terlihat.

Faktor Kualitas Secara Umum (cont.)

  1. Ada 3 faktor kualitas software secara umum, yaitu fungsionalitas, rekayasa, dan adaptabilitas.
  2. Ketiga faktor utama ini dapat juga disebut sebagai dimensi dari ruang lingkup kualitas software.
  3. Tiap faktor akan dibagi-bagi lagi ke dalam faktor-faktor komponen yang lebih detil untuk lebih menjelaskannya.

Kualitas Software Penting bagi Organisasi Software

  • Dengan berorientasi pada kualitas, maka organisasi software akan dapat melakukan proses analisa, evaluasi dan pengembangan yang berkesinambungan untuk mencapai suatu proses pengembangan software yang semakin lama semakin efektif, efisien, terukur, terkendali dan dapat diulang secara konsisten dalam menghasilkan suatu produk (software) yang berkualitas, tepat waktu dan pendanaan.
  • Dimana hal ini akan memberikan suatu jaminan bagi pelanggan / klien untuk mendapatkan produk seperti yang diharapkan, sehingga akan menambah kepercayaan mereka akan kemampuan pengembang, hal ini sangat dibutuhkan bagi organisasi software karena hubungan klien dan pengembangan adalah untuk jangka panjang dan berkesinambungan (marital status).

Kualitas Software Penting bagi Organisasi Software (cont.)

  • Secara natural pengembangan software bukanlah suatu hal yang mudah, bahkan mempunyai kecenderungan untuk mengalami kegagalan. Oleh karena itu berorientasi pada kualitas adalah salah satu usaha dalam menurunkan tingkat resiko terjadinya kegagalan proyek.
  • Perlu diketahui dari data statistik perusahaan dan agen pemerintahan Amerika Serikat telah menghabiskan dana 81 bilyun US$ untuk proyek software yang dibatalkan, dengan rincian sebagai berikut:
    31.1 % Proyek dibatalkan sebelum selesai.
    52.7 % Proyek mengalami pembengkakan biaya sebesar 189% dari nilai estimasi.
    9.0 % Proyek selesai tepat waktu dan anggaran.

Daftar Pustaka

Wajib

  • Romeo, “Testing & Implementasi Sistem”, Edisi Satu, STIKOM, 2003
  • Pressman, Roger S., “Software engineering : A Practioner’s Approach”, Fifth Edition, Mc Graw-Hill, 2001
  • Hetzell, Bill, “The complete guide to software testing.”, Second Edition, John Wiley & Sons, 1988.

Anjuran

  • Corllard & Co, “Software Testing & Quality Assurance Techniques”, Volume 1 & 2, 1997
  • Ruvin, H., “Practical guide to the design & implementation of information system”, Prentice Hall, 1997
  • Matrick, Brian, “The craft of software testing : Subsystem testing including object based and object oriented testing.”, Prentice Hall, 1995
  • Sommerville, Ian, “ Software Engineering”, Sixth Edition, Addison Wesley, 2001.

Itulah artikel tentang Pendahuluan Materi Software Testing yang dapat saya sampaikan, semoga bermanfaat.

Baca Juga :

Materi Clipping Grafika Komputer

susantokun avatar
susantokun
Hanya seorang programmer yang fokus di bidang web development. Tidak nyaman dengan keramaian dan suka akan keindahan.
Kebijakan Berkomentar :
1. Dilarang berkomentar yang mengandung SPAM, SARA, HOAX, PORNO.2. Mohon sertakan informasi detail saat terjadi error (pesan error, sreenshoot, code, logs, dsb.).