Quality Assurance — Posisi penting dalam software development tapi jarang ada yang menempati

Shazi Awaludin
4 min readJan 15, 2024

--

Photo by Pierre Bamin on Unsplash

Hah, quality assurance tuh apa?
sama ga sih dengan quality control?
bukannya sama-sama ngetes aplikasi ya?
lah terus sama aja dong tester?
emang tester tuh dibutuhin ya? kan developer juga bisa kok ngetest aplikasinya sendiri

Eits!!!! sebelum terlalu jauh salahnya, coba lanjut baca sampai bawah yaa biar kamu nanti tau yang lebih tepat bagaimana dan ga salah lagi. Aku perlu menyampaikan terlebih dahulu kepadamu, memang banyak sekali yang menyamakan antara quality assurance dengan quality control. Selain itu, pembahasan tentang kedua hal itu pun di Indonesia masih sangat kecil interestnya. Di tahun 2023 sendiri, pencarian seputar “Software Quality Assurance” itu sangat minim dibanding dengan “Web development” dan bahkan secara spesifik “Kotlin” memiliki interest yang jauh jauh lebi tinggi.

Ini juga sedikit menunjukkan bahwa tidak banyak orang yang aware dengan posisi ini di dalam software development. Sehingga pada akhirnya, posisi untuk Quality assurance, Quality control, dan sebagainya di sisi quality, itu sering tumpang tindih dan tidak jelas tanggung jawabnya harus dipegang oleh siapa. Atau bakan, malah tidak ada yang mengisi, padahal itu sangat penting.

Dalam konteks di atas, sepertinya kamu jadi salah satu orang unik dan hebat deh karena mau mencoba mencari tahu tentang salah satu posisi dalam bidang Quality dari Software Development🤣

Quality Assurance

Mari kita mulai dari quality assurance terlebih dahulu karena punya cakupan yang lebih luas di dalam software testing.

What is Quality? Kualitas bisa kita anggap sebagai pemenuhan terhadap kebutuhan dan ekspektasi customer atau pengguna sehubungan dengan fungsionalitas, desain, keandalan (reliablilty), dan harga dari suatu produk.

lalu,

What is Assurance? Bisa kita maknai sebagai suatu pernyataan positif tentang suatu produk atau layanan yang memberikan rasa percaya. Suatu kepastian teradap produk atau layanan dapat bekerja dengan baik. Selain itu, assurance juga memberikan jaminan bahwa produk akan bekerja sesuai harapan dan kebutuhan tanpa masalah.

Nah dari kedua definisi itu, bisa kita simpulkan bahwa Quality Assurance di software testing itu adalah suatu prosedur untuk memastikan kualitas produk perangkat lunak atau layanan yang diberikan kepada pelanggan atau organisasi. Berfokus pada peningkatan proses pengembangan perangkat lunak dan membuatnya efisien dan efektif sesuai dengan standar yang ditetapkan.

Apa sih yang dilakuin oleh seorang QA?

  • Plan (merencanakan) — QA dalam suatu organisasi perlu merencanakan, menyusun tujuan dan menentukan proses yang diperlukan untuk menghasilkan produk akhir yang berkualitas tinggi.
  • Do (melakukan) — Mengembangkan dan menguji “proses”, serta melakukan perubahan dalam proses pengembangan perangkat lunak.
  • Check (memastikan) — Memonitor proses, modify prosesnya, dan periksa apakah prosesnya sudah memenuhi tujuan yang telah ditentukan
  • Act (bertindak) — Menerapkan aksi yang dibutuhkan untuk mewujudkan perbaikan dalam proses yang berjalan

Nah sebuah organisasi atau tim dalam pengembangan perangkat lunak perlu memiliki seseorang yang menjalankan proses Quality Assurance guna memastikan bahwa produk yang dirancang dan diimplementasikan dengan prosedur yang benar. Hal ini membantu mengurangi masalah, dan kesalahan pada produk akhir (software yang dikembangkan).

Quality Control

Quality control (QC) memegang peran yang tidak berurusan langsung dengan proses yang digunakan untuk membangun produk, mereka berhubunang langsung dengan produk akhir atau layanan yang dikembangkan.

Tujuan utamanya adalah untuk memastikan apakah produk telah memenuhi spesifikasi dan requirement dari customer. Jika ada issue atau masalah yang teridentifikasi, maka hal tersebut perlu diperbaiki sebelum produk diberikan kepada customer. QC dalam kondisi ini bertanggung jawab melaporkan temuannya kepada tim pengembang.

Perbedaan antara Quality Control dan Quality Assurance

  • QC bertanggung jawab atas produk, Sedangkan QA bertanggung jawab atas Proses
  • Terhadap apa yang terjadi dalam pengembangan perangkat lunak, QC bekerja secara reactive, sedangkan QA bekerja secara proactive.
  • Dalam fungsi di organisasi atau project, QC memegang peran pada Line Function, sedangkan QA berada pada Staff Function. QC secara langsung memberikan dampak terhadap organisasi atau project dengan apa yang dikerjakannya (misal menemukan defect). QA memberikan dukungan dalam bentuk nasihat atau ide yang mendukung pemecahan masalah.
  • QC berfokus menemukan kecacatan pada software yang dikembangkan, sedangkan QA berfokus pada Pencegahan.
Photo by guru99.com — QC vs QA

Oh ya, dalam software development, QA akan lebih disebut sebagai Software Quality Assurance, dan QC akan lebih disebut sebagai Software Testing. Orang yang melakukan SQA tetap dipanggil SQA, sedangkan yang melakuakn Software Testing biasa disebut Software Tester (atau Tester saja).

Perbedaan antara SQA dan Software Testing

Perbedaan antara SQA dan Software testing ini akan lebih merujuk pada proses yang ada dalam pengembangan perangkat lunak.

SQA vs Software Testing

Summary

Nah jadi antara Quality Assurance dengan Quality Control itu berbeda ya. Quality control itu berhubungan langsung dengan produk, sedangkan Quality Assurance itu berhubungan dengan proses. Nah yang ngetes aplikasi itu tester, nah tester itu ya si quality control :D

Dari sini sadar ga si, kalau kayaknya Quality Assurance ini sering gaada di sebuah project? nah itu dia, seringnya testernya ada, tapi QAnya gaada. Ini yang perlu diperjelas, bawa QA itu punya tugas yang berbeda dengan QC atau tester. QA juga pegang peranan penting untuk mastiin proses yang dijalankan mengembangkan produk dalam sebuah organisasi atau project berjalan tetap berkualitas.

Makasih telah membaca!

Jika kamu merasa ada sesuatu yang salah atau punya pertanyaan, jangan ragu untuk memberi saya tanggapan ya!

--

--