Aplikasi Anda dilengkapi dengan bukti
Kliv menulis pengujian nyata untuk aplikasi yang dibuatnya — dan menjalankannya di browser nyata, terhadap salinan database Anda yang sekali pakai, dengan tanda terima untuk setiap efek samping. Loop yang sama yang menulis aplikasi Anda juga menulis pengujiannya dan membuatnya lulus.
Pengujian bawaan
Tidak menghasilkan kode dan semoga saja
Sebagian besar pembuat AI membuat aplikasi lalu menyerahkannya — apakah aplikasi itu benar-benar berfungsi atau tidak menjadi masalah Anda. Kliv memiliki seluruh stack tempat aplikasi dijalankan: browser, API, aturan keamanan, database, saluran email. Itulah yang membuat pembuktian mungkin. Pengujian bukan sesuatu yang Anda lakukan nanti; pengujian adalah bagian dari cara aplikasi dibuat, dijalankan oleh loop yang sama yang menulis kode.
Anatomi proses
Cara terbaik untuk memahami sistem pengujian adalah dengan mengikuti proses mulai dari baris pertama hingga putusan. Inilah yang terjadi — dan apa yang tidak pernah menyentuh data Anda yang sebenarnya.
Menulis
AI menulis pengujian unit saat membangun — Vitest dan Testing Library asli, stack standar industri, bukan tiruan milik vendor. Minta sebuah alur dicakup dan AI menulis Scenario: navigasi, klik, isi, tegaskan, dalam istilah semantik — tombol berdasarkan namanya, bidang berdasarkan labelnya — bukan jalur CSS rapuh yang mati pada desain ulang berikutnya.
Jalankan di browser nyata
Pengujian dijalankan di browser nyata terhadap aplikasi Anda yang sebenarnya — rendering nyata, login nyata, keamanan tingkat baris nyata. Tidak ada hal yang lebih penting dari ini: jika perubahan izin memungkinkan satu pengguna membaca data orang lain, pengujian akan gagal seperti yang terjadi pada aplikasi Anda.
Fork database
Sebelum Scenario menyentuh data, ia mendapat fork sekali pakai dari database Anda — skema yang sama, aturan yang sama, tanpa membahayakan baris asli Anda. Membuat, mengedit, dan menghapus berjalan nyata dan berakhir di fork; file dan status commerce Anda dikloning dengan cara yang sama. Saat proses berakhir, fork dibuang.
Tangkap keluaran
Email, webhook, dan panggilan pihak ketiga ditangkap, bukan benar-benar dikirim. Pengujian dapat menegaskan bahwa email selamat datang akan dikirim, kepada siapa, dan dengan isi apa — tanpa ada email yang keluar. Integrasi Anda tetap diam saat logika Anda dijalankan.
Tanda terima
Setiap proses mencatat apa yang sebenarnya dilakukan aplikasi: baris mana yang ditulis, email mana yang akan dikirim, panggilan eksternal mana yang dicoba — masing-masing ditandai sebagai diterima, ditangkap, atau ditolak, dengan alasan terlampir, hingga aturan keamanan yang memblokir penulisan. Bukan hanya merah atau hijau: apa yang terjadi dan mengapa.
Putusannya
Hasil muncul per cek dan per file — assertion yang gagal, langkah yang gagal, berdampingan dengan tanda terima proses. Kegagalan terstruktur adalah intinya: itulah yang memungkinkan loop yang sama yang menulis kode menemukan kesalahannya, memperbaikinya, dan menjalankannya lagi.
Gerbang
Hasil pengujian menggate publikasi. Scenario yang gagal menghentikan rilis sebelum mencapai pengguna Anda — sehingga “berfungsi saat kami membuatnya” menjadi “berfungsi sekarang”, diverifikasi pada setiap perubahan, bukan diingat dari demo.
Yang bisa dilakukan sistem pengujian
Terintegrasi, dijalankan untuk Anda, dan dapat dibaca saat Anda ingin melihatnya.
Stack pengujian sebenarnya
Vitest, Testing Library, dan Playwright asli yang berjalan di browser — alat yang sama yang dipakai tim profesional, sehingga pengujian terbaca seperti pengujian, bukan dialek vendor.
Tes Scenario
Alur end-to-end ditulis dalam istilah semantik — temukan tombol berdasarkan perannya, bidang berdasarkan labelnya — mendorong aplikasi sebenarnya seperti yang dilakukan pengguna.
Basis data sekali pakai
Setiap Scenario dijalankan pada fork dari database Anda yang sebenarnya. Penulisan diterima, ditegaskan, dan dibuang — data Anda tidak pernah menjadi bagian dari eksperimen.
Tidak ada yang bocor
Proses pengujian menangkap panggilan email, webhook, dan konektor alih-alih mengirimkannya — Anda dapat membuktikan bahwa semuanya terjadi tanpa benar-benar terjadi.
Setiap proses memiliki tanda terima
Buku besar dari setiap efek samping yang disebabkan oleh pengujian — diterima, ditangkap, atau ditolak, beserta alasannya. Jejaknya, bukan sekadar lampu merah atau hijau.
Riwayat dan gate
Proses dilacak dari waktu ke waktu, dan pengujian yang lulus menggate publikasi — verifikasi adalah status aplikasi Anda, bukan peristiwa satu kali.
Pertanyaan umum
Siapa yang menulis tes?
AI menulisnya saat membangun — pengujian unit secara default, dalam stack standar. Minta sebuah alur dicakup dan AI menulis Scenario untuk alur itu. Setiap pengujian adalah kode yang dapat dibaca di aplikasi Anda; Anda dapat memeriksanya, tetapi tidak harus.
Apakah tes menyentuh data saya yang sebenarnya?
Tidak. Scenario dijalankan pada fork sekali pakai di database Anda — penulisan diterima di sana dan dibuang bersama fork saat proses berakhir. File dan status commerce dikloning dengan cara yang sama, sehingga bahkan pengujian yang menghapus semuanya tidak akan menghapus apa pun.
Akankah tes mengirimkan email asli atau mengenai integrasi saya?
Tidak — lalu lintas keluar ditangkap, bukan dikirim. Proses tersebut mencatat bahwa email tersebut akan dikirim, kepada siapa dan dengan apa, dan pengujian dapat menegaskannya. Pelanggan Anda dan alat Anda yang terhubung tidak pernah melihat pengujian.
Apa yang saya lihat ketika tes gagal?
Hasil per cek — file, assertion yang gagal, langkah yang gagal — ditambah tanda terima efek samping yang terjadi, dengan alasan masing-masing diizinkan atau ditolak. Struktur itulah yang memungkinkan AI mendiagnosis kesalahannya sendiri dan memperbaikinya, bukan menebak-nebak dari tangkapan layar.
Apakah pengujian menerapkan aturan keamanan saya?
Ya — Scenario dijalankan dengan login nyata terhadap aturan tingkat baris nyata, bukan sesi tiruan. Jika perubahan memungkinkan pengguna melihat data yang bukan miliknya, pengujian akan gagal sebelum pengguna dapat melihatnya.
Bisakah pengujian yang gagal memblokir rilis?
Ya. Putusan Scenario menggate publikasi — tanda merah menghentikan rilis sampai hijau lagi. Gate itu membedakan berharap perubahan terakhir aman dari mengetahui bahwa perubahan sudah diperiksa.
Jelaskan aplikasi Anda. Buktikan.
Bawaan berarti dibangun bersama: pengujian dijalankan terhadap aplikasi yang sama yang dilihat pengguna Anda — jadi pengujian checkout yang gagal adalah pengujian yang gagal, bukan tiruan.