חוקי הפורום

בדיקת תוכנה עצמאית



  • מדי פעם אני רואה מאמרים על TDD BDD וכדו'
    אבל עדיין לא קלטתי את ה"ראש".
    אני מחפש מדריך, שיסביר לצד המפתח איך אמורים לבצע בדקות תוכנה, כשאין איש QA שיעשה את העבודה?
    האם מישהו יכול לתרום מהידע שלו בעניין? איך אתם בודקים את הקוד שלכם?



  • @nigun אמר בבדיקת תוכנה עצמאית:

    איך אתם בודקים את הקוד שלכם?

    נגעת בנקודה מכאיבה...
    אני לא מספיק בודק... הלוואי שהבוס היה מחייב את זה... (אתה מקשיב? 📢 📢 ?)

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

    לכן הייתי שמח לעבור לצורת פיתוח שמחייב כתיבת טסטים.

    (הייתי רוצה גם לעבור ל-typescript מהסיבה הזו. מגדירים את ה-types וכו' ואז סומכים על הקומפיילר למנוע מחלקה שלימה של סוגי באגים)

    TDD BDD

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

    ובכל בנייה של הפרוייקט אתה מריץ את הטסטים כדי לוודא שלא היתה ריגרסיה (regression).

    כמו כן בכל תיקון באג אתה כותב טסט שמורץ שוב בכל בנייה לוודא שהבאג לא יחזור שוב.

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

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

    אשמח ללמוד עוד על הנושא!



  • @yossiz
    גם בGO הקומפיילר מגלה חצי מהבאגים (שמות משתנים).

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

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

    את הרעיון איך עושים את זה? ראיתי על פונקציה פשוטה
    אבל אני מנסה ללמוד את התפיסת עולם של זה.

    אשמח לשמוע גם על שיטות אחרות , אני לא נעול על TDD( אפילו שזה נראה לי הבאזז היום).

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



  • @nigun נכון, אני מדבר על unit testing בכללות.

    אולי תתחיל עם unit testing לפני שאתה עובר ל-TDD? זה כבר מחייב מיומנות בכתיבת טסטים משמעת עצמית ובידוד קומפטננטים. אחרי שאתה שולט על זה תעבור ל-TDD?



  • @yossiz
    צודק
    הסדר אמור להיות
    unit testing
    TDD
    BDD
    ולא ההפך.

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

    ניסתי כמה פעמים להבין איך כותבים unit testing? אבל השתעממתי די מהר,
    אולי ננסה שוב?


  • תכנות

    @nigun מה שקצת הבנתי שהיום די ירדו מהקטע של TDD והעיקר זה אכן לבצע בדיקות.



  • @avr416
    למה?


  • תכנות

    @nigun מאט מאד את הפיתוח, ולא באמת מוצדק.



  • הנה עוד סיבה למה לכתוב בדיקות יחידה

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

    אבל מה ההבדל בין TDD לunit testing? סדר הכתיבה? כמות הטסטים?



  • יש קטע שלא ברור לי כ"כ בTDD
    מתי כותבים את הטסט?
    האם כותבים בתחילת הפרוייקט מאות טסטים?
    האם כותבים כמה עשרות טסטים לפני כל מחלקה?
    או שפשוט כותב את הטסט לפני כל קטע קוד שכותבים (או כל פונקציה)
    ואז זה לא אמור להיות משהו הרבה יותר מסובך מאשר יוניטטסים?


התחבר כדי לפרסם תגובה
 

אידאל מגזין

מחשבים יד שניה

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

055-6727119