Software testing merupakan suatu cara untuk mencari kekurangan yang terdapat dalam proses development dari sebauh aplikasi perangkat lunak. Dan dengan ditemukannya kekurangan yang terdapat dalam sebuah software , akan menjadi sebuah perbaikan ke depan agar sebuah software menjadi lebih baik dari versi sebelumnya. Kegunaan sebuah software testing tentunya tidak sekedar mencari kekurangan dalam hal interface, fungsional saja tetapi juga bisa digunakan untuk mencari kelemehan dalam hal security, performa hardware, jaringan dll.
Atribut software yang disebutkan dalam gambar tersebut merupakan atribut yang digunakan setelah testing dilakukan sehingga diharapkan sebuah aplikasi memiliki keunggulan dari berbagai aspek seperti kehandalahan, skalabilitas, portabilitas, mudah digunakan kembali, dan berguna bagi user. Adapun testing yang dapat dilakukan dalam sebuah software bisa didasarkan dari aplikasi yang sudah dibuat dengan dasar dari SRS dokumen yang sebelumnya sudah disepakati oleh seorang customer dengan tim development. Sehingga jika ada kekurangan yang ditemukan maka masih berada di scope dari permintaan customer. Meskipun nanti bisa saja testing dilakukan dengan scope di luar SRS dokumen jika suatu saat terdapat proyek baru dan memerlukan develpment ke arah yang lebih baik tanpa harus menunggu proses dokumentasi SRS.
Sebagai contoh pertama kita akan melakukan testing terhadap sebuah requirement yang sudah didokumentasikan pada SRS dokumen untuk melakukan software testing :
Proses di atas adalah hasil mendapatkan proses testing dalam sebuah aplikasi terkait SRS dokumen pada requirement sistem operasi user yang digunakan . Contoh kedua dapat dilihat pada fungsi tabel berikut :
Pada testing di atas dilakukan proses testing beradasarkan SRS dokumen bagian use case description terkait use case register dan ditemukan sebuah bug dengan saran tersebut.
Itulah cara sederhana untuk melakukan testing terhadap aplikasi dan melakukan dokumentasi , adapun proses testing selanjutnya beradasarkan sebuah standar yaitu dengan menggunakan standar kualitas perangkat lunak.