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

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. בדיקת תוכנה עצמאית

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

מתוזמן נעוץ נעול הועבר תכנות
16 פוסטים 4 כותבים 481 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • nigunN מנותק
    nigunN מנותק
    nigun
    כתב ב נערך לאחרונה על ידי
    #1

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

    מייל: nigun@duck.com

    yossizY תגובה 1 תגובה אחרונה
    0
    • yossizY מנותק
      yossizY מנותק
      yossiz
      השיב לnigun ב נערך לאחרונה על ידי yossiz
      #2

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

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

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

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

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

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

      TDD BDD

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

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

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

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

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

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

      📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

      nigunN תגובה 1 תגובה אחרונה
      7
      • nigunN מנותק
        nigunN מנותק
        nigun
        השיב לyossiz ב נערך לאחרונה על ידי
        #3

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

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

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

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

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

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

        מייל: nigun@duck.com

        yossizY תגובה 1 תגובה אחרונה
        0
        • yossizY מנותק
          yossizY מנותק
          yossiz
          השיב לnigun ב נערך לאחרונה על ידי
          #4

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

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

          📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

          nigunN תגובה 1 תגובה אחרונה
          1
          • nigunN מנותק
            nigunN מנותק
            nigun
            השיב לyossiz ב נערך לאחרונה על ידי
            #5

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

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

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

            מייל: nigun@duck.com

            תגובה 1 תגובה אחרונה
            1
            • A מנותק
              A מנותק
              avr416
              כתב ב נערך לאחרונה על ידי
              #6

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

              nigunN 2 תגובות תגובה אחרונה
              2
              • nigunN מנותק
                nigunN מנותק
                nigun
                השיב לavr416 ב נערך לאחרונה על ידי
                #7

                @avr416
                למה?

                מייל: nigun@duck.com

                A תגובה 1 תגובה אחרונה
                0
                • A מנותק
                  A מנותק
                  avr416
                  השיב לnigun ב נערך לאחרונה על ידי
                  #8

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

                  תגובה 1 תגובה אחרונה
                  2
                  • nigunN מנותק
                    nigunN מנותק
                    nigun
                    כתב ב נערך לאחרונה על ידי nigun
                    #9

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

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

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

                    מייל: nigun@duck.com

                    תגובה 1 תגובה אחרונה
                    0
                    • nigunN מנותק
                      nigunN מנותק
                      nigun
                      כתב ב נערך לאחרונה על ידי
                      #10

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

                      מייל: nigun@duck.com

                      תגובה 1 תגובה אחרונה
                      1
                      • nigunN מנותק
                        nigunN מנותק
                        nigun
                        כתב ב נערך לאחרונה על ידי nigun
                        #11

                        ניסיתי היום לעבוד קצת עם unit testing
                        (בעיקר כי היה לי באג נסתר בקוד ששכב שם הרבה זמן עד שלקוח התלונן
                        ושמתי לב שVSCODE מציע לי unit testing בקליק)
                        אבל הקטע הבעייתי עכשיו הוא שכמעט כל הפונקציות שלי תלויות במשתנים שמגיעים מDB HTTP TCP.

                        מה אמור להיות הגישה?
                        אולי כבר לא קוראים לזה unit testing אלא integration testing?

                        מייל: nigun@duck.com

                        תגובה 1 תגובה אחרונה
                        0
                        • nigunN מנותק
                          nigunN מנותק
                          nigun
                          השיב לavr416 ב נערך לאחרונה על ידי
                          #12

                          @avr416
                          לאחרונה שמעתי את הפודקאסט הזה על TDD
                          הנקודה שיצאה לי זה שצריך לכתוב בדיקות, ובאופן טבעי אם כותבים את הבדיקות אחרי שכותבים את הקוד, נוטים לחפף או לדחות את הכתיבה של הטסט.
                          לכן הדרך הכי טובה (לפי השיטה של TDD) כשבאים לכתוב קטע קוד, הוא לכתוב קודם את הטסט (לא אמור לקחת הרבה זמן) ורק אז את הקטע קוד, אבל לא צריך לכתוב את כל הטסטים של כל הפרוייקט ורק אז להתחיל לכתוב קוד, זה רק עניין של מיקוד לפני כתיבת הקוד.
                          אפשר למצוא עוד שיטות להכריח לכתוב טסטים אבל הם טוענים שזה הכי יעיל.

                          מייל: nigun@duck.com

                          תגובה 1 תגובה אחרונה
                          2
                          • nigunN מנותק
                            nigunN מנותק
                            nigun
                            כתב ב נערך לאחרונה על ידי
                            #13

                            עוד פודקאסט על TDD
                            https://changelog.com/gotime/185
                            למי שאין כח להקשיב, עוד כמה ימים כנראה יהיה תמלול.

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

                            מייל: nigun@duck.com

                            clickoneC תגובה 1 תגובה אחרונה
                            2
                            • clickoneC מנותק
                              clickoneC מנותק
                              clickone
                              השיב לnigun ב נערך לאחרונה על ידי
                              #14

                              @nigun כל זה כשלמי שרוצה את התוכנה ברור מה הוא רוצה
                              מהנסיון שלי, ברוב המקרים ללקוח לא ברור מה הוא רוצה שיהיה בכל מצב 😮 (במקרה הטוב. במקרה הפחות טוב, מתחילים בכוונה עם בעיות כדי לפתור אותן אח"כ)

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

                              אין טסט כמו פרודקשן.

                              המייל שלי urivpn@gmail.com

                              nigunN תגובה 1 תגובה אחרונה
                              2
                              • nigunN מנותק
                                nigunN מנותק
                                nigun
                                השיב לclickone ב נערך לאחרונה על ידי nigun
                                #15

                                @clickone
                                ובכל זאת, אולי אם נכתוב קודם את הטסט יהיה לנו יותר מסודר בראש מה הלקוח רוצה?

                                מייל: nigun@duck.com

                                תגובה 1 תגובה אחרונה
                                1
                                • nigunN מנותק
                                  nigunN מנותק
                                  nigun
                                  כתב ב נערך לאחרונה על ידי nigun
                                  #16

                                  אגב אחד השאלות שנשאלו בפודקאסט הנ"ל
                                  ש: האם לעשות TDD גם לprototype?
                                  ת: אפשר להתחיל לכתוב בלי טסטים, וכשיש כיוון ברור, למחוק את הכל ולכתוב את הכל מחדש עם TDD 😰

                                  מייל: nigun@duck.com

                                  תגובה 1 תגובה אחרונה
                                  1

                                  בא תתחבר לדף היומי!
                                  • התחברות

                                  • אין לך חשבון עדיין? הרשמה

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