ככל שתוכנות ואפליקציות הופכות להיות חלק בלתי נפרד מחיי היומיום שלנו, כך תחום בדיקות התוכנה (QA) הולך וצובר תאוצה. רוצים להצטרף להצלחה? זה מה שכדאי לכם לדעת.
בעידן הדיגיטלי של היום, כל אפליקציה או תוכנה שבה אנו משתמשים, בין אם זו אפליקציה בטלפון הנייד שהשתמשת בה לניווט בטיול האחרון שלך בחו"ל או, הדפדפן שבו את משתמשת בו כעת, או אפילו המערכות המורכבות בתוך הטלוויזיה החכמה שלנו – כל אלה עוברות תהליך של בדיקה מעמיקה.
תהליך זה, המכונה בדיקות תוכנה, מבטיח את המהימנות של התוכנה בה אנו משתמשים, את יעילותה ואת התפקוד החלק שלה.
אם אתם בעלי אוריינטציה לביקורתיות חיובית, מונעים על ידי חיפוש אחר איכות ויש לכם נטייה טכנולוגית, תחום בדיקות התוכנה עשוי להיות הייעוד שלכם. כאנשי QA, מחכה לכם קריירה יציבה, בטוחה ומרתקת.
בכתבה זו נכיר לכם מקרוב את תהליכי ה-QA ונצייד אתכם בכמה מונחים שימושיים שכדאי להכיר לפני שיוצאים לדרך.
כולנו יודעים כמה זה מתסכל להיתקל בתוכנה או באפליקציה שקורסת, נתקעת או סתם מכילה כמות רבה של תקלות. שחרור של מוצר דיגיטלי פגום עלול להוביל לחוסר אמון מצד המשתמשים, לגרום לנטישה שלהם - ולפגוע קשות במוניטין של החברה. מדובר כאן בנזק תדמיתי וכלכלי שיכול להיות בעל השלכות בלתי הפיכות.
הנה כמה נקודות מרכזיות שתהליך מובנה וטוב של בדיקות תוכנה יכול להבטיח לנו:
1. הבטחת איכות: אספקת תוכנה שתואמת לציפיות המשתמשים וללא פגמים.
2. אמון המשתמשים: מוצר שנבדק טוב זוכה בביטחון ובנאמנות של המשתמשים שלו.
3. עלות-תועלת: זיהוי ותיקון מוקדם של תקלות עוד לפני שהמוצר מושק ללקוח הם זולים משמעותית מהעלויות של תיקון תקלות עתידיות אחרי ההפצה למשתמשים.
העולם של בדיקות תוכנה הוא רחב ומורכב ביותר, במיוחד למי שחדש בתחום או רק בשלבי ההתעניינות לגבי השתלבות מקצועית בו. אז בואו נעשה קצת סדר:
את תחום בדיקות התוכנה אפשר לחלק לשניים: QA ידני ו-QA אוטומציה
• בדיקות ידניות: אוסף של שיטות קלאסיות שמשמשות את אנשי ה-QA לאתר תקלות תוכנה ולוודא שהתוכנה אותה אנחנו בודקים עומדת בדרישות המוגדרות ומתפקדת כראוי.
• בדיקות אוטומטיות: תהליכי בדיקה שמתבצעים אוטומטית באמצעות כלים ייעודיים. הרעיון מאחורי האוטומציה הוא שבמקום שבודקים אנושיים יבדקו את המערכת, התוכנה תעשה זאת בצורה יעילה ומהירה יותר.
חשוב להבין שלהיות בודקי תוכנה זה לא אומר רק לאתר בעיות ותקלות, אלא להבין לעומק את התוכנה ואת ההפעלה שלה מנקדות המבט האמיתית - זו של המשתמשים בה.
המשימות האופייניות של בודקי תוכנה הן:
1. תכנון אסטרטגיית בדיקות.
2. תכנון תרחישי בדיקה שיכסו ויוודאו שכלל הדרישות של המערכת עובדים כמצופה.
3. ביצוע בפועל של הבדיקות שתוכננו.
4. תיעוד של הבאגים שנמצאו במהלך ביצוע הבדיקות.
5. שיתוף פעולה עם מפתחים כדי לתקן את הבאגים.
תחום בדיקות התוכנה דורש היכרות עם מושגים ומונחים ייחודיים, עשינו לכם סדר בנושא וריכזנו לכם את המושגים העיקריים בתחום הQA.
באג/תקלה: פגם או שגיאה בתוכנה שגורמים לתוצאות שגויות או בלתי צפויות. באג יכול להיות קשור למשל לבעיות תפקודיות של המערכת, לבעיות אבטחת מידע או אפילו אי נוחות בשימוש. האיתור והבדיקה של תיקון הבאגים הם חלק מרכזי בתהליך בדיקת התוכנה.
STD: מאחורי ראשי התיבות של Software Test Description נמצא אחד התוצרים המרכזיים בעולם הבדיקות. ה-STD הוא תיעוד שכולל את תרחישי הבדיקות שבודקי התוכנה תיכננו, את תנאי האתחול הנדרשים לביצוע הבדיקות ואת פירוט התוצאות הצפויות לכל תרחיש. ה-STD מבטיח שכל הבדיקות מבוצעות בצורה מדויקת, עקבית וברורה.
בדיקות רגרסיה: סדרה של בדיקות שמבצעים כדי לוודא ששינויים בתוכנה (כמו לדוגמה תיקוני באגים או הוספת תכונות חדשות למערכת), לא גרמו לתקלות בחלקים אחרים של התוכנה שכבר נבדקו ועבדו כראוי. המטרה היא להבטיח שהתוכנה ממשיכה לפעול כמצופה גם לאחר השינויים שהוכנסו לקוד.
בדיקות "קופסה שחורה" (Black Box Testing): תהליך שבו בודקים את התוכנה ללא ידיעה או התערבות בקוד המקור שלה. הבודק מתמקד בהזנת נתונים ובראיית התוצאה שמתקבלת, ולא בהבנת הפרטים הטכניים "מאחורי הקלעים", של התוכנה. הרעיון הוא לוודא שהתוכנה פועלת כפי שהיא אמורה מבחינת המשתמש הסופי, ללא צורך להבין את המימוש הפנימי שלה.
בדיקות "קופסה לבנה" (White Box Testing): בדיקות שמבוססות על הבנת הקוד והלוגיקה הפנימיים של התוכנה. להבדיל מבדיקות קופסה שחורה, במקרה זה בודקי התוכנה לא מתמקדים רק בתוצאה הסופית, אלא בודקים לעומק גם את רכיבי הקוד (בדיקות תנאים, לולאות וזרימות נתונים בתוך חלקי הקוד עצמו). אלו בדיקות שדורשות ביצוע על ידי בודקים שמיומנים בקריאה ובהבנה של קוד התוכנה.
בדיקות עשן (Smoke Testings): סדרת בדיקות ראשוניות שמבוצעת על ידי צוות בדיקות התוכנה מייד לאחר שמתקבלת מצוות הפיתוח גרסה של המוצר שמוכנה לתהליך בדיקות. בדיקות Smoke מתמקדות רק בפונקציונליות הבסיסית והקריטיות לתפקוד של המוצר. הבדיקות הללו צריכות להיות מהירות כדי שאפשר יהיה בסיומן לקבוע שהמערכת מוכנה לבדיקות מעמיקות. אם בדיקת Smoke נכשלת, זה יכול להצביע על בעיה חמורה שתגרום בדרך כלל למסקנה שיש להחזיר את התוכנה לתיקון לצוות הפיתוח לפני העברה לבדיקות מעמיקות – מה שחוסך זמן יקר.
בדיקות תאימות (Compatibility): בדיקות שנועדו לוודא שהתוכנה שלנו או האתר שלנו עובדים באופן תקין וכמצופה בכל הדפדפנים, מכשירי הטלפון השונים, מערכות הפעלה שונות וכו'. המטרה של בדיקות אלה היא להבטיח שהחוויה של המשתמשים תהיה זהה ונקייה מתקלות, לא משנה באיזה דפדפן או מכשיר יבחרו להשתמש.
בדיקות אוטומטיות: כאמור, מדובר בתהליכי בדיקה שמתבצעים אוטומטית באמצעות כלים ייעודיים – במקום או בנוסף לבדיקות ידניות.
היתרונות של שימוש באוטומציה בתהליכי הבדיקות הם מהירות הביצוע, עקביות וחזרה מרובה על תהליכים זהים (מה שהופכים אותה מתאימה מאוד לבדיקות Smoke ורגרסיה). היכולת לבצע בדיקות מרובות בצורה מקבילית היא לא רק יעילה, אלא גם מפחיתה את הסיכוי לטעויות אנוש.
בודקי אוטומציה חייבים להכיר את תחום בדיקות התוכנה הידניות ולהיות מסוגלים לבנות תרחישי בדיקה שאותם יש לאטמט. בנוסף הם חייבים להיות בעלי אוריינטציה טכנולוגית גבוהה ולדעת לכתוב ולקרוא קוד ברמה טובה.
למרות היתרונות הרבים של אוטומציה, יש תרחישים ומצבים בהם בדיקות ידניות הן הכרחיות ואינן ניתנות לאיטמוט. זו הסיבה שתהליך בדיקות איכותי יכלול שילוב של בדיקות ידניות ובדיקות אוטומטיות.
סלניום (Selenium): אחד הכלים המובילים בתעשייה לבדיקות אוטומציה של אתרי אינטרנט. זהו כלי חינמי ומומלץ ביותר לביצוע אוטומציה של פעולות הדפדפן ובדיקת התנהגויות שונות שלו.
בנוסף למונחים שסקרנו, יש עוד הרבה מה ללמוד: מושגים מקצועיים, טכניקות בדיקה וכלי בדיקה.
מה שבטוח, זה שבעולם של חידושים טכנולוגיים בלתי פוסקים, תחום בדיקות התוכנה מבטיח לכם שפע אתגרים מקצועיים שנובעים מהשאיפה המתמדת של החברות בתעשייה לספק למשתמשים שלהן מוצרים דיגיטליים איכותיים.
אם עשינו לכם חשק, אתם מוזמנים להצטרף אלינו!
HackerU – החממה(Techcelerator) להכשרת דור העתיד של תעשיית ההייטק - גאה להציג בפניכם את המסלול המתקדם, המקיף והמקצועי ביותר לבדיקות תוכנה (QA).
במסגרת מסלול ההכשרה תלמדו לעומק את יסודות הבדיקה ומתודולוגיות ה-QA המקובלות בתעשייה, תוך התנסות מעשית ברמה הגבוהה ביותר בכלים ובשיטות העבודה, כולל שימוש בכלי AI מתקדמים. מסלול ההכשרה יסייע לכם להתכונן באופן מיטבי למבחן ההסמכה הבינלאומי של ISTQB.
קורסים טכנולוגיים נוספים: