Pengujian perangkat lunak

Pengujian perangkat lunak () merupakan suatu investigasi yang dilakukan untuk mendapatkan informasi mengenai kualitas dari produk atau layanan yang sedang diuji (under test).Exploratory Testing , Cem Kaner, Florida Institute of Technology, Quality Assurance Institute Worldwide Annual Software Testing Conference, Orlando, FL, November 2006 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).

Pengujian perangkat lunak dapat dinyatakan sebagai proses validasi dan verifikasi bahwa sebuah program / aplikasi / produk:
 Memenuhi kebutuhan (requirement) yang mendasari perancangan dan pengembangan perangkat lunak tersebut;
 Berjalan sesuai dengan yang diharapkan;
 Dapat diterapkan menggunakan karakteristik yang sama;
 Memenuhi kebutuhan semua pihak yang berkepentingan.

 Sejarah 
Glenford J Glenford. Myers awalnya memperkenalkan pemisahan debugging dan pengujian pada tahun 1979. 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.

 Raleigh 
Pengujian 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. Hingga tahun 1970-an, pengujian video game ditangani oleh para pengembangnya sendiri. Mengenai periode dan tujuan pengujian perangkat lunak yang berbeda, 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.

 Kombinasi masukan dan prasyarat 
Masalah 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. 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