בואו נדבר על בדיקות ו AI
ביום חמישי בבוקר אעביר וובינר על בדיקות ו AI. פעם קודמת שדיברתי על הנושא הזה התמקדתי בחלקים הקשים של עבודה עם AI לכתיבת בדיקות - הראיתי איפה AI מייצר בדיקות שיהיה קשה לתחזק ואיזה עזרה אנחנו צריכים להציע לו כדי לקבל סט בדיקות אמין.
השבוע אקח כיוון אחר לשיחה וארצה לדבר על הפוטנציאל.
בפרויקט שאני עושה לאחרונה ללקוח חלק משמעותי מהעבודה הוא לתקן בלי לשבור. יש המון קוד קיים ואנחנו צריכים לעדכן את המערכת בלי לשבור אינסוף התנהגויות קיימות ולא מתועדות. פרויקט כזה דורש כניסה מעמיקה לקוד כדי להבין כל שורה, כתיבה של בדיקות לכל Flow שאפשר לדמיין ורק אחרי שאנחנו בטוחים שהבנו כל תרחיש לגשת ולתקן את הקוד. אלה היו פרויקטים ארוכים ומלאים טעויות.
היום עם AI אני מצליח לבצע את אותו Flow הרבה יותר מהר ועם תוצאות יותר אמינות. זה עובד ככה:
מגיע לפונקציה שצריך לתקן, מבקש מ AI להסביר מה היא עושה ולנתח כל הסתעפות בקוד. קורא את הקוד יחד עם ההסבר של ה AI, לפעמים מתקן את ה AI ולפעמים ה AI מתקן אותי.
כשיש הבנה טובה של מה שקורה שם עובר למצב Plan של קרסר ומבקש ממנו לבנות תוכנית בדיקות שמסכמת את כל מה שגילינו.
אני מתקן את תוכנית הבדיקות, לוחץ על כפתור הבניה, מסתכל אם התוצאה מספיק טובה, הרבה פעמים מבטל את הבניה ומעדכן את התוכנית עוד כמה פעמים עד שמצליח לבנות את התוכנית כמו שרציתי.
לפעמים הוא מפספס Flow-ים ואז חוזרים על התהליך עם תוכנית בדיקות נוספת.
המבנה הזה מייצר קוד טוב משמעותית ממה שכתבתי בעבר ובדיקות מקיפות הרבה יותר ממה שהיו לי. הסיבה המרכזית לשיפור באיכות הקוד היא היכולת לזרוק אלף או אלפיים שורות של בדיקות כי אני יודע שה AI מייצר אותן מחדש בדקות, ולכן אם גיליתי שיצרתי אבסטרקציה לא מספיק טובה אני זורק את הכל ויוצר את כל סט הבדיקות מחדש. הסיבה לשיפור באיכות הקוד היא של AI הרבה יותר קל לכסות יותר מקרים ממה שאי פעם היה לי כח לכתוב.
בוובינר ביום חמישי אני מתכנן להראות את שיטת העבודה הזו דרך עבודה על פרויקט קוד פתוח. ניקח פונקציה, נשתמש ב AI כדי שיתאר אותה, יבנה תוכנית בדיקות ואז נקרא את תוכנית הבדיקות ונחליט אם היא מספיק טובה או אם צריך לזרוק את כל קוד הבדיקה ולייצר אחת טובה יותר.
מוזמנים להצטרף בחינם נרשמים כאן: