QA ובקרת שחרורים

ביקורת וסקירת קוד

סקירה בלתי תלויה של בסיס הקוד שלכם, בין שנכתב בידי אנשים ובין שנוצר עם כלי AI. אנחנו מאתרים פגמי אבטחה, תכנון שביר וחוב טכני, ונותנים לכם תוכנית מתועדפת לתיקון.

מתי צוותים מבקשים ביקורת קוד

אתם צריכים להחליט אם להמשיך לבנות על בסיס קוד, לתקן אותו קודם או להחליף חלקים ממנו, ואף גורם בלתי תלוי לא קרא אותו לעומק מספיק כדי לומר לכם.

  • צוותים שמקבלים לידיהם קוד מבית תוכנה, מפרילנסר או ממפתח שעוזב
  • משקיעים או רוכשים שצריכים חוות דעת טכנית בלתי תלויה לפני עסקה
  • מייסדים שמגייסים את המהנדסים הראשונים שלהם לבסיס קוד שנכתב ברובו בידי כלי AI

במה הסקירה מתמקדת

תחומי סקירה אופייניים לבסיס קוד של מוצר ווב; העומק בכל תחום נקבע לפי ההיקף שנסכם.

  • ארכיטקטורה ותקינות הקוד

    • היכן נמצאים כללי העסק ואיך המודולים תלויים זה בזה
    • כללים כפולים או סותרים בין קבצים ושירותים
    • האם הבדיקות של כללים קריטיים ייכשלו אם הכלל יישבר
    • מסלולי שגיאה: פסקי זמן (timeouts), ניסיונות חוזרים ומה קורה כשקריאה נכשלת
  • אבטחה בקוד המקור

    • האם כל נתיב, Handler ומשימת רקע בודקים הרשאות
    • מעקב אחר קלט לא מהימן עד לשאילתות, לתבניות, לנתיבי קבצים ולקריאות Shell
    • סודות (secrets) בקוד, בקובצי תצורה ובהיסטוריית המאגר
    • מידע אישי שדולף ללוגים, להודעות שגיאה ולאירועי אנליטיקה
  • אספקה ותלויות

    • תלויות שאף אחד לא בחר במכוון, כולל כאלה שכלי AI הוסיפו
    • פגיעויות ידועות, ספריות נטושות וחובות רישוי
    • סקריפטים של Build, CI ופריסה, ואיך מחזירים שחרור לגרסה קודמת
    • מיגרציות של מסד הנתונים ותצורה לכל סביבה

דעו על מה אתם בונים

אולי אתם יורשים בסיס קוד, עומדים בפני בדיקת נאותות טכנית (due diligence), מתכוננים לשחרור גדול או משחררים קוד שנכתב במהירות עם כלי AI. בכל אחד מהמקרים, אתם צריכים לדעת על מה אתם בונים. המהנדסים שלנו סוקרים ארכיטקטורה, אבטחה, ביצועים, בדיקות ותלויות, ומסבירים כל ממצא עם הסיכון העסקי שלו ותיקון מומלץ. בקוד שנוצר בידי AI, אנחנו מחפשים את הבעיות הספציפיות שהכלים האלה נוטים להשאיר אחריהם, לפני שהן מגיעות לסביבת הייצור.

ניתוח בסיוע AI, ממצאים שמהנדסים מאמתים

איך ה-AI מסייע

  • ממפה במהירות בסיס קוד גדול: מודולים, זרימות נתונים, נקודות כניסה והמקומות שבהם מטופל מידע רגיש.
  • מריץ ומתעדף ניתוח סטטי, סריקות תלויות וסריקות סודות, ומקבץ כפילויות ותוצאות שסביר שהן חיוביות שגויות (false positives).
  • מחפש בכל בסיס הקוד דפוס שכבר נמצא, כמו בדיקת הרשאה חסרה.
  • מנסח טיוטות של תיאורי ממצאים ודוגמאות לתיקון, שהמהנדסים מאמתים ועורכים.

מה באחריות המומחים שלנו

  • המהנדסים מאמתים כל ממצא בהקשר שלו לפני שהוא נכנס לדוח. פלט של כלים שלא אומת לא נכנס.
  • ההמלצות לגבי הארכיטקטורה מביאות בחשבון את הצוות, מפת הדרכים והאילוצים שלכם, ולא רק כללי דפוסים.
  • רמת החומרה משקפת את ההשפעה העסקית ואת יכולת הניצול, ולא את ציון ברירת המחדל של כלי.
  • תוכנית התיקון מסודרת לפי סיכון ומאמץ, עם הסבר על השיקולים והפשרות.

מה תקבלו

תמונה ברורה של הקוד שלכם ומה לתקן קודם

  • ארכיטקטורה ותחזוקתיות

    מבנה, צימוד, כפילויות, כיסוי בדיקות של לוגיקה קריטית ופערים בתיעוד, עם המלצות שמתאימות למפת הדרכים שלכם, ולא כתיבה מחדש כברירת מחדל.

  • סקירת קוד לאבטחה

    הזרקות (Injection), אימות זהות, הרשאות, טיפול בסודות ואימות קלט, שנסקרים מול ההנחיות של OWASP. רק ממצאים מאומתים מדווחים.

  • סקירת קוד שנוצר בידי AI

    בדיקות ללוגיקה כפולה, אימות לא עקבי, בדיקות גישה חסרות, שגיאות שלא טופלו, תלויות שלא נבדקו ובדיקות שכמעט לא מאמתות דבר.

  • ביצועים ואמינות

    קריאות חוזרות למסד הנתונים, פעולות חוסמות, מגבלות זמן (timeouts) חסרות וטיפול חלש בשגיאות, שגורמים להאטות ולכשלים תחת עומס.

  • ביקורת תלויות ורישיונות

    תלויות מיושנות, חולשות ידועות והתחייבויות רישוי, עם תוכנית עדכון שמסמנת שינויים שוברים.

  • דוח ממצאים מתועדף

    כל ממצא עם ראיות, רמת חומרה, השפעה עסקית ותיקון מומלץ עם דוגמאות קוד, ובנוסף סיכום למקבלי ההחלטות.

איך מתנהלת ביקורת קוד

  1. 01

    היקף והקשר

    סיכום המטרות, תחומי המיקוד והגישה. שיחות קצרות עם הצוות שלכם מכסות את סדרי העדיפויות העסקיים, ההיסטוריה ונקודות הכאב הידועות.

  2. 02

    ניתוח אוטומטי

    ניתוח סטטי, סריקות תלויות וסריקות סודות רצים עם מיון ותעדוף בסיוע AI, ומפה של בסיס הקוד מראה היכן סקירה ידנית חשובה ביותר.

  3. 03

    סקירת מומחים

    המהנדסים קוראים את המסלולים הקריטיים, מאמתים כל ממצא, מדרגים את החומרה לפי ההשפעה העסקית וכותבים הנחיות לתיקון עם דוגמאות קוד.

  4. 04

    הצגת הממצאים ותוכנית

    אנחנו עוברים עם הצוות שלכם על הממצאים, עונים על שאלות ומסכמים תוכנית תיקון, עם עזרה שלנו בתיקונים אם תרצו.

שתי דרכים לעבוד עם כלי AI

ה-AI עוזר לנסח טיוטות לבדיקות ולחקור באגים. בחרו היכן הוא רשאי לעבד את הקוד ואת נתוני הבדיקה שלכם.

לא בטוחים? נמליץ על אחת מהן בשלב הגדרת ההיקף. השוואת אפשרויות עבודה עם AI

בקשות ביקורת אופייניות

תרחישים טיפוסיים שאנחנו מגדירים להם היקף, לא מקרי בוחן של לקוחות.

  • ריפקטורינג, בנייה מחדש או המשך הרחבה

    CTO צריך לבחור בין הרחבה של בסיס קוד שביר לבין בנייה מחדש של חלקים ממנו. אנחנו סוקרים את המבנה, את הבדיקות סביב כללי העסק המרכזיים ואת מצב התלויות, ואז מציגים את האפשרויות ואת הסיכונים של כל אחת; ההחלטה נשארת בידיו.

  • שכתוב מערכת החיוב בעזרת כלי AI

    צוות כתב מחדש את לוגיקת החיוב שלו בעזרה רבה של כלי AI לכתיבת קוד, לקראת שחרור גדול. אנחנו סוקרים את המודולים שהשתנו, עוקבים אחרי האופן שבו סכומים, הנחות והחזרים זורמים דרכם, ומסמנים מסלולים שצריכים בדיקות לפני שהגרסה יוצאת.

  • בדיקת נאותות טכנית לפני השקעה

    משקיע רוצה מבט בלתי תלוי על בסיס הקוד של סטארטאפ לפני שהוא מתחייב. בהיקף מוסכם, אנחנו מעריכים את הארכיטקטורה, את האבטחה ואת הסיכון שבתלויות, וכותבים סיכום שגם מי שאינם מהנדסים יכולים לפעול לפיו, עם הפירוט הטכני מצורף.

מה ביקורת הקוד לא כוללת

  • אנחנו קוראים ומנתחים קוד, לא מערכת שרצה; בדיקות תקיפה על מערכת חיה שייכות לבדיקות חדירה או לאבטחת API.
  • השאלה אם המוצר עושה את מה שהמשתמשים צריכים נבדקת במסגרת שירות QA ובדיקות תוכנה; הביקורת מצביעה על המקומות שבהם הקוד מגדיל את הסיכוי לבאגים.
  • זמני תגובה אמיתיים תחת תעבורה נמדדים במסגרת שירות בדיקות ביצועים; הביקורת מצביעה על הסיבות הסבירות בקוד.
  • ממצאים לגבי רישיונות הם סימונים טכניים, לא ייעוץ משפטי; ההחלטה הסופית בידי עורך הדין שלכם.

איך הביקורת מתחברת לעיצוב, ל-QA ולתפעול

  • עיצוב: עקביות ב-Frontend

    קוד ה-Frontend נבדק לאיתור בעיות נגישות וסטיות ממערכת העיצוב שלכם. תיקונים שמשנים את החוויה מוסכמים עם המעצבים.

  • QA: בדיקות רגרסיה לתיקונים

    כל בעיה מאומתת מקבלת בדיקת רגרסיה, כך ששינוי מאוחר יותר, של אנשים או של כלי AI, לא יחזיר אותה בשקט.

  • תפעול: תצורה ופריסה

    סודות, תצורה, רישום לוגים וסקריפטים של פריסה נסקרים יחד עם הקוד, וסיכונים תפעוליים מועברים למי שמתפעל את סביבת הייצור.

  • באופן שוטף: סקירה תוך כדי שחרורים

    סקירות חוזרות של Pull Requests בסיכון גבוה או כאלה שנוצרו בידי AI שומרות על קוד חדש ברמה שהביקורת קבעה, במסגרת תוכנית שמוסכמת איתכם.

שאלות ותשובות

שאלות נפוצות

כמה זמן לוקחת ביקורת קוד?

זה תלוי בגודל בסיס הקוד, בתחומים שבהיקף ובעומק הסקירה הנדרש. אחרי מבט ראשון במאגר הקוד, אנחנו מסכמים איתכם היקף ולוח זמנים קבועים לפני שהביקורת מתחילה.

תוכלו לסקור קוד שנוצר בידי AI לפני שהוא מגיע לסביבת הייצור?

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

תוכלו לעזור לממש את התיקונים?

כן. המהנדסים שלנו יכולים לתקן ישירות בעיות בעדיפות גבוהה, לעבוד לצד הצוות שלכם או לסקור את ה-Pull Requests של התיקונים שלכם. כל תיקון מאומת, והיכן שזה מעשי, גם מכוסה בבדיקת רגרסיה.

איזו גישה אתם צריכים, ואיפה הקוד שלנו מעובד?

בדרך כלל מספיקה גישת קריאה למאגרי הקוד ולתיעוד; גישה לסביבת הייצור נדרשת רק לעיתים רחוקות. הניתוח בסיוע AI רץ רק בתוך הגבולות שאתם בוחרים: בהנדסת AI פרטית / מקומית, המודלים רצים על תשתית שבשליטתכם או בסביבה מבודדת שאנחנו מסכמים; בהנדסת Claude Code / OpenAI Codex, ספקים מסחריים מעבדים את הקוד לפי תנאי טיפול בנתונים ושמירה מוסכמים.

קבלו מבט כן על הקוד שלכם

ספרו לנו מה הקוד עושה, איך הוא נבנה ומה אתם צריכים להחליט. נציע היקף ביקורת שמתאים לכך.