ברוכים הבאים אל 'לימוד הבדיקה'!

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

בקורס הזה תלמדו על:

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

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

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

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

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

מה תלמדו:

תחילת העבודה עם בדיקות

מהי בדיקה

זהו מבוא לבדיקה ברמה גבוהה, כולל דוגמאות מעשיות לבדיקה ב-JavaScript. הוא כולל גם מבוא לקנה המידה של כל בדיקה.

איפה פועלות הבדיקות

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

סביבת הבדיקה

כלי זמן ריצה כמו Node מיועדים לקוד לשימוש כללי, ואפשר להריץ את הקוד של הדפדפן בסביבת אמולציה או באמצעות framework שמיועדת לבדיקת הדפדפן.

סוגי הבדיקות האוטומטיות

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

מה כדאי לבדוק ומה הגישה שלכם

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

בדיקת רכיבים בפועל

ביחידה המעשית הזו תלמדו איך לבדוק רכיב תגובה לא כל כך אידיאלי. הפעולה הזו משתמשת ב-Vitest באמצעות שלוש דוגמאות ייחודיות: יירוט תעבורת הנתונים ברשת שנוצרת באמצעות fetch(), לעג של תלות חיצונית ושימוש ב-Context של React כדי לספק קטע קוד מותאם אישית רק לצורך הבדיקה.

ניתוח סטטי

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

טענות נכוֹנוּת (assertions) ופרימיטיבים אחרים

כלי המקצוע

מידע על העקרונות הבסיסיים המשותפים לרוב הספריות או ה-frameworks לבדיקת, כולל test() ו-assert, שיהיו הבסיס לכל בדיקה שכותבים ב-JavaScript.

בקרוב

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

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

בקרוב: בדיקה מבוססת-בעיות

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

בקרוב: בדיקות אוטומטיות מופעלות

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

בקרוב: פילוסופיית הבדיקה

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

בקרוב: כתיבת קוד שניתן לבדיקה

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