Pengujian perangkat lunakPengujian perangkat lunak (bahasa Inggris: software testing) merupakan suatu investigasi yang dilakukan untuk mendapatkan informasi mengenai kualitas dari produk atau layanan yang sedang diuji (under test).[1] Pengujian perangkat lunak juga memberikan pandangan mengenai perangkat lunak secara obyektif dan independen, yang bermanfaat dalam operasional bisnis untuk memahami tingkat risiko pada implementasinya. Teknik-teknik pengujian mencakup, tetapi tidak terbatas pada, proses mengeksekusi suatu bagian program atau keseluruhan aplikasi dengan tujuan untuk menemukan bug perangkat lunak (kesalahan atau cacat lainnya).[2] Pengujian perangkat lunak dapat dinyatakan sebagai proses validasi dan verifikasi bahwa sebuah program / aplikasi / produk:
SejarahGlenford J Glenford. Myers awalnya memperkenalkan pemisahan debugging dan pengujian pada tahun 1979.[3] Meskipun fokusnya adalah pada pengujian kerusakan ("Kasus pengujian yang berhasil adalah yang menemukan bug yang belum ditemukan".), menggambarkan keinginan komunitas pemrograman untuk memisahkan aktivitas pengembangan fundamental, seperti debugging, dari verifikasi. RaleighPengujian perangkat lunak dapat dilakukan oleh penguji perangkat lunak khusus; sampai tahun 1980-an istilah 'penguji perangkat lunak' biasanya digunakan, tetapi kemudian juga dilihat sebagai profesi yang terpisah.[4][5][6] Hingga tahun 1970-an, pengujian video game ditangani oleh para pengembangnya sendiri.[7][8] Mengenai periode dan tujuan pengujian perangkat lunak yang berbeda,[9] peran yang berbeda seperti manajer pengujian, pemimpin pengujian, analis pengujian, pengembang pengujian, penguji, pengembang otomasi, dan administrator pengujian telah ditetapkan. Pengujian perangkat lunak juga dapat dilakukan oleh penguji perangkat lunak pihak ketiga.[10] Kombinasi masukan dan prasyaratMasalah mendasar dalam pengujian perangkat lunak adalah bahwa pengujian dengan semua kombinasi data input dan prasyarat (kondisi awal) tidak mungkin dilakukan bahkan dengan produk yang sederhana sekalipun.[11] Ini berarti bahwa jumlah bug dalam produk perangkat lunak bisa sangat banyak, dan cacat yang jarang terjadi sulit untuk dideteksi selama pengujian dan debugging. Catatan kaki
|