Tulisan ini saya buat untuk mencoba menambah literatur yang berhubungan dengan Sofware Testing. Pada dasarnya ini merupakan journey saya pribadi saat mencoba mempelajari topik ini. Kebingungan-kebingungan yang saya alami. Istilah-istilah baru, di tambah lagi berbagai macam metode yang berbeda-beda. Jujur saja kendala-kendala ini sempat membuat saya sendiri urung menerapkan automated testing. Meskipun begitu saya tetap mencoba menerapkannya dengan segala keterbatasan. “Better bad test code rather than no test at all”. Testing adalah hal krusial yang harus ada dalam setiap project yang kita buat. Saya rasa kita semua sepakat dengan hal itu.
Oh, ya. Contoh-contoh penerapan yang akan di angkat dalam tulisan berseri ini akan menggunakan bahasa PHP. Meskipun demikian, masih ada hal-hal yang relevan perihal konsep testing itu sendiri yang tetap bisa digunakan pada bahasa lain.
Jenis-Jenis Automated Testing
Automated. Artinya tes ini akan dijalankan oleh mesin, tidak manual lagi. Yang perlu kita lakukan adalah menuliskan skenario-skenario yang nantinya bisa dijalan oleh mesin secara berulang-ulang dan dalam waktu yang lebih singkat. Automated testing ini dibagi berdasarkan sudut pandang dan kegunaan masing-masing. Berikut jenis-jenisnya:
Acceptance Testing
Acceptance Testing sering disebut juga dengan nama End to End Testing. Dalam Acceptance Testing, tester memposisikan diri sebagai pengguna aplikasi itu sendiri. Skenario-skenario yang digunakan menggambarkan bagaimana perilaku pengguna, lalu kemudian ekspektasi atas keluaran aplikasi berdasarkan skenario tersebut. Acceptance Testing sangat berkaitan erat dengan antarmuka(interface) aplikasi. Form inputan-inputan, maupun tombol-tombol. Contoh skenario Acceptance Testing sederhana:
Skenario Login 1: Sebagai pengguna saya hendak masuk ke aplikasi dengan akun yang benar. Saya klik menu login, lalu mengisi email, lalu mengisi password. lalu klik tombol “Masuk”. Ekspektasi: Berhasil masuk ke aplikasi dan nama saya tampil pada menu bagian atas.
Skenario Login 2: Sebagai pengguna saya hendak masuk ke aplikasi dengan akun yang salah. Saya klik menu login, lalu mengisi email, kemudian mengisi password yang salah. lalu klik tombol “Masuk”. Ekspektasi: Muncul peringatan bahwa saya telah memasukkan password yang salah.
Unit Testing
Berbeda halnya dengan Acceptance Testing yang mengambil sudut pandang sebagai pengguna, Unit Testing mengambil sudut pandang tester sebagai pembuat aplikasi. Hal ini karenakan, pengetesan di lakukan terhadap function atau method yang ada saat aplikasi di jalankan. Function atau method tersebut berisi operasi aritmatik, operasi logika, dan lain-lain yang di harapkan akan menghasilkan kembalian nilai yang benar terhadap input(parameter) yang diberikan.
Yup. Sepertinya cukup untuk pengantarnya. Pada tulisan berikutnya kita akan kita akan mengupas lebih dalam mengenai dua kategori testing di atas. Stay tuned. :)
Comments