Software Testing

Software Testing 08 August

Pengetesan software adalah kegiatan yang sangat penting sebelum dimplementasikan. Beberapa organisasi besar, biasanya memiliki bagian khusus untuk pengetesan software sebelum diimlementasikan. Namun tidak semua organisasi memiliki bagian khusus untuk pengetesan software. Oleh karena itu, beberapa organisasi melibatkan analis dalam pengetesan, karena analis lebih memahami kebutuhan organisasi sehingga bisa mengukur kinerja software dari sisi kebutuhan fungsional dan non-fungsional.

Pengguna bisa dilibatkan dalam pengetesan spesifikasi, bahkan dalam penentuan diterima tidak nya sistem. Dalam situasi seperti ini biasanya sudah disiapkan scenario pengetesan yang sudah disetujui oleh semua pihak.

Prinsip utama pengetesan adalah memastikan bahwa semua kebutuhansudah terpenuhi oleh sistem yang baru. Ada 2 teknik pengetesan yang biasanya digunakan yaitu black box testing dan white box testing.

Black box testing dilakukan dengan cara memasukkan input ke sistem dan melihat hasil keluarannya apakah sesuai dengan yang diharapkan atau tidak. Bagaimana proses untuk menghasilkan keluaran tidak dilakukan dalam pengetesan black box testing.

Sedangkan dalam white box testing, pengetesan justru dilakukan untuk mengetahui bagaimana proses menghasilkan keluaran (yang justru tidak dilakukan dengan black box testing). Persoalannya, untuk melakukan hal tersebut membutuhkan source code program. Sayangnya tidak semua pengembang memberikan opsi ini. Sebagai jalan tengah, beberapa organisasi mensyaratkan kepada pengembang untuk memberikan copy source code kepada pihak ketiga. Dengan demikian jika pengembang bubar ditengah jalan, organisasi masih bisa memperoleh source code dari pihak ketiga untuk dikembangkan sesuai dengan kebutuhan mereka. Biasanya pengetesan dilakukan dalam tiga level yaitu:

Level 1

  • Pengetesan atas modul-modul secara individual
  • Dilanjutkan pengetesan keseluruhan program
  • Setelah it pengetesan keseluruhan rangkaian program

Level 2

  • Dikenal sebagai pengetesan alfa (Alpha testing) atau verifikasi
  • Program dijalankan di lingkungan simulasi
  • Secara khusus dilakukan pengetesan input dengan cara:
    • Dimasukkan nilai negatif ketika diharapkan hasilnya positif (dan
    • sebaliknya)
    • Dimasukkan nilai di luar batas atau mendekati batas toleransi
    • Dimasukkan kombinasi yang salah

Level 3

  • Dikenal sebagai pengetesan beta (beta testing) atau validasi
  • Program dijalankan dilingkungan pengguna langsung (live)
    • Guna mengetahui lama waktu eksekusi aplikasi
    • Melibatkan data dalam jumlah besar
    • Untuk mengetahui lama pemulihan dari kesalahan atau kegagalan

Tahap akhir pengetesan adalah testing penerimaan pengguna (user acceptance testing). Tahap akhir in adalah evaluasi oleh pengguna terhadap kebutuhan yang disepakati di awal. Hasil penerimaan ini (dibuktikan dengan tanda tangan pengguna) akan mengakhiri jalannya proyek. Biasanya dokumentasi dari hasil analisis (khususnya yang jadi perhatian adalah skenario use case dan kebutuhan non fungsional) akan digunakan untuk pengecekan produk akhir. Pengetesan menyeluruh membutuhkan dokumentasi tentang apa yang akan direncanakan dan apa yang diharapkan. Hal ini termasuk keluaran yang diharapkan dari setiap pengetesan, keluaran aktual yang didapatkan, serta teknik pengetesan ulang jika ada kegagalan. Banyak organisasi yang sudah memiliki format standard pengetesan ini. Biasanya spreadsheet dipakai untuk pendataan ini, karena kemudahannya untuk menampilkan laporan hail pengetesan dari sisi prosentase capaian. Tester (pengetes) harus hati-hati terhadap hasil pengetesan yang tidak diharapkan. Biasanya pengetesan dengan sistem operasi yang berbeda akan bisa menampilkan hasil-hasil yang tidak diharapkan ini. Masalah yang sering terjadi dengan pengetesan sistem operas yang berbeda ini adalah penggunaan huruf bear atau huruf kecil (case sensitivity). Masalah seperti ini biasanya dilaporkan sebagai bugs yang harus diselesaikan oleh pengembang.

 

Bibliography

Munawar, M. (2023). Analisis Perancangan Sistem Beroritenasi Objek Dengan Unified Modelling Language Edisi 2. Bandung, Jawa Barat, Indonesia: Informatika