Piramida Testing

March 21, 2023

Metode ini merupakan salah satu Framework dalam melakukan pengujian, dimana akan memberikan tingkat confidence yang solid karena dimulai dari dasar unit hingga test yang rumit

Unit Test

Seperti namanya "piramida", test harus berat di bawah dan ringan di atas.

Pondasi utamanya merupakan "unit test" -> nah ini tergantung dari Team Engineering, biasanya unit test ditulis oleh developer & tetapi di lain perusahaan ada juga yg tim QA/SDET menulis unit test

Di dalam unit test, test berfungsi sebagai coverage logic.. harapannya disini semakin banyak unit test yg di uji, pondasi akan semakin kuat.

integration Test

Selanjutnya di lapisan tengah terdapat "integrasi test" -> disini mulai lah melakukan e2e tapi dari sisi Backend/ Belakang layar, tujuannya disini test berfungsi untuk menyaring hal yang memang tidak tercover oleh logic / bisnis flow

Terkadang, unit test sudah maksimal.. tetapi ketika integrasinya sudah kompleks & mungkin ada "API" yg legacy, ini bisa jadi masalah yang kelihatan aman di Database tetapi kenyataanya adalah bug yang sangat sulit di reproducible.

Tentunya dalam integration test, test yang di buat harus sesuai E2E tapi dengan berbagai kondisi yang kompleks dan umumnya tidak akan sebanyak unit test.

UI Test

Lapisan paling tinggi ini adalah test yang memakan banyak biaya dan waktu, dimana jika ada bug perbaikannya akan sangat mahal.

UI Test pada umumnya berisi E2E user journey, bisa sifatnya negative ataupun positive. Karena test di level ini sangat sulit & memakan waktu yg lama, alangkah baiknya dalam membuat test case dan scenario nya pun harus se efektif mungkin.

Terkadang dalam sebuah scenario UI test, kita perlu melakukan teardown dengan bantuan Integration test. Hal ini sah saja asalkan coverage yang diberikan sesuai dengan tujuan.

Conclusion

Piramida Testing bukanlah sebuah teori belaka, namun merupakan sebuah gagasan ide yang solid. kita dapat menerapkan dalam menentukan test sebaiknya dilakukan pada level mana yang benefitnya akan menambah tingkat confidence saat rilis.