แอปของคุณมาพร้อมกับหลักฐาน
Kliv เขียนการทดสอบจริงสำหรับแอปที่มันสร้าง — และรันการทดสอบเหล่านั้นในเบราว์เซอร์จริง เทียบกับสำเนาฐานข้อมูลของคุณแบบใช้แล้วทิ้ง พร้อมใบเสร็จรับเงินสำหรับผลข้างเคียงทั้งหมด ลูปเดียวกันกับที่เขียนแอปของคุณเขียนการทดสอบและทำให้เป็นสีเขียว
การทดสอบในตัว
ไม่ได้สร้างโค้ดและไขว้นิ้ว
ผู้สร้าง AI ส่วนใหญ่สร้างแอปและส่งต่อ ไม่ว่าแอปจะใช้งานได้จริงหรือไม่ก็ตามคือปัญหาของคุณ Kliv เป็นเจ้าของสแตกทั้งหมดที่แอปทำงาน: เบราว์เซอร์, API, กฎความปลอดภัย, ฐานข้อมูล, ไปป์ไลน์อีเมล นั่นคือสิ่งที่ทำให้การพิสูจน์เป็นไปได้ การทดสอบไม่ใช่สิ่งที่คุณต้องทำในภายหลัง มันเป็นส่วนหนึ่งของวิธีการสร้างแอป ดำเนินการโดยวนซ้ำเดียวกันกับที่เขียนโค้ด
กายวิภาคของการวิ่ง
วิธีที่ดีที่สุดในการทำความเข้าใจระบบการทดสอบคือการติดตามหนึ่งครั้งตั้งแต่บรรทัดแรกจนถึงคำตัดสิน นี่คือสิ่งที่เกิดขึ้น และสิ่งที่ไม่เคยแตะต้องข้อมูลจริงของคุณ
เขียน
AI เขียนการทดสอบหน่วยในขณะที่สร้าง — Vitest และ Testing Library ของแท้ ซึ่งเป็นสแต็กมาตรฐานอุตสาหกรรม ไม่ใช่ของเลียนแบบที่มีกรรมสิทธิ์ ขอให้ครอบคลุมโฟลว์และมันจะเขียน Scenario: นำทาง คลิก เติม ยืนยัน ในแง่ความหมาย — ปุ่มตามชื่อ ฟิลด์ตามป้ายกำกับ — ไม่ใช่เส้นทาง CSS ที่เปราะซึ่งจะตายในการออกแบบใหม่ครั้งถัดไป
ทำงานในเบราว์เซอร์จริง
การทดสอบดำเนินการในเบราว์เซอร์จริงกับแอปจริงของคุณ — การเรนเดอร์จริง การลงชื่อเข้าใช้จริง การรักษาความปลอดภัยระดับแถวจริง ไม่มีการล้อเลียนที่สำคัญ: หากการเปลี่ยนแปลงสิทธิ์อนุญาตให้ผู้ใช้รายหนึ่งอ่านข้อมูลของผู้อื่น การทดสอบจะล้มเหลวในแบบที่แอปของคุณจะทำ
แยกฐานข้อมูล
ก่อนที่ Scenario จะสัมผัสข้อมูล ระบบจะแยกฐานข้อมูลของคุณแบบใช้แล้วทิ้ง — สคีมาเดียวกัน กฎเดียวกัน ไม่มีแถวใดของคุณที่มีความเสี่ยง สร้าง แก้ไข และลบการดำเนินการจริงและลงจอดบนทางแยก ไฟล์และสถานะการค้าของคุณถูกโคลนในลักษณะเดียวกัน เมื่อการวิ่งสิ้นสุดลง ส้อมก็จะถูกโยนทิ้งไป
จับทางออก
อีเมล เว็บฮุค และการโทรของบุคคลที่สามจะถูกบันทึก ไม่ใช่เริ่มทำงาน การทดสอบสามารถยืนยันได้ว่าอีเมลต้อนรับถูกส่งออกไป ใคร ทำอะไร และไม่มีอีเมลใดหลุดออกจากอาคารเลย การผสานรวมของคุณเงียบในขณะที่ตรรกะของคุณได้รับการปฏิบัติ
ใบเสร็จรับเงิน
การดำเนินการทุกครั้งจะบันทึกสิ่งที่แอปทำจริง: แถวไหนที่เขียน อีเมลใดที่จะส่ง สายภายนอกที่พยายาม — แต่ละสายทำเครื่องหมายว่ายอมรับ ถูกบันทึก หรือปฏิเสธ โดยแนบเหตุผลลงไปที่กฎความปลอดภัยที่บล็อกการเขียน ไม่ใช่แค่สีแดงหรือสีเขียว: เกิดอะไรขึ้น และทำไม
คำตัดสิน
ผลลัพธ์ที่ได้กลับมาต่อเช็ค ต่อไฟล์ — การยืนยันที่ล้มเหลว ขั้นตอนที่ล้มเหลว ควบคู่ไปกับใบเสร็จรับเงินของการเรียกใช้ ความล้มเหลวที่มีโครงสร้างคือประเด็น: มันคือสิ่งที่ทำให้ลูปเดิมที่เขียนโค้ดค้นหาข้อผิดพลาด แก้ไข และรันอีกครั้ง
ประตู
ผลการทดสอบเป็นเกตก่อนเผยแพร่ Scenario ที่ล้มเหลวจะหยุด release ก่อนถึงผู้ใช้ของคุณ ดังนั้น “มันใช้ได้ตอนเราสร้าง” จึงกลายเป็น “มันใช้ได้ตอนนี้” และถูกตรวจซ้ำทุกครั้งที่เปลี่ยน ไม่ใช่จำจากเดโม
สิ่งที่ระบบทดสอบรู้ว่าต้องทำอย่างไร
ติดตั้งมาในตัว ใช้งานได้สำหรับคุณ และอ่านได้เมื่อคุณต้องการดู
กองทดสอบจริง
Vitest, Testing Library และ jest-dom ของแท้ทำงานในเบราว์เซอร์ — เครื่องมือแบบเดียวกับที่ทีมงานมืออาชีพใช้ ดังนั้นการทดสอบจึงอ่านเหมือนการทดสอบ ไม่ใช่ภาษาถิ่นของผู้ขาย
การทดสอบ Scenario
โฟลว์จากต้นทางถึงปลายทางที่เขียนด้วยความหมาย — ค้นหาปุ่มตามบทบาท ฟิลด์ตามป้ายกำกับ — ขับเคลื่อนแอปจริงในแบบที่ผู้ใช้ทำ
ฐานข้อมูลแบบใช้แล้วทิ้ง
Scenario ทุกตัวทำงานโดยแยกจากฐานข้อมูลจริงของคุณ การเขียนได้รับการยอมรับ ยืนยัน และละทิ้ง ข้อมูลของคุณจะไม่เป็นส่วนหนึ่งของการทดสอบ
ไม่มีอะไรรั่วไหล
ทดสอบเรียกใช้การจับอีเมล webhooks และการโทรของตัวเชื่อมต่อแทนที่จะส่ง คุณสามารถพิสูจน์ได้ว่าเกิดขึ้นโดยไม่เกิดขึ้น
ทุกการวิ่งมีใบเสร็จรับเงิน
บัญชีแยกประเภทของผลข้างเคียงทุกประการที่เกิดจากการทดสอบ ยอมรับ จับ หรือปฏิเสธ พร้อมเหตุผล ร่องรอย ไม่ใช่แค่สัญญาณไฟจราจร
ประวัติศาสตร์และประตู
การรันจะถูกติดตามเมื่อเวลาผ่านไป และการทดสอบที่ผ่านการทดสอบการเผยแพร่ - การยืนยันถือเป็นสถานะที่คงอยู่ของแอปของคุณ ไม่ใช่เหตุการณ์ที่เกิดขึ้นเพียงครั้งเดียว
คำถามทั่วไป
ใครเป็นคนเขียนแบบทดสอบ?
AI ทำการทดสอบหน่วยตามค่าเริ่มต้นในสแต็กมาตรฐานในขณะที่สร้าง ขอให้ครอบคลุมโฟลว์และมันจะเขียน Scenario ให้ การทดสอบทุกครั้งเป็นโค้ดที่อ่านได้ในแอปของคุณ คุณสามารถตรวจสอบสิ่งใดๆ ก็ได้ และคุณไม่จำเป็นต้องตรวจสอบเลย
การทดสอบสัมผัสกับข้อมูลจริงของฉันหรือไม่?
ไม่ สถานการณ์จำลองทำงานกับทางแยกของฐานข้อมูลของคุณแบบใช้แล้วทิ้ง - การเขียนจะได้รับการยอมรับที่นั่นและจะถูกโยนทิ้งไปพร้อมกับทางแยกเมื่อการรันสิ้นสุดลง สถานะไฟล์และการค้าจะถูกโคลนในลักษณะเดียวกัน ดังนั้นแม้แต่การทดสอบที่ลบทุกอย่างก็ไม่ลบอะไรเลย
การทดสอบจะส่งอีเมลจริงหรือกระทบการผสานรวมของฉันหรือไม่
ไม่ — การรับส่งข้อมูลขาออกถูกบันทึก ไม่ได้ส่ง การดำเนินการบันทึกว่าอีเมลจะถูกส่งไปยังใครและด้วยอะไร และการทดสอบสามารถยืนยันได้ ลูกค้าของคุณและเครื่องมือที่เชื่อมต่อของคุณจะไม่เคยเห็นการทดสอบเลย
ฉันจะเห็นอะไรเมื่อการทดสอบล้มเหลว
ผลลัพธ์ต่อการตรวจสอบ — ไฟล์ การตรวจสอบ การยืนยันที่ล้มเหลว — บวกกับการรับผลข้างเคียงของการดำเนินการพร้อมเหตุผลที่อนุญาตหรือปฏิเสธแต่ละรายการ โครงสร้างนั้นคือสิ่งที่ช่วยให้ AI วินิจฉัยข้อผิดพลาดของตัวเองและแก้ไขได้ แทนที่จะคาดเดาจากภาพหน้าจอ
การทดสอบใช้กฎความปลอดภัยของฉันหรือไม่
ใช่ — สถานการณ์จำลองทำงานด้วยการลงชื่อเข้าใช้จริงโดยเทียบกับกฎระดับแถวจริง ไม่ใช่เซสชันจำลอง หากการเปลี่ยนแปลงทำให้ผู้ใช้เห็นข้อมูลที่ไม่ใช่ของตน การทดสอบจะล้มเหลวก่อนที่ผู้ใช้จะสามารถทำได้
การทดสอบที่ล้มเหลวสามารถบล็อกการเผยแพร่ได้หรือไม่
ใช่. Scenario ตัดสินการเผยแพร่ประตู - การรันสีแดงจะหยุดการเปิดตัวจนกว่าจะเป็นสีเขียวอีกครั้ง ประตูคือความแตกต่างระหว่างการหวังว่าการเปลี่ยนแปลงครั้งล่าสุดจะปลอดภัยกับการรู้ว่ามีการตรวจสอบแล้ว
อธิบายแอปของคุณ พิสูจน์ได้เลย
วิธีการในตัวที่สร้างไว้ด้วยกัน: การทดสอบทำงานกับแอปเดียวกับที่ผู้ใช้ของคุณเห็น ดังนั้นการทดสอบการชำระเงินที่ล้มเหลวจึงเป็นการชำระเงินที่ล้มเหลว ไม่ใช่การจำลอง