Perbedaan Testing vs Quality Assurance dalam Pengembangan Aplikasi

Testing dan Quality Assurance (QA). kedua-duanya berperan dalam memastikan bahwan software yang dibangun memenuhi persyaratan kualitas tertentu. Banyak yang menyamakan keduanya padahal mereka adalah dua hal yang berbeda.

Bahkan ada seorang yang bekerja di bagian QA merasa yang menjadi tugasnya adalah melakukan testing, dan sebaliknya ada tester yang merasa dirinya sebagai QA software. Pada perusahaan kecil mungkin saja keduanya dirangkap oleh unit yang sama, tetapi jelas testing dan quality assurance adalah berbeda. Apa bedanya.

Dalam Software Engineering Body of Knowledge (SWEBOK) yang dikeluarkan oleh IEEE, software testing masik ke dalam kelompok Main Process (5 knowledge area yang pertama) dalam pengembangan software bersama-sama dengan requirement, design, dan construction (coding) dan maintenance. Sedangkan Software Quality Assrance (SQA) masuk ke dalam Supporting Process (6 knowledge area sisanya) bersama-sama dengan Software Configuration Management

Singkat kata begini, testing hanya fokus pada mencari deffect suatu software dengan cara mengujinya, sedangkan QA lebih luas lagi, memastikan bahwa semua proses dalam pengembangan aplikasi dilakukan dengan baik, termasuk proses testing itu sendiri. Seorang tester membuat testplan dan melaksanakannya, soorang QA memastikan suatu testplan sudah memenuhi suatu persyaratan dan pelaksanaan testing sesuai dengan test plan tersebut.

Namun, pekerjaan QA bukan hanya di area testing saja, dia memastikan semua proses pengembangan, mulai dari requirement sampai maintenance, dilakukan dengan baik.

Di KA requirement, misalnya, seorang QA memastikan bahwa software requirement specification memenuhi standard quality yang ditentukan, misalnya dokumen tersebut sudah lengkap, konsisten, dan bisa dipahami QA harus memastikan bahwa dokumen SRS yang dihasilkan betul-betul merupakan diambil dari kebutuhan user dan bukan keinginan si pembuat software semata.

Semua proses setelah requirement akan dipastikan selalu bersumber dari proses sebelumnya. Misalnya ketika seorang arsitek membuat dokumen design, maka QA memastikan tidak ada bagian dari requirement yang overlook dalam design. Begitu pula pada saat memeriksa dokumen test plan, seorang QA akan memastikan bahwa semua requirement dalam SRS tercover dalam skenario testing tersebut.

Agar dapat melakukan fungsinya dengan baik, maka QA harus memiliki suatu framework yang baik yang disebut SQA Framework. Dalam framework ini, minimal memuat standard-standard pengembangan yang digunakan, template-template misalnya template SRS, test plan, dll.

Selain itu, jika perusahaan ingin memenuhi standard CMMI, maka QA harus dapat membuat pengukuran (measurement) terhadap quality. QA perlu menyatakan besaran-besaran QA yang akan diukur dan bagaimana cara mengukurnya, misalnya jumlah defect dari software. Atau jumlah baris code yang dihasilkan oleh suatu developer (productivity), dan banyak contoh measurement lainnya.