Quality Assurance Via Negativa
Sedikit filosofis, karena gw tetiba nemu benang merah antara konsep via negativa dengan software testing
Beberapa kali gw tanya beberapa orang apa yang dimaksud dengan aplikasi "berkualitas"? Banyak jawab dengan “baik”, “bagus” padahal ini adalah jawaban salah!
Ber-kualitas, artinya memiliki kualitas, nah yang nilainya bisa baik atau buruk, tapi kemudian kalo gw tanya “Baik” itu apa? Banyak yang susah jawab, paling sering malah jawab pake “baik itu yang gak jelek, gak rusak, gak error”, Nah penggunaan kata "nggak" ketika menjawab hal tadi membuktikan kalo secara alami tuh lebih mudah memikirkan hal-hal negatif
Beberapa waktu yang lalu gw nemu artikel yang bahas soal "via negativa" di artikel filosofis dan produktifitas yang gw baca dan langsung aja gw kepikiran situasi di atas tadi, karena konsep via negativa ini sangat relate sama QA!
Memang “via negativa” pada awalnya dikenal sebagai sebuah teori teologis untuk menjelaskan Tuhan maha baik dengan cara menjelaskan hal apa yang tidak mungkin ada pada Tuhan.
Pada konteks software testing, dari yang gw percayai:
Kita sebagai software tester, hanya bisa membuktikan kalo bugs ditemukan di aplikasi, tapi kita ga bisa membuktikan kalo aplikasi bebas dari masalah
Aplikasi yang bagus adalah aplikasi yang bugs critical nya udah ketemu dan diperbaiki, bukan berarti ga akan ada lagi bugs
Setuju?
Gw kasih contoh hal konkrit di dunia nyata tentang penggunaan via negativa lainya biar kebayang:
Eh tapi gw mau iklan dulu :D
Tulisan ini sebenarnya adalah konten yang sama dari video eksklusif membership youtube gw, yang biasanya akan gw bahas softskill yang relevan buat software tester, mulai dari Rp 9 ribuan untuk berlangganan:
Oke contoh via negativa di dunia nyata, misal untuk meningkatkan kualitas kesehatan kita bisa saja menambah jam olahraga, tapi kita juga bisa mencapainya dengan mengurangi:
Mengurangi makanan gorengan
Mengurangi waktu begadang
Hindari makan minuman manis
Gimana cara bisa lebih produktif? Coba kurangi ngerjain hal-hal yang ga berdampak alias ga penting
Termasuk dengan, Gimana cara meningkatkan kualitas? Coba turunkan jumlah bugs yang bisa merusak citra, coba kurangi failures yang bikin kesel user di production
Gimana cara merawat test automation code?
Kurangin duplikat code, DRY
Menghindari hardcoding
Gimana biar aplikasi lebih secure?
Hindari penggunaan library ga jelas
Kurangin akses role user yang ga perlu
Jangan ngirim data sensitif tanpa enkripsi di post request
Gimana cara ngetest biar lebih cepet?
Kurangin ngetest berlebihan, fokus pada skenario yang critical dan beresiko tinggi
Hindari ngetest pake skenario yang basi, harus terus diperbarui
Kurangin verifikasi manual, pake tools automation biar cepet
Hindari menguji module yang lo ga paham, nanti ga sadar ada bugs karena ga tau
Nah gimana menurut kalian, make sense kah? hehehe
Oia jangan lupa kita juga bisa ngobrol dan berinteraksi juga loh di Instagram gw di @ngetest.id gw juga ada beberapa lelucon video yang relate banget sama QA, jangan lupa di follow ya ahaha