Logo
HOMEABOUTPROJECTSBLOGCONTACT

Luthfi A. Pratama

Enterprise integration specialist building scalable, mission-critical solutions for modern businesses.

LINKS

  • About
  • Projects
  • Blog
  • Contact

CONNECT

GitHubLinkedInEmail

© 2026 Luthfi A. Pratama. All rights reserved.

Designed and built with passion.

Back to all articles
Quality Assurance & Testing

Learning QA Day 1 - Quality Assurance Fundamental

A comprehensive guide to Quality Assurance fundamentals covering testing principles, QA vs QC, test objectives, and the seven core testing principles.

Luthfi A. Pratama

Luthfi A. Pratama

Software Engineer

2024-03-02
5 min read
Learning QA Day 1 - Quality Assurance Fundamental

Quality Assurance Fundamental

Apa itu testing?

Testing adalah proses penting dalam pengembangan perangkat lunak yang bertujuan untuk mengidentifikasi kesalahan, cacat, atau kekurangan dalam sebuah sistem. Melalui pengujian, tim pengembang dapat memastikan bahwa perangkat lunak berfungsi sesuai dengan kebutuhan, menjaga kualitas, serta meningkatkan keandalan sistem secara keseluruhan. Dengan beragam metode dan pendekatan yang tersedia, pengujian memainkan peran kunci dalam memastikan bahwa produk akhir dapat memberikan nilai tambah kepada pengguna dan pemangku kepentingan lainnya.

Perbedaan QA & QC

Quality Control (QC)

QC adalah teknik yang Product Oriented. yaitu lebih berfokus pada apakah aplikasi sesuai dengan requirement, bebas dari bug, tidak memiliki cacat, serta sesuai dengan spesifikasi yang ditentukan.

Quality Assurance (QA)

QA adalah teknik yang Process Oriented. yaitu lebih berfokus pada bagaimana software itu bisa digunakan. apakah dalam proses pengembangannya telah menerapkan plan yang sesuai.

Test Objectives

  • Prevent Defects

Mencegah terjadinya defect yang mungkin akan terjadi

  • Find failure and defects

Menemukan dan mengidentifikasi defect atau failure seawal mungkin

  • Share information to stakeholders

Menyediakan informasi yang cukup untuk membantu stakeholder menentukan pilihan

  • Evaluate Work

Bahan evaluasi apakah produk sesuai requirement, user stories, atau hal-hal lainnya

  • Verify requirement

Memastikan produk sesuai dengan requirement yang telah ditentukan

  • Validate test object

Memastikan test yang akan dilakukan sudah sesuai dengan requirement

  • Build confidence

Memastikan aplikasi yang telah dibuat itu meyakinkan untuk di release atau tidak

  • Reduce risk

Menganalisis resiko sehingga dapat menanggulangi kemungkinan resiko yang besar

Perbedaan Debugging VS Testing

Testing Debugging
Objective menemukan bug atau error memperbaiki error selama proses testing
Performed By Tester atau Developer Developer
Automation Manual/Otomatis Manual
Programming Knowledge kebanyakan tidak memerlukan kemampuan programming Membutuhkan kemampuan programming yang sesuai

7 Testing Principles

  • Testing show presence of defect

testing dapat menunjukan adanya cacat, tidak dapat membuktikan tidak adanya cacat. testing membantu dalam menemukan cacat yang belum ditemukan

  • early testing

mulai testing sesegera mungkin. menemukan kerusakan sejak dini dapat menghemat banyak uang daripada menemukan nanti

  • testing - context dependent

testing bergantung pada konteks aplikasinya. pendekatan testing untuk aplikasi e-commerce berbeda dengan aplikasi medical device atau sistem perbankan. setiap domain punya risiko, regulasi, dan prioritas yang berbeda sehingga strategi testing harus disesuaikan

  • Exhautive testing is impossible

Mustahil menguji semua kemungkinan kombinasi input data dan skenario. cara pengujian yang lebih cerdas harus diadopsi

  • Defect Clustering

Distribusi bug yang sama di seluruh modul tidak memungkinkan. cacat dapat dikelompokkan dalam potongan kecil kode/modul

  • Pesticide paradox

Mengeksekusi kasus pengujian yang sama berulang kali tidak akan membantu mengidentifikasi lebih banyak bug. tinjau secara teratur dan modifikasi jika diperlukan perubahan

  • absence-of-error fallacy

menemukan dan memperbaiki banyak bug tidak akan membantu apalabila gagal memenuhi kebutuhan pengguna, itu sama saja tidak berguna

Topics

Quality Assurance & TestingSoftware Engineering

Related Articles

OAuth 2.0 & OpenID Connect: Gimana "Login dengan Google" Itu Bekerja

Catatan pembelajaran tentang OAuth 2.0 dan OpenID Connect - dari kenapa kita butuh authorization framework, Authorization Code Flow step-by-step, PKCE, ID token vs access token, sampai common mistakes di production.

Caching: Kenapa Sistem Cepat Itu Sistem yang Males Ngitung Ulang

Catatan pembelajaran tentang caching - dari kenapa cache itu penting, strategi caching, Redis vs Memcached, cache invalidation, CDN, sampai pitfalls yang sering kejadian di production.

Clustering: Gimana Banyak Server Kerja Bareng Jadi Satu Sistem

Catatan pembelajaran tentang konsep clustering - dari kenapa satu server ga cukup, gimana cluster milih leader, sampai consensus algorithm dan real-world implementations.