Mengapa Software Testing?
Dalam proses pengembangan aplikasi, banyak hal yang dipertimbangkan mengenai fungsi atau fitur apa saja yang akan dibuat yang biasanya ditujukan untuk menggantikan fungsi sosial yang umum dipraktekkan masyarakat. Beberapa tujuan pengembangan antara lain untuk mempercepat proses, memperkecil jarak atau meningkatkan efektifitas proses.
Contoh fitur yang dikembangkan dalam perangkat lunak antara lain : jual beli, berbincang, membaca berita, bermain dan sebagainya. Di sini aplikasi berperan sebagai prostetik yang menggantikan interaksi dari dunia nyata ke dunia maya. Konsekuensinya, manusia sebagai pengguna melakukan kompromi dan kompensasi terhadap perilakunya.
Contoh : ketika jual beli di pasar/toko, pembeli menyiapkan uang kertas atau koin, datang ke pasar, menanyakan harga kepada penjual, melakukan tawar-menawar, memeriksa kualitas barang. Dan jika cocok pembeli dengan menyerahkan uang dan mendapatkan barang. Penjual membungkus barang dan memberikan kembalian uang jika uang tidak pas.
Lalu muncul aplikasi e-commerce yang menghilangkan interaksi langsung antara pembeli dan penjual, yang menghilangkan beberapa hal yang penting seperti memeriksa kualitas barang, nego harga. Pembeli/penjual juga harus berkompromi mengikuti cara pembayaran yang disediakan oleh aplikasi. Dan semua interaksi sosial digantikan dengan interaksi di layar perkakas pengguna.
“Contemporary computers cannot do just the same thing as humans because they do not fit into society as humans do, so the surrounding society must compensate for the way the computer fails to reproduce what it replaces. This means that a complex judgment is needed to test whether software fits well enough for the surrounding humans to happily ‘repair’ the differences between humans and machines. This is much more than a matter of deciding whether the cogs spin right.”
Harry Collins, Eurostar 2013
Software Testing bukan hanya sekedar mencocokan test cases dengan requirement tapi menelaah solusi yang ditawarkan oleh produk dengan masalah yang dihadapi oleh pengguna. Di sinilah peran Software Testing berada, untuk menilai apakah kompromi atau kompensasi yang dilakukan mungkin diterima oleh pengguna. Software tester akan menyelami user experience, mencatat isu dan pertanyaan, crosscheck dengan requirement lalu mengolahnya dalam suatu laporan umpan balik untuk tim pengembang.
Dikutip dari Harry Collins dalam speaker note yang dibawakan pada Eurostar 2013
“Computers and their software are two things. As collections of interacting cogs they must be ‘checked’ to make sure there are no missing teeth and the wheels spin together nicely. Machines are also ‘social prostheses’, fitting into social life where a human once fitted. It is a characteristic of medical prostheses, like replacement hearts, that they do not do exactly the same job as the thing they replace; the surrounding body compensates.
Harry Collins, Eurostar 2013
Berikut adalah layanan yang bisa kami tawarkan terkait pengujian perangkat lunak
- Merancang desain pengujian tepat guna sesuai dengan karakteristik produk
- Melakukan pengujian untuk memastikan keberjalanan fungsi, keandalan sistem,
- Melakukan analisa potensi resiko yang mungkin terjadi