Sebagian besar developer tidak memiliki pemahaman tentang bagaimana software testing dilakukan. Padahal, pemahaman dasar-dasar software testing merupakan suatu hal yang berharga bagi developer yang benar-benar ingin unggul dalam karier mereka. Biasanya, programmer baru tidak mengerti tentang software testing. Mereka pikir hal itu tidak perlu dilakukan. Apakah software testing benar-benar perlu dilakukan? Pada intinya, pengujian pada perangkat lunak dilakukan untuk mengurangi risiko.

 

Tujuan pengujian perangkat lunak bukan untuk menemukan bug atau membuat perangkat lunak menjadi lebih baik. Hal ini dilakukan untuk mengurangi resiko yang dapat muncul di kemudian hari, yaitu secara proaktif menemukan dan menghilangkan masalah yang akan sangat berdampak pada pelanggan yang menggunakan perangkat lunak. Pelanggan dapat mengalami dampak dari resiko tersebut, seperti adanya kesalahan yang sering terjadi atau adanya fungsi yang tidak diinginkan, atau juga karena tingkat keparahan suatu masalah.

 

Sebagai contoh, jika Anda memiliki bug dalam accounting software Anda yang menyebabkannya membeku selama satu atau dua detik yang terjadi saat nilai lebih dari $ 1.000 dimasukkan, itu tidak akan benar-benar berdampak besar. Namun, jika hal ini terjadi dalam frekuensi yang cukup tinggi, maka hal ini akan sangat mengganggu pelanggan. Semisal, Anda memiliki bug dalam accounting software yang menyebabkan semua data menjadi rusak setiap 1.000 kali data disimpan. Meski frekuensi sangat rendah, hal itu akan menjadi dampak yang sangat besar.

 

Anda tidak akan pernah menemukan semua bug atau cacat pada perangkat lunak dan Anda tidak akan pernah bisa menguji setiap input yang mungkin masuk ke dalam perangkat lunak. Jadi, software testing bukanlah untuk menemukan setiap kemungkinan kesalahan, atau memverifikasi perangkat lunak terhadap suatu spesifikasi, tetapi sebaliknya, fokus dan ide utama di balik pengujian perangkat lunak adalah untuk mengurangi dampak besar dari resiko negatif yang dapat dialami oleh pelanggan saat pelanggan menggunakan perangkat lunak.

 

Biasanya, resiko yang berdampak terbesar yang akan ditangani terlebih dahulu dan dilakukan serangkaian uji coba  untuk memverifikasi fungsionalitas yang diinginkan terkait hal tersebut. Ketika fungsi aktual menyimpang dari fungsi yang diinginkan, cacat biasanya dicatat dan penanganan cacat tersebut diprioritaskan berdasarkan tingkat keparahan. Beberapa cacat diperbaiki, sedangkan cacat lain yang berdampak rendah hanya dicatat dan dibiarkan dalam sistem.

 

Dunia pengujian dan penjaminan kualitas sangatlah luas. Sama halnya seperti banyaknya konsep dan metodologi dalam membuat perangkat lunak, demikian juga ada banyak cara untuk berpikir tentang cara menguji suatu software. Ada berbagai jenis pengujian untuk pengembangan perangkat lunak, seperti black-box testing, white-box testing, acceptance testing, automated testing, regression testing, functional testing, exploratory testing, load testing, performance testing, recovery testing, security testing, stress testing, usability testing, accessibility testing dan masih banyak lagi.

 

 

Sumber=

https://usersnap.com/blog/software-testing-basics/