כדי לענות על השאלה מה זה אוטומציה, אנחנו צריכים קודם להבין מהו התהליך אותו עובר מוצר שנמצא בפיתוח בעולם ההייטק. במהלך פיתוח של תוכנה – משלב האפיון והתכנון ועד רגע לפני השיווק – יש צורך לבצע עליה בדיקות QA שמהוות בקרת איכות. במהלך הבדיקות צפים פגמים ותקלות, אותם יש לפתור תוך כדי הפיתוח. עולם הבדיקות מתחלק ל-2: בדיקות ידניות ובדיקות אוטומטיות, שנקראות בדיקות אוטומציה.
QA – Quality Assurance – הבטחת איכות
הבטחת איכות, שמאגדת בתוכה את הבדיקות השונות, היא מכלול של פעולות שנדרש לבצע כדי להבטיח שהמוצר או השירות יעמדו בדרישות האיכות שהוצבו ויענו על צורכי המשתמש. ככל שמתגלים פגמים במהלך הבדיקות, יש לטפל בהם בטרם מגיע המוצר ללקוח. ענף הבטחת האיכות הוא ענף שניתן למצוא כיום בכל ארגון בסטנדרט גבוה – החל ממפעלים שמיצרים תכשיטים ומזון ועד לחברות הייטק שמייצרות אפליקציות משחקים ומערכות צבאיות.
מה זה אוטומציה?
אוטומציה, כאמור, היא סדרה של בדיקות אוטומטיות, שבניגוד לבדיקות ידניות, הן מהירות יותר ושוחקות הרבה פחות, ובגלל שהן לא מושפעות מטעויות אנוש הן גם מדויקות יותר. למרות שאת הבדיקות עושה המחשב בלחיצת כפתור, יש צורך לתכנת סקריפטים, כלומר לכתוב למחשב הוראות מוכנות מראש, כולל הסתעפויות, והכל על בסיס התוכנה אותה הוא צריך לבדוק ובשילוב של מספר שפות תכנות. את הסקריפטים מריצים מספר פעמים עד שמגיעים למוצר עם מינימום תקלות. בכל תקלה שעולה, איש הבדיקות יכול לטפל או כמובן להסתייע באנשי המקצוע הרלוונטיים.
מה עושה בפועל מפתח אוטומציה?
מפתח אוטומציה גם מתכנת את מערכת הבדיקות כך שתתאים לתוכנה הנדרשת ולדברים שאנחנו מבקשים לבדוק, ובמקביל מבצע בדיקות אוטומטיות בתרחישים שונים, ואלה הנפוצים שבהם:
- בדיקות נסיגה – אם ביצענו לתוכנה תיקון באגים, או שהכנסנו יישום חדש, נצטרך להריץ מספר בדיקות על מנת לוודא שהפיצ'רים וההתקנים הקיימים לא נפגעו.
- בדיקות בעקבות חוסר תפקוד – אם במערכת ישנו דבר מה שלא מתפקד כראוי ואנחנו לא יודעים מהו, נבצע בדיקה אוטומטית שתאתר את התקלה. בדיקה לאיתור תקלה שאנחנו לא יודעים את מקורה היא בדיקה שבלתי אפשרי לבצע באופן ידני.
- חישובים מורכבים – נשתמש באוטומציה לצורך חישובים מורכבים, כשנרצה למנוע טעויות אנוש שהן נפוצות בחישובים מסוג זה.
- פיתוח דש – פיתוח של תוכנות חדשות יעברו בדיקות אוטומציה בשלבים שונים של הפיתוח, במטרה לספק ללקוח מוצר ללא תקלות.
סוגי בדיקות אוטומטיות
את בדיקות האוטומציה אנחנו יכולים לחלק ל-2 סוגים:
- בדיקות מבוססות קוד – כלי אוטומציה המבצעים בדיקות לקוד בשלבים שונים שלו לאיתור פגמים. זו נחשבת לשיטה חסכונית, כיוון שגילוי פגמים עם ביצוע השינוי בקוד מונע גילוי שלהם בשלבים מאוחרים יותר, כשהתיקון הופך להיות יקר.
- בדיקות ממשק משתמש – פיתוח כלי אוטומציה שמייצרים אירועים המדמים אינטראקציה של המשתמש במערכת שלנו. במהלך הבדיקות נבחן את השינויים שנגרמים בממשק כתוצאה מהשימוש ונוכל לבצע התאמות להתנהגות הרצויה מבחינתנו.
בדיקות אוטומציה לעומת תהליכי אוטומציה
מלבד בדיקות אוטומציה, בהן אנו עוסקים במאמר, ישנו מונח נוסף דומה – תהליכי אוטומציה, אשר נפוצים בתחום השיווק אך לא רק. המשותף ביניהם הוא שבשני המקרים מדובר בתהליכים המבוצעים אוטומטית פעולה אחר פעולה כפי שהוגדר למערכת. בתחום של בדיקות אוטומציה המערכת מבצעת בדיקות בהתאם למה שהוגדר לה, תוך שהיא יודעת להתמודד עם תרחישים שונים ומגוונים ולהגיב אליהם בהתאם. לדוגמה לתהליכי אוטומציה, לעומת זאת, היא מפעל למילוי בקבוקי שתייה – המכונה עובדת ללא מגע יד אדם – מהעמדת הבקבוק ומילוי המשקה ועד להדבקת המדבקה, סגירה במכסה והכנסה של הבקבוק לקרטון.
מהם היתרונות באוטומציה?
- חיסכון בכוח אדם – מערכות אוטומציה הן חלופה לכוח אדם בארגון. אמנם עדיין יש צורך בכוח אדם על מנת לתכנת את הבדיקות, לפקח עליהן ולהוציא מהן את המסקנות הדרושות לנו, אך בכל זאת מדובר במעט כוח אדם ביחס למה שהארגון צריך כשהבדיקות מתבצעות באופן ידני. כשיש פחות עובדים לשלם להם – אפשר לשלם יותר לכל עובד.
- חיסכון בזמן – אם שאלתם את עצמכם מה זה אוטומציה – אז התשובה היא חסכון בזמן. בדיקות אוטומציה מאפשרות בתוך זמן קצר למצוא באגים, לטפל בהם ובכך לאפשר לפרויקט לרוץ קדימה.
- שיפור איכות הבדיקות הידניות – כשמפתחי האוטומציה ומבצעי הבדיקות פנויים מהבדיקות הקבועות שמבוצעות באופן אוטומטי, יש להם יותר זמן לבצע בדיקות מיוחדות ובדיקות קצה אותם לא היו מספיקים לבצע.
האם יש חסרונות בבדיקות אוטומציה?
- עלויות – העלויות של כלי הפיתוח הן לרוב יקרות, בפרט בקרב חברות סטארטאפ. לפיכך בודקים אוטומטיים אנחנו נמצא בעיקר אצל חברות מבוססות שיכולות להרשות לעצמן.
- תחזוקה: חברות דינמיות הן חברות שצריך לעבוד עבורן קצת יותר קשה. שינויים בפלטפורמות של החברה יצריכו לבצע שינויים גם באוטומציה. עם זאת, אוטומציה הבנויה בצורה טובה ומקצועית כבר מהבסיס תאפשר ביצוע שינויים בצורה חלקה יחסית.
- גם לאוטומציה יש מגבלות – אוטומציה מאפשרת לבצע בדיקות רבות, ארוכות ומסובכות, אך לא את כל סוגי הבדיקות. לדוגמה, בדיקה של בעיות טכניות שעל אף שהן הגיוניות מבחינה טכנית הן לא הגיוניות מבחינה לוגית.
מה ההבדל בין בדיקות אוטומטיות לידניות?
- משך הבדיקה – בדיקות אוטומטיות הן בדיקות מהירות באופן משמעותי, אך בעיקר רחבות ומעמיקות יותר באותו פרק זמן.
- בדיקות חוזרות – בדיקה אוטומטית תתאים יותר כשיש צורך לבצע בדיקות חוזרות, למשל בכל פעם שמעדכנים את התוכנה.
- בדיקות ללא טעויות – בדיקות אוטומציה הן בדיקות מדויקות יותר, לעומת בדיקות ידניות שחשופות לטעויות אנוש ועל כן הופכות את העבודה לאיטית ויקרה יותר.
- עלויות – בדיקות ידניות מצריכות כוח אדם, מה שמצריך לשלם להם. בבדיקות ידניות העבודה היא מהירה יותר וחסכונית בכוח אדם.
האם חייבים ללמוד בדיקות ידניות כדי להיות מפתחי אוטומציה?
בדיקות אוטומציה הן בדיקות ידניות, רק שבמקום שנבצע אותן ידנית – המחשב מבצע אותן. לכן, הכרחי שמפתח האוטומציה / מבצע הבדיקות האוטומיות ידע לבצע את הבדיקות גם באופן ידני מכיוון שזה הבסיס המקצועי שלו, בעוד האוטומציה היא כלי שנועד לייעל את העבודה. לפיכך, בקורס אוטומציה לומדים במקביל לבצע בדיקות ידניות.
מה לומדים בקורס אוטומציה?
בקורס אוטומציה לומדים לקרוא קוד ולהבין אותו, על מנת שניתן יהיה להבין תהליך של פיתוח תוכנה. מלבד זאת, לומדים את הליבה של התחום – כיצד לפתח סקריפטים לבדיקות אוטומטיות באמצעות כתיבת קוד ושימוש בשפות מתקדמות כמו שפת פייתון, HTML ו-Java. רכישת הידע בשפות תכנות מרחיב את אפשרויות התעסוקה בעתיד ומהווה את אחד היתרונות המשמעותיים בלימודי אוטומציה. כיוון שכל חברת הייטק, קטנה וגדולה, זקוקה להבטחת איכות שהוא תו תקן של ממש, אנשי בדיקות, ובפרט כאלה המפתחים את התשתית לביצוע בדיקות אוטומטיות, הם מהמבוקשים ביותר וגם מרוויחים שכר גבוה.
למה כדאי ללמוד אוטומציה?
מדובר בתחום יוקרתי, מאתגר ומתגמל מאוד, עם משכורת גבוהה גם ביחס לענף ההייטק ועבודה בשפע, כיוון שכל מוצר חדש בשוק נדרש לבקרת איכות. אם אתם מחפשים דריסת רגל בהייטק מבלי לעשות תואר ארוך, קורס אוטומציה מעניק את כל היתרונות.
למי מתאים לעסוק בבדיקות אוטומציה?
אוטומציה היא תחום המתאים לאנשים שזיהוי בעיות ופתרונן מאתגר אותם, והם אוהבים להוציא מוצרים מושלמים תחת ידיהם. בגלל שכתיבת הסקריפטים שמנחים את המחשב כיצד לבדוק את התוכנה היא כתיבה מאפס – מדובר בתחום מרתק המצריך ריכוז, ירידה לפרטים ויכולת תכנונית טובה. בנוסף, התחום מתאים לאנשים שרוצים להחזיק בידע וכלים ממגוון תחומים ומגוון שפות תכנות. נוסף לאתגרים ולעניין המקצועי, מדובר בתחום מבוקש מאוד והעוסקים בתחום הבדיקות מרוויחים שכר גבוה ותנאים מצוינים.
קורס QA – בדיקות תוכנה – במכללת INT
קורס בדיקות תוכנה במכללת INT מיועד למבקשים להתמקצע בתחום הבדיקות האוטומטיות, או לעבור הסבה מקצועית, וכן לעוסקים בבדיקות ידניות הרוצים להעמיק את היכולות שלהם. במסגרת הקורס, לומדים כיצד לבצע תהליך של הבטחת איכות משלב התכנון ועד להשקת המוצר, תוך רכישת ידע נרחב בתחומי הבדיקות ובגלל זה שפות תכנות מתקדמות.
- נדרש ניסיון בעבודה עם מחשב
- הבנה בסיסית ביישומי Office
- שליטה בשפה האנגלית
- היקף השעות – 376 שעות, מתוכם 80 שעות עבודה מעשית