
הטקסט המלא של הדקות הראשונות בהרצאה «בדיקות אוטומטיות מול ידניות ובדיקות קופסא שחורה» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
בסרטון הקרוב נדבר על שני מושגים שהם מושגים בסיסיים בעולם הבדיקות, שזה בדיקות ידניות מול בדיקות אוטומטיות. בואו נתחיל בהגדרה, מה זה בדיקות ידניות? כשאני צריך לבדוק מערכת, לדוגמה את האתר של שופרסל אונליין, כשאני עושה בדיקות ידניות אני פשוט מבצע פעולות כמו משתמש קצה.
בחירה של כל מיני דברים, איזה שהם use case או טסטים שכתבתי, רואה שהמערכת מגיבה בצורה שבה אני מצפה. לדוגמה, חיפשתי איזשהו מוצר והוספתי אותו לסל הקניות.
אני עושה את הכל באמצעות החושים שלי, באמצעות ההבנה שלי כמשתמש. לעומת זאת, כשאני עושה בדיקות אוטומטיות, אני אשתמש בכלי נוסף, כלי חיצוני, שאני אתכנן את הבדיקות לפני כן, והוא יבצע במקומי את הפעולות שאני רוצה שהוא יבצע.
זה כרוך בכך שאני אצטרך להכין את הטסטים לפני כן, על מנת שהמערכת תבדוק את הטסטים שאני רוצה. כלומר, אני אשתמש בכלי בדיקות אוטומטיות כמו פוסטמן לבדיקות API או סלניום, שזו איזושהי מערכת שמריצה פעולות מול הדפדפן, ואני אוכל לבדוק איך המערכת שלי מתנהגת באמצעות הסלניום או הקוד שאני אריץ על האתר.
כלומר, אני לא באופן אישי אריץ את הטסטים אלא כלי שלישי, כלי נוסף, כלי חיצוני יבצע את הפעולות במקומי. זה הקטע של אוטומציה מול ידני ברמה של הגדרה.
אבל מה היתרונות של כל אחד ואחת מהשיטות? אז בבדיקות ידניות אני בעצם מדמה את ההתנהגות האנושית, יש את חוויית המשתמש, יש את ה-usability, חוויית ה-usability, האם האתר נוח, האם הוא ברור, האם הוא פשוט לשימוש.
לעומת זאת, בבדיקות אוטומטיות אני צריך להכין מבעוד מועד את הטסטים ולהשקיע הרבה זמן בכתיבה של טסטים כדי שזה יהיה מוכן לריצה.
לעומת זאת, את הבדיקות האוטומטיות אני יכול להריץ בצורה מחזורית, חוזרת, כמעט בכל זמן שאני רוצה. לעומת בדיקות ידעניות, שאני צריך להיות ממש נוכח פיזית במערכת כל פעם לעשות את הבדיקות מחדש, דבר שיכול להיות מתיש וחוזר על עצמו.
בדיקות אוטומטיות אפשר לאגור בעצם ידע של כמה בודקים בתוך טסט אחד שבודק כמה כיוונים, כמה כיוונים של בדיקה. לעומת בדיקות ידעניות שכל פעם בודק אחד בדרך כלל כותב את הטסטים.
מגבלות של בדיקות אוטומטיות, בדיקות אוטומטיות כרוכות בהכנה של הטסט מבעוד מועד, לעומת בדיקות ידעניות שדורשות ידע אבל לא דורשות בדרך כלל הרבה זמן לכתוב את הטסטים. ראיתם את המתודולוגיה שהשתמשנו לכתיבת טסט קייס, את האקשן ואת האקספקטד, כלומר מתודולוגיה מאוד מאוד פשוטה וקלילה.
באופן כללי, התעשייה, עולם ההייטק רוצה להתבסס כמה שיותר על החלק של האוטומציה על מנת לאפשר בדיקות חוזרות ובדיקות שיטתיות של המערכת ללא הישענות וצורך לעשות כל הזמן את התהליך בצורה ידנית.
מושגים נוספים שאני רוצה שנכיר בתחום הזה של טסטים זה בדיקות קופסה לבנה לעומת בדיקות קופסה אפורה וקופסה שחורה. כלומר, המושג הזה, בדיקות קופסה, שחורה, אפורה או לבנה, זה מושג חובה שאנחנו כאנשי בדיקות צריכים להכיר.
כשאני בודק בשיטת ה-Black Box, אז אני לא צריך באמת ידע על איך בנו את האתר, את השכבות שמרכיבות את האתר, את ה-JavaScript.
אני פשוט משתמש בו כמשתמש קצה. יש לי קופסה שחורה שזה האתר, אני מכניס איזשהו מוצר שאני רוצה לחפש, לוחץ Enter ובודק שאכן התוצאות משביעות רצון מבחינתי.
קופסה שחורה, מזין נתונים, מקבל תוצאות ובודק אותן. לעומת זאת, קופסה לבנה דורשת ממני להבין בדיוק איך קודדו את הקוד. כלומר, אם אני מסתכל פה על תא באלמנטים, נכנסתי לחלק הזה שנקרא כלי עזרה למפתח, נכנסתי על ידי שלוש נקודות,
אני יכול ללכת פה ל-More Tools, לבחור פה Developer Tools, כלי פיתוח או F12 ואז אני יכול לראות את כל העץ ה-HTML,