Fredy Siswanto

QA

Sanity Testing API

8 April 2025 3 min read 0 Komentar
Sanity Testing - Panduan QA

Saat sistem backend mulai berkembang, testing bukan lagi soal “cek asal jalan”. Kamu butuh pendekatan cepat dan terstruktur untuk memastikan perubahan kecil tidak merusak fungsi penting. Di sinilah Sanity Testing API jadi senjata andalan QA.

Tapi testing bukan tugas QA sendiri—developer juga punya peran besar. Jadi, yuk bahas bagaimana QA dan Dev bisa bahu-membahu menjaga kualitas API, dimulai dari sanity testing hingga pembagian tugas yang jelas.

Apa Itu Sanity Testing API?

Sanity testing adalah jenis pengujian ringan dan cepat yang dilakukan untuk memastikan fungsi-fungsi utama API masih berjalan normal setelah perubahan kecil seperti bug fix atau minor update. mirip seperti smoke testing.

Ibaratnya, sanity test itu seperti “cek denyut nadi” API sebelum kamu masuk ke tes besar seperti functional atau regression.

Tujuan Sanity Testing API

  • Memastikan endpoint inti API tetap berfungsi
  • Menjadi filter cepat sebelum full regression dilakukan
  • Membuat planing untuk step testing berikutnya
  • Menolak melanjutkan testing bila ada error besar (bloking bug)

Contoh Sanity Testing pada API E-commerce

Misalnya kamu punya backend API e-commerce. Setelah update kecil (misal: perbaikan diskon), sanity testing bisa fokus ke:

EndpointTujuanEkspektasi
POST /loginCek login masih berfungsiStatus 200, ada access_token
GET /productsPastikan produk bisa diaksesStatus 200, berisi array produk
POST /checkoutCheckout tetap bisa diprosesStatus 200, pesan sukses

Checklist Sanity Testing API

  • Apakah user bisa login/logout?
  • Apakah list data utama muncul (produk, user, dsb)?
  • Apakah proses penting (create/update/delete) jalan?
  • Apakah response status dan struktur masih konsisten?
  • Apakah tidak ada error 500?

Tools untuk Sanity Testing API

ToolsKegunaan
PostmanManual testing dan run collection
NewmanRun Postman collection via CLI/CI
Thunder ClientAlternatif ringan dalam VS Code
Jest + SupertestTesting otomatis backend Node.js
Laravel Artisan TestTesting otomatis endpoint Laravel

Contoh Sanity Test Otomatis (Jest + Supertest )

note. template api testing Jest + Supertest

describe("Sanity Check API", () => {
  it("should login successfully", async () => {
    const res = await request(app).post("/api/login").send({
      email: "admin@mail.com",
      password: "123456"
    });
    expect(res.statusCode).toBe(200);
    expect(res.body).toHaveProperty("access_token");
  });

  it("should return products list", async () => {
    const res = await request(app).get("/api/products");
    expect(res.statusCode).toBe(200);
    expect(Array.isArray(res.body)).toBe(true);
  });
});

Pembagian Scope Testing: QA vs Developer

Untuk efisiensi kerja tim, penting banget bagi QA dan developer membagi tugas testing secara jelas:

Scope Developer: Unit & Integration Testing

Jenis TestContohTujuan
Unit TestingFungsi validasi emailCek kebenaran fungsi kecil di level kode
Integration TestingLogin → validasi → DB → JWTPastikan modul saling terhubung dengan baik
Middleware TestingAuth token, rate limitVerifikasi proses request secara berurutan

Scope QA: Sanity, Functional, Regression

Jenis TestContohTujuan
Sanity TestingLogin, ambil data, checkoutCek endpoint inti setelah update kecil
Functional TestingValidasi form, alur checkoutApakah fitur sesuai kebutuhan bisnis
Regression TestingTest ulang semua fitur lamaPastikan tidak ada fitur rusak karena update
Negative TestingInput tidak valid, token salahCek sistem menolak data yang salah

Kolaborasi QA & Dev: Biar Testing Makin Kuat

  • Test Case Sharing: QA dan Dev menyepakati skenario testing kritikal
  • Swagger & Mock API: QA bisa testing lebih awal meskipun backend belum final
  • Error Format Agreement: QA dan Dev sepakat format error JSON agar konsisten
  • Shared Postman Collection: Semua tim bisa jalankan sanity test yang sama

Prinsip Dasar QA–Dev Testing

Test di level yang tepat, oleh orang yang tepat.

  • Dev: Fokus cek logic kecil (unit test)
  • QA: Fokus cek flow pengguna dan fungsi bisnis
  • Keduanya: Komunikasi intens & saling support

🔍 Kesimpulan

Sanity Testing adalah pertahanan pertama untuk menjaga kualitas API tetap stabil saat terjadi perubahan. Dipadukan dengan pembagian tugas yang jelas antara QA dan developer, hasil testing akan:

  • Lebih cepat
  • Lebih fokus
  • Lebih andal dalam menemukan masalah besar sejak awal

0 Komentar

Tambahkan Komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *


Math Captcha
+ eighty eight = ninety one


Belum ada komentar.