Melakukan uji coba dengan functionality testing

Apa itu functional Testing??

Functional Testing adalah bagian dari blackbox testing yang digunakan untuk menguji kualitas sebuah software apakah sudah sesuai dengan kualitas yang diinginkan.

Untuk bahasa informalnya functional testing digunakan untuk memastikan setiap fungsi berjalan dengan baik.

Kita ambil contoh halaman register. Maka setiap kemungkinan yang ada dalam halaman register akan diuji cobakan.
Kita ambil contoh  saja halaman di instagram

Maka kita akan melakukan pengecekan dari atas.
No. Fungsi yang diuji skenario efek berhasil/tidak note
1. Tombol facebook Berhasil koneksi menampilkan halaman ijin facebook berhasil

Gagal koneksi menampilkan halaman gagal koneksi (code php) berhasil
untuk tombol facebook hanya ada 2 kemungkinan itu dalam functionality testing sedangkan untuk yang pendaftar manual akan lebih banyak.
Bila dilihat dari user interface register instagram(gambar diatas) maka kemungkinannya adalah sebagai berikut
1.Telepon/email, nama, username, password terisi dengan benar.

Lalu kita mulai dengan kemungkinan yang salah

2. Telepon/email diisi dengan data salah. Nama, username, password terisi dengan benar.
    2.1.1. Telepon diisi dengan kurang/lebih 1 digit
    2.1.2 Telepon diisi dengan 20 digit(di atas digit no handphone)
    2.1.3. Telepon diisi dengan huruf.
    2.1.4. Telepon diisi dengan nomor acak(ex: 11111111)
    2.1.5. Telepon diisi dengan no yang pernah terdaftar
    2.1.6. Telepon tidak diisi

    2.2.1 Email diisi dengan format yang salah.
    2.2.2 Email diisi dengan email yang pernah terdaftar.
    2.2.3 Email diisi dengan email yang tidak pernah ada.
    2.2.4 Email tidak diisi.
    
Hasilnya bagaimana dengan efeknya? semua tergantung pada programmer yang membuat atau kesepakatan yang ada.
Misal 2.1.1 Telepon yang diisi dengan kurang/lebih 1 digit memiliki efek mengirimkan kode verifikasi.
maka bagian uji coba hanya memastikan apakah no telepon perusahaan yang digunakan untuk mengirimkan no verifikasi benar-benar mengirimkan kode tersebut.

Jangan mempertanyakan kenapa kurang/lebih 1 digit salah kok tetap dikirim, karena alasan bisa banyak. bisa jadi pemikiran mereka adalah meski salah kirim, orang yang menerima sms tidak bisa menggunakan nomer verifikasi tersebut. Karena halaman verifikasi hanya muncul setelah tombol register ditekan.
Bagian uji coba sekali lagi hanya memastikan apakah no telepon perusahaan benar-benar mengirimkan sms kode verifikasi.

Lalu efek bisa bervariasi tergantung bagaimana desain dari desainer sistem.
Contoh 2.2.2 Email diisi dengan email yang pernah terdaftar.
efek bisa :
1. Mengeluarkan notifikasi bahwa email telah terpakai kemudian menampilkan halaman register.
2. Mengeluarkan notifikasi bahwa email telah terpakai.
3. Memberi rekomendasi sebuah nama email baru.
sekali lagi, semua ini tergantung pada desainer sistem, bagan uji coba hanya memastikan efek tersebut berjalan atau tidak.

Kembali pada tabel, status bisa memiliki beberapa isian
No. Fungsi yang diuji skenario efek status note
1. Tombol facebook Berhasil koneksi menampilkan halaman ijin facebook berhasil

Gagal koneksi menampilkan halaman gagal koneksi (code php) sedang dijalankan

jadi pada tabel ini bisa memiliki beberapa status
1. Berhasil
2. Belum dijalankan(default awal setiap function)
3. Gagal
4. Sedang dijalankan
5. Blocked(test tidak bisa dijalankan karena isu-isu tertentu, semisal hardware)
Setiap kegagalan pun akan tercatat semisal
No. Fungsi yang diuji skenario efek status note
1. Tombol facebook Berhasil koneksi menampilkan halaman ijin facebook berhasil

Gagal koneksi menampilkan halaman gagal koneksi (code php) gagal hanya menampilkan kode php tanpa halaman gagal koneksi

Sehingga programmer dapat dengan jelas mengetahui fungsi mana yang telah diperiksa dan bila ada kegagalan/kesalahan mereka dapat dengan cepat mengidentifikasi letak kesalahan.
Tentu saja Testing ini tidak bisa dikatakan sempurna.
Pertama, dari sisi manusia bisa jadi lupa memasukan fungsi yang perli di test atau efek yang harus di test.
Kedua, kebutuhan client akan software berbeda sehingga functionality testing pasti akan berbeda.

Komentar