האפליקציה שלך מגיעה עם הוכחות
Kliv כותבת בדיקות אמיתיות לאפליקציות שהיא בונה - ומריצה אותן בדפדפן אמיתי, כנגד עותק חד פעמי של מסד הנתונים שלך, עם קבלה על כל תופעת לוואי. אותה לולאה שכותבת את האפליקציה שלך כותבת את הבדיקות שלה ומניעה אותן ירוקות.
בדיקה מובנית
לא נוצר קוד והצלבת אצבעות
רוב בוני AI מייצרים אפליקציה ומעבירים אותה - האם זה באמת עובד זו הבעיה שלך. Kliv הוא הבעלים של כל הערימה שהאפליקציה פועלת עליה: הדפדפן, ה-API, כללי האבטחה, מסד הנתונים, צינור האימייל. זה מה שמאפשר הוכחה. מבחנים הם לא משהו שאתה מתגבר עליו מאוחר יותר; הם חלק מהאופן שבו האפליקציה נבנית, מנוהלים על ידי אותה לולאה שכתבה את הקוד.
האנטומיה של ריצה
הדרך הטובה ביותר להבין את מערכת הבדיקות היא לעקוב אחר ריצה אחת מהשורה הראשונה ועד לפסק הדין. הנה מה שקורה - ומה שלעולם לא נוגע בנתונים האמיתיים שלך.
כתוב
ה-AI כותב בדיקות יחידה תוך כדי בנייתו - ספריית Vitest ו-Testing מקורית, המחסנית הסטנדרטית בתעשייה, לא חיקוי קנייני. בקשו לכסות זרימה והיא כותבת Scenario: לנווט, לחץ, מילוי, טענה, במונחים סמנטיים - הכפתור לפי שמו, השדה לפי התווית שלו - לא נתיב CSS שביר שמת בעיצוב המחודש הבא.
הפעל בדפדפן אמיתי
בדיקות מתבצעות בדפדפן אמיתי מול האפליקציה שלך בפועל - עיבוד אמיתי, כניסה אמיתית, אבטחה אמיתית ברמת השורה. שום דבר לא נלעג שחשוב: אם שינוי הרשאות מאפשר למשתמש אחד לקרוא נתונים של אחר, בדיקה נכשלת כפי שהאפליקציה שלך הייתה עושה.
מזלג את מסד הנתונים
לפני ש-Scenario נוגע בנתונים, הוא מקבל מזלג חד פעמי של מסד הנתונים שלך - אותה סכימה, אותם כללים, אף אחת מהשורות שלך לא בסיכון. יצירה, עריכה ומחיקה פועלת באופן אמיתי ונוחתת על המזלג; הקבצים ומצב המסחר שלך משובטים באותו אופן. כשהריצה מסתיימת, המזלג נזרק.
תפוס את היציאה
הודעות אימייל, webhooks ושיחות צד שלישי נלכדות, לא מופעלות. בדיקה יכולה לקבוע כי הודעת קבלת הפנים יצאה, למי, עם מה - ואף אימייל לא יוצא מהבניין. האינטגרציות שלך נשארות שקטות בזמן שההיגיון שלך מיושם.
הקבלה
כל ריצה מתעדת את מה שהאפליקציה עשתה בפועל: אילו שורות היא כתבה, אילו מיילים היא הייתה שולחת, אילו שיחות חיצוניות היא ניסתה - כל אחת סומנה כאושרה, נלכדה או נדחתה, עם הסיבה מצורפת, עד לכלל האבטחה שחסם כתיבה. לא רק אדום או ירוק: מה קרה, ולמה.
פסק הדין
התוצאות חוזרות לכל בדיקה, לכל קובץ - הטענה הכושלת, הצעד שנשבר, לצד הקבלה של הריצה. כשל מובנה הוא הנקודה: זה מה שמאפשר לאותה לולאה שכתבה את הקוד למצוא את הטעות, לתקן אותה ולהפעיל שוב.
השער
פרסום שער תוצאות הבדיקה. Scenario כושל עוצר את ההפצה לפני שהוא מגיע למשתמשים שלך - כך ש״זה עבד כשבנינו את זה״ הופך ל״זה עובד עכשיו״, מאומת בכל שינוי במקום להיזכר מההדגמה.
מה מערכת הבדיקה יודעת לעשות
מובנה, פועל עבורך וניתן לקריאה כאשר אתה רוצה להסתכל.
ערימת הבדיקות האמיתית
Vitest מקורי, ספריית בדיקות ו-Jest-dom פועלים בדפדפן - אותם כלים שצוותים מקצועיים משתמשים בהם, כך שהבדיקות נקראות כמו בדיקות, לא כמו ניב של ספק.
בדיקות Scenario
זרימות מקצה לקצה שנכתבו במונחים סמנטיים - מצאו את הכפתור לפי תפקידו, את השדה לפי התווית שלו - המניעים את האפליקציה האמיתית כמו שמשתמש יעשה.
מסד נתונים חד פעמי
כל Scenario פועל מול מזלג של מסד הנתונים האמיתי שלך. כתובות מתקבלות, מוצהרות ונמחקות - הנתונים שלך לעולם אינם חלק מהניסוי.
שום דבר לא דולף
ריצות מבחן לכידת אימייל, webhooks ושיחות מחברים במקום לשלוח אותן - אתה יכול להוכיח שהן קרו מבלי שהן התרחשו.
לכל ריצה יש קבלה
ספר חשבונות של כל תופעת לוואי שבדיקה גרמה - התקבלה, נתפסה או סירבה, עם הסיבה. העקבות, לא רק הרמזור.
היסטוריה והשער
מעקב אחר ריצות מתבצע לאורך זמן, ומעבר בדיקות משער פרסום - אימות הוא מצב עומד של האפליקציה שלך, לא אירוע חד פעמי.
שאלות נפוצות
מי כותב את המבחנים?
ה-AI עושה, תוך כדי בנייתו - בדיקות יחידות כברירת מחדל, בערימה הסטנדרטית. בקשו לכסות זרימה וזה כותב עבורו Scenario. כל בדיקה היא קוד קריא באפליקציה שלך; אתה יכול לבדוק כל אחד מהם, ולעולם לא תצטרך.
האם בדיקות נוגעות לנתונים האמיתיים שלי?
לא. Scenarios פועלים נגד מזלג חד פעמי של מסד הנתונים שלך - כתובות מתקבלות שם ונזרקות עם המזלג כשהריצה מסתיימת. קבצים ומצב מסחר משובטים באותו אופן, כך שגם בדיקה שמוחקת הכל לא מוחקת כלום.
האם בדיקה תשלח אימיילים אמיתיים או תפגע באינטגרציות שלי?
לא - תנועה יוצאת נקלטת, לא נשלחת. הריצה מתעדת שהמייל היה יוצא, למי ועם מה, והבדיקה יכולה לטעון על כך. הלקוחות שלך והכלים המחוברים שלך לעולם לא רואים מבחן.
מה אני רואה כשמבחן נכשל?
תוצאות לכל בדיקה - הקובץ, הצ׳ק, הטענה שנכשלה - בתוספת קבלת תופעות הלוואי של הריצה עם הסיבה לכל אחד מהם הורשה או סירב. המבנה הזה הוא מה שמאפשר ל-AI לאבחן את הטעות שלו ולתקן אותה, במקום לנחש מצילום מסך.
האם הבדיקות מממשות את כללי האבטחה שלי?
כן - Scenarios פועלים עם כניסה אמיתית נגד חוקים אמיתיים ברמת השורה, לא הפעלה מדומה. אם שינוי מאפשר למשתמש לראות נתונים שאינם שלהם, הבדיקה נכשלת לפני שמשתמש הצליח.
האם בדיקה שנכשלה יכולה לחסום מהדורה?
כן. Scenario מחליט על פרסום שער - ריצה אדומה עוצרת את השחרור עד שהוא שוב ירוק. השער הוא ההבדל בין לקוות שהשינוי האחרון היה בטוח לבין הידיעה שהוא נבדק.
תאר את האפליקציה שלך. תוכיח את זה.
מובנה אמצעים שנבנים יחד: בדיקות פועלות מול אותה אפליקציה שהמשתמשים שלך רואים - כך שמבחן קופה נכשל הוא קופה כושלת, לא דומה.