Pengujian perangkat lunak komputer adalah proses di mana program perangkat lunak tertentu, atau bagian-bagiannya, diuji untuk memastikan fungsionalitas dan dukungan perangkat keras yang tepat. Proses ini biasanya mengalami sejumlah fase dan iterasi selama pengembangan perangkat lunak, dan dapat mencakup pengujian internal dan eksternal. Sebagian besar pengujian ini dimaksudkan untuk menemukan bug di dalam perangkat lunak, biasanya dengan menemukan dan mereplikasinya, kemudian mendokumentasikan kesalahan tersebut dan memberikan dokumentasi tersebut kepada pemrogram perangkat lunak. Pengujian perangkat lunak komputer juga dapat dilakukan untuk memeriksa kompatibilitas antara suatu program dan berbagai perangkat keras atau perangkat lunak lainnya.
Sementara proses sebenarnya dari pengujian perangkat lunak komputer dapat bervariasi di antara perusahaan perangkat lunak, pendekatan umum untuk pengujian biasanya terdiri dari beberapa fase. Perusahaan mungkin menggunakan nomenklatur yang berbeda dalam mengacu pada fase ini, meskipun mereka sering menyebutnya sebagai fase alfa dan beta. Pengujian alfa biasanya melibatkan pengujian internal oleh karyawan, biasanya menggunakan program perangkat lunak yang sangat kasar atau belum selesai. Fase alfa pengujian perangkat lunak komputer dapat dilakukan pada perangkat lunak yang tidak lengkap, biasanya untuk menentukan apakah aspek-aspek tertentu dari perangkat lunak berfungsi dengan baik.
Pengujian perangkat lunak komputer kemudian beralih ke fase beta, yang biasanya melibatkan perangkat lunak yang jauh lebih lengkap, meskipun penyesuaian tertentu pada program mungkin masih perlu dilakukan. Pengujian dalam fase ini sering disebut sebagai “tertutup”, yang berarti hanya tersedia bagi mereka yang diundang untuk menguji perangkat lunak. Pengujian beta juga bisa “terbuka”, yang biasanya berarti pengujian tersedia untuk lebih banyak penguji di masyarakat umum.
Perubahan pada perangkat lunak dapat terus terjadi selama pengujian tersebut, tetapi kode keseluruhan untuk program biasanya telah ditulis. Sebagian besar pekerjaan yang dilakukan selama fase pengujian perangkat lunak komputer ini ditujukan untuk menemukan bug dan kesalahan dalam kode. Kesalahan tersebut didokumentasikan oleh penguji, yang mungkin perlu menghabiskan berjam-jam atau bahkan berhari-hari melakukan fungsi yang sama untuk membuat kembali kesalahan dengan andal, dan dikirim ke pemrogram yang kemudian menentukan cara menghilangkan bug atau kesalahan.
Pengujian perangkat lunak komputer dapat digunakan untuk menentukan seberapa baik suatu program bekerja dengan perangkat lunak atau perangkat keras lain. Penguji mungkin menggunakan komputer dan mesin lain dengan banyak tata letak perangkat keras untuk memastikan perangkat lunak dapat berfungsi dengan perangkat keras yang berbeda. Pengujian perangkat lunak komputer dapat memastikan bahwa suatu program berfungsi dengan baik dengan sistem operasi (OS) tertentu. Pengujian juga dapat digunakan untuk menemukan masalah yang mungkin dimiliki suatu program saat dijalankan pada mesin yang juga menjalankan jenis perangkat lunak lain, seperti program antivirus populer atau berbagai driver perangkat keras.