Lompat ke konten Lompat ke sidebar Lompat ke footer

Teknik Pengujian dan Tes Kemampuan Perangkat Lunak

Teknik Pengujian dan Tes Kemampuan Perangkat Lunak - Artikel ini akan membahas mengenai metode bagaimana mengatur proyek pengembangan perangkat lunak. Melalui artikel ini diharapkan dapat memahami pengembangan software siklus hidup rekayasa perangkat lunak.

Testability (Tes Kemampuan)

Testabilitas perangkat lunak adalah seberapa mudah sebuah program komputer dapat diuji. Karena pengujian sangat sulit, maka perlu diketahui apa yang dapat dilakukan untuk membuatnya menjadi mudah. Kadang-kadang pemrogram bersedia melakukan hal-hal yang akan membantu proses pengujian, dan membuat checklist (daftar periksa) mengenai masalah-masalah desain yang mungkin, fitur dan lain sebagainya yang dijadikan sebagai pedoman dalam melakukan pengujian.

Beberapa checklist dibawah ini, akan membantu sebagai pedoman dalam kegiatan pengujian perangkat lunak  :
  1. OPERABILITY. (Mampu menjalankan/operasi.)
  • Semakin baik hal tersebut dijalankan, pengujian akan semakin efesien.
  • Sistem memiliki sedikit kesalahan.
  • Tidak ada kesalahan yang menghalangi jalannya pengujian.
  • Produk berkembang dalam tahapan fungsional (memungkinkan pengembangan dan pengujian secara simultan)
  1. OBSERVABILITY(Kemampuan untuk mengamati/meneliti) “Apa yang dilihat adalah apa yang diuji.”
  • Output yang berbeda dikeluarkan oleh masing-masing input.
  • Tahap dan variabel sistem dapat dilihat atau diantrikan selama eksekusi.
  • Sistem dan variabel yang lalu dapat dilihat atau diantrikan (misalnya, logaritma transaksi)
  • Semua faktor yang mempengaruhi output dapat dilihat.
  • Output yang tidak benar dapat diidentifikasi dengan mudah.
  • Kesalahan internal dideteksi secara otomatis melalui mekanisme pengujian itu sendiri.
  • Kesalahan internal dilaporkan secara otomatis.
  • Kode sumber dapat diakses.
  1. CONTROLLABILITY(Kemampuan untuk mengawasi)
“ Semakin baik kita dapat mengontrol perangkat lunak, semakin banyak pengujian yang dapat diotomatisasi dan dioptimalkan. “
  • Semua output yang baik, dapat diperoleh melalui beberapa kombinasi input.
  • Semua kode dapat dijalankan melalui berbagai kombinasi input.
  • Keadaan dan variabel perangkat lunak dan perangkat keras dapat dikontrol secara langsung oleh penguji.
  • Format input dan output konsisten dan terstruktur.
  • Pengujian dapat dispesifikasi, dioptimasi, dan direproduksi dengan baik.
  1. DECOMPOSABILITY(Kemampuan untuk menyelesaikan).
  • Dengan mengontrol ruang lingkup pengujian, kita dapat dengan lebih cepat mengisolasi masalah dan melakukan pengujian kembali secara lebih halus.
  • Sistem perangkat lunak dibangun dari modul-modul yang independen.
  • Modul-modul dapat diuji secara independen.
  1. SIMPLICITY (Kemampuan untuk menyederhanakan kerumitan).
  • Semakin sedikit  yang diuji, semakin cepat kita dapat mengujinya.
  • Fungsi yang sederhana (kumpulan fitur adalah kebutuhan minimum untuk memenuhi persyaratan).
  • Struktur yang sederhana (arsitektur dimodularisasi untuk membatasi penyebaran kesalahan).
  • Kode yang sederhana (standar pengkodean diadopsi demi kemudahan inspeksi dan pemeliharaan)
  1. STABILITY(Mampu menyeimbangkan ).
  • Semakin sedikit perubahan, semakin sedikit gangguan dalam pengujian.
  • Perubahan perangkat lunak jarang terjadi.
  • Perubahan perangkat lunak dapat dikontrol.
  • Perubahan perangkat lunak memvalidasi pengujian yang sudah ada.
  • Kegagalan perangkat lunak dapat diperbaiki dengan baik.
  1. UNDERSTANDBILITY (kemampuan untuk memahami/mengerti).
  • Semakin banyak informasi yang kita dapat, semakin mudah pengujian dilakukan.
  • Rancangan dapat dipahami dengan baik.
  • Ketergantungan antara komponen internal, eksternal, dan yang dipakai bersama, dipahami dengan baik.
  • Perubahan rancangan dibicarakan.
  • Dokumentasi teknik dapat diakses dengan cepat.
  • Dokumen teknik diorganisasikan dengan baik.
  • Dokumentasi teknik spesifik dan detail.
  • Dokumentasi teknik akurat.

MENGAPA PROGRAM MENGALAMI KERUSAKAN ?
  • Ketika orang mengerjakan tugas-tugas yang kompleks, mereka membuat kesalahan yang tidak dapat dihindari.
  • Mereka lebih memperbaiki kerusakan-kerusakan selama pengujian.
  • Mereka harus memperbaiki banyak kesalahan sebelum program akan berjalan semuanya.
MEMPERBAIKI KERUSAKAN ADALAH SESUATU YANG MAHAL
  • Dengan waktu sehari, pengujian perangkat lunak secara umum masih mempunyai banyak kerusakan
  • Komputer akan menjalankan program yang tidak sempurna ketika menghadapi kerusakan, program tidak akan mengerjakan apa yang seharusnya dikerjakan.
  • Bahkan mungkin menyebabkan kerugian.
  • Semakin lama kerusakan tersisa, semakin buruk memperbaikinya membutuhkan biaya lebih untuk perbaikan kerusakan yang tersisa akan menjadi penyebab gangguan


REVIEW (Peninjauan)

  • Melakukan peninjauan adalah langkah yang terpenting, karena dapat mengembangkan kualitas perangkat lunak.
  • Lebih awal mengenali dan mengatasi masalah, semakin mudah dan murah untuk memperbaikinya.


APA YANG PERLU DITINJAU ?
  • REQUIREMENT & ANALYSIS (pemahaman dan analisa)
  • DESIGN (rancangan)
  • CODE (kode)
  • DOCUMNTATION (dokumentasi)
  • TEST PLAN & CASES (rencana ujian dan kasus)
Teknik Pengujian dan Tes Kemampuan Perangkat Lunak_
image source: feathersoft.com
baca juga: Tujuan dan Sasaran Pengujian Perangkat Lunak di Industri

TESTING TECHNIQUE / Teknik Pengujian

Pengujian merupakan elemen yang paling kritis dari penilaian perangkat lunak yang telah dikerjakan.
Pembahasan :
  • Dasar-dasar pengujian perangkat lunak
  • Perancangan permasalahan pengujian yang berfokus pada kumpulan teknik yang digunakan untuk membuat pengujian sesuai dengan permasalahan dan juga disesuaikan dengan  tujuan pengujian secara keseluruhan.
Pengujian merupakan salah satu dari siklus pengembangan perangkat lunak yang jika ditinjau dari sudut pandang psikologi adalah penghancuran dibandingkan penyusunan.

Sekian artikel tentang Teknik Pengujian dan Tes Kemampuan Perangkat Lunak. Semoga bermanfaat.
Nikita Dini
Nikita Dini Blogger, Internet Marketer, Web Designer

Posting Komentar untuk "Teknik Pengujian dan Tes Kemampuan Perangkat Lunak"