בפוסט הזה אני אסביר מה הבדיקות שמבצעים בודקי התוכנה. לפני שאני
אסביר מה הבדיקות, נסביר מה זה בדיקות תוכנה בכלל ולמה אנחנו צריכים בודקי תוכנה.
נתחיל מההתחלה.
אז מה זה בדיקות תוכנה בכלל?
בפשטות, בדיקות תוכנה הוא תהליך שבמהלכו בודקי תוכנה מוודאים
שהמוצר עובד בהתאם לדרישות – לפני שהוא מגיע למשתמשים.
הדרך הטובה ביותר לוודא שהמוצר שלכם מוכן להגיע למשתמשים היא
להתנהג כמו משתמש היעד. זה יכול להיות תהליך מילוי טופס יצירת קשר ובדיקה שאין בו טעויות
או אולי להוסיף יישום של לייב צ'ט לאתר ובדיקה שלכם לפני שמוסיפים את היישום לאתר
באופן קבוע. במיוחד כשיש הרבה דברים שמשתנים, לדוגמא באתר קניות, שינוי קטן בקוד
יכול לייצר שינוי לא רצוי במקום לא מתוכן. בודקים מוצאים ומדווחים על בעיות אלה.
למה אנחנו צריכים
בדיקות תוכנה?
בתעשיות רבות יש בודקי איכות מקצועיים והתחום הטכנולוגי לא שונה
מהן. חקלאים חייבים לוודא שהמוצר שהם מוכרים הוא בטוח לאכילה. יצרנים נבונים
מוודאים שהמוצר שלהם מתנהג כמו שהם הבטיחו כשהם שיווקו את המוצר, איך הם עושים את
זה? כמובן על ידי בדיקות חוזרות של
המוצר. לכן, בודקי תוכנה הם לעיתים קרובות הקו האחרון בין מחלקת פיתוח לבין
המשתמשים.
מהן הבדיקות שמבצעים בודקי תוכנה?
בדיקות פונקציונליות (Testing Functional)
לאימות פעילות המערכת. בדיקות אלו
מבוססות על מסמך הדרישות ומסמך האפיון ומטרתן לבדוק כי המערכת עושה את מה שהיא
צריכה ולא עושה את מה שאינה צריכה לעשות (valid and invalid
testing)
בדיקות ממשק לקוח (Testing GUI)
בדיקות הפקדים והשדות במסך. התנהגות
תקינה, פורמט של שדות, בהתאם לחוקיות המוגדרת ברמת המסך ולא הלוגיקה העסקית.
לדוגמה: בדיקת מינימום ומקסימום תווים בשדה.
בדיקות ביצועים (Testing Performance)
בדיקה שהמערכת יודעת להתמודד עם אתגרים
ביצועיים בזמן שהוגדר (כמות משתמשים קיצונים, זמן תגובה, זמן טעינה, התמודדות עם
כשלים).
בדיקות שפיות (Testing Sanity)
בדיקות בסיסיות המאפשרות לזהות במהירות וביעילות
אם הפונקציונליות הבסיסית של המוצר פועלת כנדרש, והמוצר במצב יציב.
בדיקות אבטחת מידע (Testing Security)
בדיקת המערכת מתוך מטרה לאתר כשלים במערך
ההגנה על המידע במערכת: בדיקת מערך ההרשאות והמידור, בדיקת סיסמאות - מבנה ותוקף
ובדיקות חדירה.
בדיקות אינטגרציה (Testing Integration)
בדיקת שילוב יחידות תוכנה בהיקפים שונים,
החל משתי יחידות ועד לכלל היחידות במערכת.
בדיקות מערכת (Testing System)
בדיקות המערכת בכללותה, בדרך כלל בראיית
המשתמש של יכולות המערכת.
בדיקות
קבלה (Testing Acceptance)
בדיקות הנעשות על ידי המשתמש או הלקוח
במטרה לוודא כי המערכת פועלת בהתאם לדרישות שהוגדרו במסמך הדרישות המקורי ובשינויי
דרישה (change request) שהועברו במהלך מחזור חיי הפיתוח.
בדיקות שימושיות (Testing Usability)
בדיקות נוחות השימוש לכולם ויעילותה
עיצוב של האפליקציה ונגישות לבעלי מוגבלויות. לדוגמה: נוחות השימוש בתפריטים,
ניווט נוח והתמצאות באתר.
בדיקות התקנה Installation Testing))
בדיקת תהליך התקנת המערכת בסביבת הייצור ובדיקת התקנת מערכות
צד שלישי.
בדיקות התאמה (Testing (Compatibility
בדיקה שהמערכת מתאימה לכל סוגי
המשתמשים, כולל מערכות אחרות שמשתמשות במערכת (בדיקות התאמה למכשירים, רזולוציות,
מערכות הפעלה, דפדפנים..)
בדיקות רגרסיה (Regression Testing)
בדיקת המערכת כולה לאחר שינוי בכל מודול שלה או
בפונקציונאליות. קשה לכסות את הבדיקות לכן משתמשים בבדיקות אוטומטיות עבור בדיקות
אלה, אם הן אפשריות.
זוהי רשימה חלקית של סוגי הבדיקות השכיחות ביותר. אם אתם בודקים חדשים, אני ממליץ להתעמק יותר בבדיקות, להכיר אותן
לעומק ולחשוב איך הייתם מיישמים את הבדיקות האלה על מוצר כלשהו בזמן שנוח לכם.
בהצלחה.
תודה על המדריך המפורט. אני בדיוק עובד על פרויקט של בדיקת תוכנה לשילוט דיגיטלי והטיפים האלה ישמשו אותי
השבמחק