QA Introduction
Pada materi kali ini, kamu akan mengenal apa itu Software Quality Assurance.
Output Pembelajaran
- Memahami ruang lingkup pekerjaan dari QA dalam sebuah pengembangan sebuah sistem
- Mengetahui pekerjaan dari QA
- Mengenal kaitan pola kerja QA dalam suatu tim developer
A. Quality Assurance
Dalam mengelola kualitas produk atau layanan tentu melibatkan kegiatan perencanaan, pemenuhan, dan pemantauan. Quality Assurance berada di bawah aspek pemantauan disiplin yang merupakan proses atau tindakan untuk mengkonfirmasi apakah persyaratan kualitas perusahaan terpenuhi atau tidak.
QA berusaha untuk memberikan hasil yang konsisten melalui serangkaian proses dan prosedur standar yang secara sistematis memantau berbagai aspek produk atau layanan. Dengan audit reguler dan bentuk penilaian lainnya, QA mendeteksi dan memperbaiki masalah atau perbedaan yang berada di luar standar atau persyaratan yang terorganisir.
Konsep Quality Assurance pertama kali dimulai di domain manufaktur dan kemudian menyebar ke sebagian besar industri, termasuk pengembangan perangkat lunak. Quality Assurance (QA) dalam Software Testing didefinisikan sebagai prosedur untuk memastikan kualitas produk atau layanan memenuhi spesifikasi yang ditetapkan oleh perusahaan.
QA meningkatkan proses pengembangan perangkat lunak dan membuatnya efisien dan efektif sesuai standar kualitas yang ditentukan.
B. Perbedaan antara Quality Assurance dengan Quality Control
Quality Assurance
- Prosedur yang berfokus pada penyediaan jaminan bahwa kualitas yang diminta akan tercapai.
- QA bertujuan untuk mencegah cacat.
- Metode untuk mengelola kualitas (Verifikasi).
- Tindakan proaktif.
- QA terlibat penuh dalam siklus hidup pengembangan perangkat lunak.
- Untuk memenuhi kebutuhan pelanggan, QA mendefinisikan standar dan metodologi.
- QA memastikan bahwa semuanya dijalankan dengan cara yang benar, dan itulah sebabnya ia termasuk dalam aktivitas verifikasi.
- membutuhkan keterlibatan seluruh tim.
Quality Control
- Prosedur yang berfokus pada pemenuhan kualitas yang diminta.
- QC bertujuan untuk mengidentifikasi dan memperbaiki cacat.
- Metode untuk memverifikasi kualitas (Validasi).
- Ukuran reaktif.
- QC terlibat penuh dalam siklus hidup pengujian perangkat lunak.
- QC menegaskan bahwa standar diikuti saat mengerjakan produk Dilakukan sebelum kontrol kualitas Dilakukan hanya setelah aktivitas QA selesai.
- QC memastikan bahwa apa pun yang telah kami lakukan sesuai dengan persyaratan, dan itulah sebabnya ia termasuk dalam aktivitas validasi.
- QC membutuhkan keterlibatan tim Pengujian
C. Ruang lingkup pekerjaan QA
Seorang Quality Assurance tidak hanya melakukan pengujian setelah produk atau software telah selesai dibuat. Melainkan QA juga turut berkontribusi dalam memastikan kualitas produk terdeliver dengan baik sejak awal perancangan produk hingga produk siap dipasarkan dan digunakan oleh end user. Jadi proses Quality Assurance mencakup semua proses pengembangan software dari awal hingga akhir.
D. Peran dan Tanggung Jawab Quality Assurance
Pada umumnya tugas Quality Assurance adalah menjamin kualitas produk dari suatu perusahaan yang akan dijual atau masih dalam proses pengembangan. Selain itu QA juga memiliki beberapa tugas lain, di antaranya adalah sebagai berikut ini:
- Membuat perencanaan terhadap pengujian dan kasus pengujian terperinci serta komprehensi terstruktur.
- Melakukan analisis, membangun dan mematuhi standar terhadap jaminan kualitas dari produk yang dibangun.
- Melakukan pengembangan standar baru dalam produksi sesuai dengan kebutuhan dan membuat protokol pengujian.
- Melakukan dokumentasi aktivitas jaminan kualitas dalam bentuk laporan dan audit secara internal dalam perusahaan.
- Memastikan produk yang dibuat sudah memenuhi standar perusahaan dan kebutuhan konsumen atau para pelanggan.
- Melakukan dokumentasi berupa catatan perbaikan yang dijadikan sebagai referensi terhadap produk setelah dilakukan pengujian.
- Bekerja sama, berkolaborasi dengan tim internal agar menemukan solusi dalam pemecahan masalah yang dihadapi saat itu.
- Melakukan analisis terhadap keluhan konsumen dan ketidaksesuaian kualitas, selain itu juga mencari akar masalah serta tindakan penyelesaian yang sesuai dengan visi perusahaan.
E. Contoh Jenis Pekerjaan QA (tiap perusahaan berbeda)
- Software Tester
- Quality Analyst
- Quality Assurance
- Quality Assurance Engineer
- Software Development Engineer in Test (SDET)
- Test Architect
F. Contoh Level Pekerjaan (tiap perusahaan berbeda)
- Junior/Associate (0-2 tahun pengalaman)
- Senior (2-4 tahun pengalaman)
- Lead/Supervisor (4-6 tahun pengalaman)
- Senior Lead (6-8 tahun pengalaman)
- Manager/Head (8-11 tahun pengalaman)
- Senior Manager (14+ tahun pengalaman)
G. Beberapa Skills yang dibutuhkan seorang Quality Assurance
1. Analisa Perusahaan
Culture yang dibangun di setiap perusahaan tentu berbeda. Jadi seorang QA harus mampu memahami keadaan perusahaannya, pola kerja yang diterapkan, struktur organisasi, dan lain lain.
2. Pemahaman Produk dan Requirements
Dalam memastikan kualitas, QA harus memahami semua requirements produk yang dikembangkan, alur dan tujuan bisnis, serta siapa user yang akan menggunakan produk nya nanti. Sehingga QA juga bisa menjamin kepuasan pelanggan (customer satisfaction)
3. Structured Detail Oriented
QA harus mampu membuat rencana pengujian (test plan) yang rapi, detail dan terstruktur. Sehingga test plan tidak hanya bisa dipahami oleh dirinya sendiri, melainkan rekan QA yang lain, divisi lain, bahkan oleh end user.
4. Kreatif dan inovatif
Dalam melakukan pengujian, tak jarang seorang QA dituntut untuk melakukan hal diluar test plan. Hal ini dikarenakan QA harus menganalisa kemungkinan kecacatan pada produk. QA juga harus terus berinovasi mengambangkan pengetahuan guna dapat mengimplementasikan tools atau metode yang terbaik untuk perusahaannya.
5. Komunikasi dan Kerja Tim
Tidak ada QA yang bekerja sendiri. Umumnya, QA akan bekerja bersama tim QA, developer, project manager, product owner, UI/UX designer, dan business development. Sehingga kemampuan berkomunikasi yang baik dan semangat bekerja dalam tim sangat dibutuhkan.
6. Basic Programming
Selain melakukan pengujian di tampilan layar device (front end) tak jarang bahwa QA juga ditugaskan untuk melakukan pengujian di dalam database atau API (application program interface). Bahkan saat ini QA dituntut untuk bisa melakukan otomasi testing.
H. Testing
Testing itu sendiri merupakan salah satu bagian terpenting dari Quality Assurance. Testing adalah sebuah proses memvalidasi dan memverifikasi antara ekspektasi dengan hasil yang ditemui. Disinilah pentingnya seorang QA, sebab seorang QA akan proaktif memastikan bahwa sebelum suatu produk yang dikembangkan (software) sampai ke tangan end-user, produk tersebut memenuhi persyaratan-persyaratan dan standar kelayakan yang telah disepakati dan ditentukan.
I. Kesalahan Umum yang sering dilakukan QA
Walaupun pekerjaan QA terdengar simpel, tapi banyak kesalahan yang sering dilakukan seorang QA seperti:
- Tidak mempunyai test plan (rencana pengujian)
- Tidak memahami requirement dengan baik dan menyeluruh
- Membuat test cases yang tidak detail
- Hanya melakukan pengujian di satu browser
- Tidak menghapus cache browser sebelum memulai pengujian baru
- Puas dengan ilmu/tools yang ada, tidak mau explore belajar lagi
- Tidak membangun komunikasi yang baik dengan tim
Materi QA:
Komentar
Posting Komentar