Apa Itu Keploy? Pengujian API Rekam dan Putar Ulang

Apa itu Keploy? Pelajari bagaimana mesin rekam-dan-putar ulang eBPF-nya secara otomatis menghasilkan tes API dan mock, perintah keploy record dan test, serta batasan-batasan sebenarnya.

Ashley Goolam

Ashley Goolam

17 June 2026

Apa Itu Keploy? Pengujian API Rekam dan Putar Ulang

Apidog untuk Perusahaan

Penerapan On-Premises

SSO & RBAC

Sesuai SOC 2

Jelajahi Apidog Enterprise

Jika Anda mencari cara untuk mendapatkan pengujian API tanpa menuliskannya secara manual, Anda mungkin pernah menemukan Keploy. Keploy menjanjikan sesuatu yang terdengar terlalu nyaman: arahkan ke aplikasi Anda yang sedang berjalan, biarkan ia mengamati lalu lintas nyata, dan Anda akan mendapatkan suite pengujian. Jadi, apa sebenarnya yang dilakukan Keploy di balik layar, dan di mana posisinya dalam tumpukan pengujian Anda?

Panduan ini menjelaskan apa itu Keploy, bagaimana mesin rekam-dan-putar-ulangnya bekerja pada lapisan jaringan eBPF, dua alur kerja yang ditawarkannya, cara menginstal dan menjalankannya, serta batasan jujur yang harus Anda ketahui sebelum mengadopsinya.

button

Apa itu Keploy

Keploy adalah platform sumber terbuka (berlisensi Apache-2.0) untuk membuat sandbox produksi yang aman dan terisolasi untuk pengujian API, integrasi, dan end-to-end. Ide intinya adalah bahwa aplikasi nyata Anda sudah menunjukkan perilaku yang ingin Anda uji. Daripada meminta Anda untuk mendeskripsikan perilaku tersebut dalam kode pengujian, Keploy mengamatinya dan mengubahnya menjadi pengujian yang dapat direproduksi.

Ini memberikan dua cara untuk melakukannya:

  1. Rekam dan putar ulang menangkap interaksi API nyata dan dependensinya, lalu memutarnya ulang secara deterministik.
  2. Generasi pengujian AI membangun suite pengujian API yang divalidasi dari spesifikasi, koleksi, perintah cURL, atau endpoint langsung.

Keduanya menghasilkan pengujian yang dapat dijalankan ditambah mocks yang diperlukan untuk menjalankannya tanpa mengenai dependensi langsung. Proyek ini adalah sumber terbuka, sehingga Anda dapat membaca kodenya dan menghostingnya sendiri. Repositori tersebut berada di github.com/keploy/keploy, dan dokumen resminya ada di keploy.io/docs.

Bagaimana Keploy merekam bekerja pada lapisan eBPF

Inilah bagian yang membuat Keploy berbeda. Ketika Anda menjalankan keploy record, ia tidak meminta Anda untuk menambahkan SDK atau mengubah satu baris pun kode aplikasi Anda. Ia menangkap lalu lintas pada lapisan jaringan menggunakan eBPF, sebuah teknologi kernel Linux yang memungkinkan program mengamati dan bertindak atas peristiwa sistem dengan aman.

Inilah manfaatnya dalam praktik:

Poin terakhir itu penting. Ketika Keploy merekam permintaan, ia menangkap gambaran lengkapnya: permintaan API, respons API, dan setiap panggilan dependensi yang terjadi di antaranya. Kemudian ia menulis dua artefak dari satu interaksi yang diamati tersebut:

Pemutaran ulang menutup lingkaran. Ketika Anda menjalankan keploy test, ia mengirimkan permintaan yang direkam kembali ke aplikasi Anda, menyajikan respons dependensi yang ditangkap dari mocks yang dihasilkan, dan membandingkan respons baru dengan yang direkam. Ketidakcocokan berarti ada sesuatu yang berubah. Inilah mengapa pendekatan ini disebut rekam dan putar ulang: Anda merekam perilaku runtime nyata sekali, lalu memutarnya ulang secara deterministik sebagai pengujian regresi pada setiap perubahan.

Dua alur kerja Keploy

Rekam dan putar ulang

Gunakan ini ketika Anda sudah memiliki aplikasi yang berfungsi dan ingin cakupan regresi yang cepat. Anda menjalankan aplikasi di bawah Keploy, melatihnya seperti yang akan dilakukan pengguna atau klien sungguhan (panggilan manual, pengujian integrasi yang ada, atau lalu lintas langsung), dan Keploy menyimpan setiap interaksi sebagai pengujian plus mocks-nya. Jalankan selanjutnya memutar ulang interaksi tersebut dan menandai penyimpangan perilaku apa pun.

Generasi pengujian AI

Gunakan ini ketika Anda menginginkan cakupan yang lebih luas daripada yang dihasilkan oleh latihan manual Anda, atau ketika Anda memulai dari kontrak daripada alur yang berjalan. Keploy dapat menghasilkan suite pengujian API yang divalidasi dari spesifikasi OpenAPI, koleksi Postman, perintah cURL, atau endpoint langsung. Ia mem-mock dependensi secara otomatis dan menjalankan langkah pembersihan otomatis sehingga Anda tidak ditinggalkan dengan kasus yang berlebihan.

Kedua alur kerja ini saling melengkapi. Rekam dan putar ulang menambatkan pengujian dalam perilaku nyata yang diamati; generasi pengujian AI mengisi celah dari spesifikasi Anda. Jika Anda mengevaluasi alat yang menghasilkan pengujian dari skema, rangkuman kami tentang generator kasus uji AI terbaik dan panduan untuk menghasilkan skrip pengujian dari OpenAPI adalah teman yang baik.

Menginstal Keploy

Keploy menyediakan skrip instalasi. Pada sistem yang didukung Anda menjalankan:

curl --silent -O -L https://keploy.io/install.sh && source install.sh

Itu mengambil biner dan menyiapkan perintah keploy. Dari sana Anda menjalankan semuanya melalui dua perintah.

Perintah inti Keploy

Ada dua perintah yang paling sering Anda gunakan. Yang pertama untuk merekam:

keploy record -c "CMD_TO_RUN_APP"

Anda meneruskan perintah persis yang memulai aplikasi Anda melalui -c. Keploy meluncurkan aplikasi Anda, mengamati lalu lintas saat Anda melatihnya, dan menyimpan kasus uji serta mocks yang ditangkap.

Yang kedua untuk memutar ulang:

keploy test -c "CMD_TO_RUN_APP" --delay 10

Flag --delay 10 memberi tahu Keploy untuk menunggu sepuluh detik sebelum mulai mengirim permintaan yang direkam, yang memberikan waktu yang cukup bagi layanan yang lebih lambat untuk menyelesaikan booting sebelum pemutaran ulang dimulai. Jika aplikasi Anda membutuhkan waktu lebih lama untuk menyala, naikkan angkanya; jika ia booting cepat, Anda bisa menurunkannya.

Sesi pertama yang umum terlihat seperti ini:

# 1. Rekam saat Anda menguji API Anda
keploy record -c "node server.js"

# 2. Putar ulang kasus yang ditangkap dan periksa penyimpangan
keploy test -c "node server.js" --delay 10

Itulah seluruh siklusnya. Rekam sekali terhadap build yang sudah teruji, lalu jalankan keploy test di CI pada setiap perubahan.

Bahasa, protokol, dan datastore yang didukung

Karena penangkapan terjadi pada lapisan jaringan, Keploy mencakup permukaan yang luas:

Kategori Didukung
Bahasa Go, Java, Node.js, Python, Rust, C#, C/C++, TypeScript, dan lainnya
Protokol HTTP/REST, gRPC, GraphQL, Kafka, RabbitMQ
Datastore PostgreSQL, MySQL, MongoDB, Redis

Keluasan ini adalah konsekuensi langsung dari desain eBPF. Keploy membaca percakapan jaringan, jadi bahasa atau kerangka kerja baru tidak memerlukan plugin baru selama ia berbicara salah satu protokol ini.

Menjalankan Keploy di CI

Kedua perintah dibangun untuk otomatisasi. Dalam sebuah pipeline, Anda menyimpan kasus uji dan mocks yang direkam bersama dengan kode Anda, lalu menjalankan keploy test -c "..." sebagai langkah. Karena mocks menggantikan dependensi nyata, pemutaran ulang tidak memerlukan basis data langsung atau layanan downstream di runner CI, yang menjaga pekerjaan tetap cepat dan deterministik. Pemutaran ulang yang gagal akan menggagalkan build, sama seperti pengujian unit.

Batasan jujur yang perlu dipertimbangkan

Keploy kuat dalam apa yang dilakukannya, tetapi tidak cocok untuk setiap situasi. Penilaian yang adil mencakup kompromi-kompromi berikut:

Tak satu pun dari ini adalah celaan terhadap Keploy. Itu adalah batasan alami dari kategorinya. Mengetahuinya membantu Anda memutuskan apakah itu memecahkan masalah Anda atau hanya sebagian darinya.

Di mana Apidog cocok sebagai alternatif pengujian yang dirancang

Jika kebutuhan Anda lebih luas daripada "mengubah lalu lintas yang diamati menjadi pengujian regresi", ada baiknya melihat platform siklus hidup lengkap. Apidog adalah platform API all-in-one yang mencakup desain, debugging, mocking, dokumentasi, dan pengujian di satu tempat. Perbedaan filosofi adalah hal utama yang perlu dipahami, karena Apidog dan Keploy berada dalam kategori yang berbeda.

Keploy menangkap dan memutar ulang perilaku runtime nyata, termasuk mock dependensi, tanpa kode. Apidog mengambil jalur yang berlawanan: Anda mendesain dan membuat skenario pengujian yang mudah dipelihara, lalu menjalankannya dari terminal dan CI dengan Apidog CLI. CLI menjalankan koleksi yang Anda buat dengan pengujian berbasis data melalui CSV atau JSON, pergantian lingkungan, dan laporan CLI, HTML, dan JSON. Apidog juga menawarkan generasi kasus uji AI dari skema dan endpoint API Anda, yang dibuat di dalam aplikasi, di sinilah kedua alat ini tumpang tindih.

Untuk memperjelas batasannya: Apidog tidak menangkap lalu lintas langsung melalui eBPF, dan tidak secara otomatis menghasilkan pengujian dengan merekam panggilan produksi ditambah mock dependensi. Kemampuan merekam dari lalu lintas nyata itu benar-benar milik Keploy. Pembingkaian yang jujur adalah bahwa Anda memilih berdasarkan tugasnya. Pilih Keploy ketika Anda menginginkan penangkapan dan pemutaran ulang runtime tanpa kode. Pilih Apidog ketika Anda menginginkan suite pengujian yang dirancang dan mudah dipelihara di dalam platform yang juga menangani sisa siklus hidup API. Untuk perbandingan yang lebih mendalam, lihat Apidog vs Keploy, dan jika Anda telah memutuskan untuk beralih, panduan migrasi mencakup pemindahan pengujian Anda.

Jika pengujian API yang mudah dipelihara dan dibuat adalah yang Anda cari, Anda dapat mengunduh Apidog dan memulai dengan panduan menguji API dengan Apidog.

Pertanyaan yang Sering Diajukan

Apakah Keploy gratis dan sumber terbuka? Ya. Keploy adalah sumber terbuka di bawah lisensi Apache-2.0, dan kodenya ada di GitHub. Anda dapat menghostingnya sendiri.

Apakah Keploy memerlukan perubahan pada kode aplikasi saya? Tidak. Alur kerja rekam-dan-putar-ulang menangkap lalu lintas pada lapisan jaringan eBPF, jadi tidak ada SDK yang perlu ditambahkan dan tidak ada perubahan kode. Itulah mengapa ia berfungsi di banyak bahasa.

Apa yang dilakukan flag --delay di keploy test? Ini menetapkan berapa detik Keploy menunggu sebelum mengirim permintaan yang direkam, memberikan waktu kepada aplikasi Anda untuk booting. --delay 10 menunggu sepuluh detik; naikkan untuk layanan yang lambat memulai.

Bisakah Keploy mem-mock database saya selama pengujian? Ya. Ketika merekam interaksi, ia juga menangkap panggilan dependensi (seperti kueri database) dan menulis mocks untuknya, sehingga pemutaran ulang berjalan tanpa database langsung.

Apakah Keploy pengganti alat desain dan dokumentasi API? Tidak. Keploy adalah alat pengujian dan generasi pengujian. Untuk desain API, dokumentasi, mocking untuk konsumen, dan kolaborasi bersama pengujian, platform siklus hidup lengkap seperti Apidog lebih cocok.

Versi singkatnya

Keploy adalah alat sumber terbuka yang mengubah perilaku API nyata menjadi pengujian. Mesin rekam-dan-putar-ulangnya menggunakan eBPF untuk menangkap permintaan, respons, dan panggilan dependensi pada lapisan jaringan tanpa perubahan kode, lalu memutarnya ulang sebagai pengujian regresi deterministik. Generasi pengujian AI-nya membangun suite dari spesifikasi atau endpoint. Cepat untuk diadopsi dan agnostik bahasa, dengan kompromi model penangkapan yang cenderung ke Linux, pengujian yang perlu ditinjau, dan cakupan yang terbatas pada pengujian. Jika Anda menginginkan suite pengujian yang dibuat dan mudah dipelihara di dalam platform API yang lengkap, Apidog adalah alternatif yang perlu dibandingkan dengannya.

button

Mengembangkan API dengan Apidog

Apidog adalah alat pengembangan API yang membantu Anda mengembangkan API dengan lebih mudah dan efisien.