בעולם שאנחנו נמצאים בו הכל מתנהל על בסיס תוכנות מחשב. את אותן תוכנות כותבים בני אדם, מה שאומר שיכולות להיות בהן לא מעט תקוות.
היכרות עם התוכנה
על מנת להיות בודק תוכנה טוב, יש צורך כמובן להכיר את התוכנה היטב. בניגוד למה שאולי ניתן לחשוב, הסבר קצר אודות התוכנה לא באמת יוכל לעזור לבודק. מתכנתים טובים יודעים איך לפתור מקרים בסיסיים בצורה טובה, והמטרה של הבדיקה היא לגלות את הטעויות שאינן טריוויאליות.
איתור של טעויות כאלו דורש הבנה מעמיקה של התוכנה, ולכן חשוב שהבודקים יחזיקו בה. בנוסף, כדאי להבהיר לבודקים מאיזה כיוון עלולות לצוץ תקלות בתוכנה, אך גם להשאיר להם את הזכות לבדוק את מה שנראה להם. לכותבי התוכנה לא תמיד קל להחליף נקודת מבט שנחוצה כדי לאתר כשלים.
בדיקת מקרי קצה
אחד הדברים החשובים בכל הנוגע לבדיקת תוכנה הוא הצורך לבדוק מקרי קצה. בדרך כלל התוכנה תקרוס לא במקומות שבהם היינו מצפים שזה יקרה, כך שחשוב לנסות 'לאתגר' את התוכנה ולראות כיצד היא מגיבה לסיטואציות או לקלטים שאינם הקלטים הרגילים איתם היא אמורה להתמודד, כדי לוודא שהיא יודעת לתת להם מענה.
דוגמאות לבדיקות qa
בדיקת שמישות: הערכת עד כמה האפליקציה ידידותית ואינטואיטיבית למשתמש. בודקי תוכנה qa עשויים לצפות במשתמשים אמיתיים בזמן שהם מנווטים בתוכנה כדי לזהות אזורי בלבול או קושי.
בדיקת תאימות: הבטחת התוכנה פועלת על פני מכשירים, דפדפנים ומערכות הפעלה שונות. לדוגמה, אימות שאתר מוצג כהלכה גם ב-Chrome וגם ב-Safari.
בדיקה אוטומטית: כתיבת סקריפטים כדי להפוך מקרי בדיקה חוזרים לאוטומטיים, כגון אימות שכל הקישורים בדף אינטרנט פועלים או בדיקה שטופס נשלח כהלכה עם קלט תקף ולא חוקי.
QA אף פעם לא נגמר
עוד דבר שחשוב לזכור בהקשר של QA הוא שמדובר על עבודה שלעולם לא נגמרת. גם כאשר הקוד שלכם טוב והתוכנה רצה כמצופה, אף פעם אי אפשר לדעת שאין מקרי קצה או סיטואציות שלהן התוכנה שלכם לא נותנת מענה.
לאור זאת, בודקי תוכנה qa בודקים את התוכנה כל הזמן, לנסות לתקוף אותה מכיוונים שונים ולמצוא פרצות שטרם נמצאו. זכרו, כל עוד אתם אלו שמוצאים את הבעיות ולא הלקוחות, שום דבר בתוכנה שלכם לא ייפגע. מצב הפוך הוא כמובן הרבה פחות רצוי.
אבטחת מידע
אחד התחומים שמשיקים בצורה הדוקה לQA הוא אבטחת תוכנה. הסיבה המרכזית לכך היא שפרצות בתוכנה עצמה הן גם סכנות מבחינת האבטחה שלה, כיון שבדרך כלל אותן פרצות מהוות דרך נוחה לחדור את התוכנה. לאור זאת, חלק מהעבודה של בודקי תוכנה היא גם לאתר פרצות אבטחה או פרצות שמהן יכול להתפתח כשל אבטחתי. עם זאת, QA כזה נחשב למורכב יותר, והוא דורש כמובן ידע באבטחת תוכנה.
לסיכום
QA או בעברית בדיקות תוכנה היא מלאכה שהמטרה שלה היא לוודא את תקינותה של תוכנה מסוימת. ברמה הבסיסית מדובר על בדיקות qa שגרתיות שנועדו לוודא שהתוכנה אכן מיישמת את מה שהיא אמורה לעשות. בשלב מתקדם יותר הQA נועד לבדוק את איכות התוכנה, את רוחב המענה אותו היא נותנת וכמובן לאתר בה פרצות מסוימות.