בדיקות תאימות הן מרכיב אינטגרלי באסטרטגיות רבות של אבטחת איכות, המאפשרות לחברות לראות אם התוכנה שלהן מתפקדת כהלכה בפלטפורמות שונות. אפילו עבור תוכנית בלעדית למחשב שולחני, יש כמה מערכות הפעלה מרכזיות שצריך לתת עליהן את הדעת ומאות – אם לא אלפי – הבדלי חומרה שעלולים להשפיע על היציבות. הבנת תהליך בדיקת התאימות והיתרונות הרגילים שלו יכולה לעזור להבטיח השקת מוצר יעילה שמסוגלת להגיע לקהל המשתמשים הגדול ביותר האפשרי.
למרות שבדיקות תאימות יכולות להציע מספר יתרונות, ישנם גם מספר אתגרים משמעותיים שצוות בדיקות תוכנה צריך להתגבר עליהם כדי למקסם את הפוטנציאל של טכניקה זו. ישנן גם פרקטיקות ספציפיות שהמחלקות הללו צריכות להשתמש כדי להשיג את התוצאות הטובות ביותר – ולהבטיח כיסוי מקיף של הבדיקות.
במאמר זה, אנו בוחנים מקרוב את בדיקות התאימות, כולל הצעדים החיוניים שצוותים צריכים לבצע וכן את כלי הבדיקה השימושיים ביותר הזמינים כיום.
במה זה בדיקת תאימות
בדיקות והנדסת תוכנה?
בדיקת תאימות בוחנת תוכנה על פני מכשירים שונים, חומרה וקושחה כדי לוודא שהיא מתפקדת בהתאם לציפיות הצוות. כל משתמש עשוי להיות מעורב בתוכנית שלו במכשיר חדש, וזה עושה את זה חשוב שהחברה תוכל להבטיח לכולם חוויה דומה. בדיקות תאימות, למשל, יכולות לכלול בדיקה של כל תכונה של אפליקציה כדי לוודא שהיא פועלת בכל מערכת הפעלה מרכזית.
ללא בדיקות תאימות יסודיות, בהחלט ייתכן שחברה תשחרר אפליקציה שאינה עובדת עבור מכשירים פופולריים מסוימים. בדיקות אלו חייבות להיות מקיפות לחלוטין מכיוון שעלולה להיווצר בעיה בכל מספר דרכים – ייתכן שהאפליקציה הזו לא תפעל עם סוג מסוים מאוד של כרטיס גרפי, למשל. כאשר הם משולבים לצד צורות אחרות של בדיקות תוכנה, צוותי אבטחת איכות יכולים לוודא שהתוכנית שלהם מוכנה לשחרור.
1. מתי ומדוע עליך לבצע בדיקת תאימות עבור יישומים ניידים, אתרים, מערכות וחוצה דפדפנים?
חברות עורכות בדיקות תאימות בשלב בדיקות התוכנה שלהן, במיוחד כאשר יש להן גרסה 'יציבה' של התוכנית המשקפת במדויק את האופן שבו היא תתנהג ללקוחות. זה ממשיך לאחר אלפא , קבלה וצורות בדיקות אחרות שמחפשות לעתים קרובות יציבות כללית ובעיות הקשורות לתכונות. אם אפליקציה נתקלת בבעיות במהלך שלב בדיקת התאימות, זה בדרך כלל נובע מבעיות ספציפיות הקשורות לתאימות. הפעלת בדיקות אלו מוקדם מדי יכולה למעשה להפוך אותן למיותרות, שכן שינויים קלים בהמשך מחזור הפיתוח של התוכנית יכולים להשפיע באופן קיצוני על התאימות.
בדיקת תאימות לדפדפנים ותוכנה היא חשובה מכיוון שהיא עוזרת לחברות לשחרר אפליקציה שהן יודעות שיפעל כראוי כמעט בכל מכשיר אפשרי. לדוגמה, בדיקות תאימות בין דפדפנים במיוחד עוזרות להבטיח שלאנשים המשתמשים ב-Opera יש את אותה חוויה כמו אלה המשתמשים ב-Firefox ובדפדפנים גדולים אחרים. הצוות בודק בדרך כלל כמה וריאציות חומרה/תוכנה ככל שהזמן והתקציב שלהם מאפשרים. משמעות הדבר היא שהם חייבים לתעדף בצורה חכמה מערכות או דפדפנים שהלקוחות שלהם נוטים יותר להשתמש בהם, ולאפשר להם להבטיח כיסוי בדיקות רחב ומוצר בר-קיימא.
2. כאשר אין צורך לבצע בדיקת תאימות תוכנה
חברות עשויות ליצור אפליקציה בהתאמה אישית עבור מערכת הפעלה או דגם ספציפיים, ולהגביל באופן מסיבי את מספר הבדיקות הנדרשות. בדיקות תאימות בין דפדפנים בבדיקות תוכנה עשויות להיות מיותרות אם תוכנית זו אינה דורשת דפדפן, למשל. זמן יכול להיות גם גורם רציני ביכולתה של חברה לבצע את הבדיקות הללו, אם כי צוותי הבדיקה עדיין צריכים לעבוד כדי להבטיח שהמערכות והדפדפנים העיקריים תואמים לתוכנה. ישנם גם פרויקטים מסוימים שאינם יכולים להפיק תועלת מבדיקות תאימות בסיסיות.
3. מי מעורב בבדיקת תאימות?
הנה האנשים העיקריים שעורכים בדיקות תאימות בבדיקות תוכנה :
1. מפתחים
צוות הפיתוח בודק את ביצועי האפליקציה בפלטפורמה אחת במהלך הפיתוח ואולי זה אפילו המכשיר היחיד בו מתכוונת החברה לשחרר את התוכנית.
2. בודקים
צוותי אבטחת איכות , בין אם בתוך החברה או שנשכרו חיצונית, בודקים תצורות אפשריות רבות כחלק משלב בדיקת התאימות של האפליקציה, כולל כל מערכות ההפעלה והדפדפנים הגדולים.
3. לקוחות
ייתכן שללקוחות החברה יש חומרה או תצורות שהצוות לא הצליח לבדוק ביסודיות, מה שעלול להפוך את חווית המשתמש שלהם לבדיקה האמיתית הראשונה של ההגדרה הספציפית הזו.
היתרונות של בדיקת תאימות
היתרונות הרגילים של בדיקת תאימות תוכנה כוללים:
1. קהל רחב יותר
ככל שצוות בודק את התוכנה שלו בצורה יסודית יותר, כך הוא יכול לשחרר אותה בביטחון עבור יותר מכשירים, מה שמבטיח שקהל רחב על פני פלטפורמות רבות יוכל ליהנות מהיישום שלה. זה מאפשר לחברות להשיג יותר מכירות של מוצרים בתוכנית ועשויים גם לשפר את מספר הביקורות החיוביות שתוכנה זו מקבלת ממשתמשים.
2. משפר את היציבות
בדיקות תאימות בבדיקות תוכנה חיוניות להדגשת בעיות יציבות וביצועים, שלעיתים קרובות יכולות להיות בולטות יותר במכשירים שונים – במיוחד אם המפתחים תכננו את האפליקציה הזו רק עבור פלטפורמה אחת. בדיקת תאימות מערכת מראה לחברה למה המשתמשים (במגוון רחב של מכשירים) יכולים לצפות מהביצועים הכוללים של התוכנה.
3. מחדד את הפיתוח
לבדיקות אלו יש גם השפעות משמעותיות לטווח ארוך על צוות פיתוח. לדוגמה, בדיקת תאימות לנייד יכולה לספק מידע רב ערך על פיתוח אפליקציות שעסקים עשויים להתייחס אליו כאשר הם יוצרים תוכניות נוספות. זה עשוי להוזיל משמעותית את ההוצאות של מבחני התאמה לפרויקטים עתידיים, ולאפשר להם לעשות שימוש חוזר בלקחים שהם לומדים מתהליך זה.
4. מאמת בדיקות אחרות
רוב צורות הבדיקות עד לנקודה זו מוגבלות בהיקפן ואינן בודקות כל שילוב אפשרי של חומרה או תוכנה – בדיקות אלו יכולות למעשה לבדוק תוצאות אלו פעמיים. בדיקת תאימות בין דפדפנים, למשל, מאמתת את שלבי אבטחת האיכות הקיימים מראש על ידי מראה שהתוצאות זהות כאשר למשתמש יש דפדפן אחר.
5. מפחית עלויות
בדיקות תאימות יכולות גם להוזיל עלויות עבור התוכנית הנוכחית, לעזור לצוותים לזהות בעיות לפני שאפליקציה נכנסת לפרסום הציבורי – בשלב זה, תיקון שגיאות הופך יקר יותר. ככל שהבדיקות של צוות מגוונות יותר (וככל ששיעור כיסוי הבדיקות שלהן גבוה יותר), כך זול יותר להסיר שגיאות כלשהן כשהן מתעוררות וכאשר הן מופיעות.
אתגרים של בדיקות תאימות
להלן אתגרים נפוצים שחברות עשויות להתמודד איתם כשהן מיישמות בדיקות תאימות בבדיקות תוכנה:
1. זמן מוגבל
בעוד שכלי אוטומציה ופתרונות אחרים יכולים להאיץ משמעותית את בדיקות התאימות על ידי הדמיית מגוון מכשירים, תהליך זה עדיין חייב לעמוד בלוח הזמנים של הפיתוח של החברה. המשמעות היא שצוות הבדיקות צריך לתעדף את המכשירים והדפדפנים הנפוצים ביותר על מנת להבטיח שהם יקבלו את הקהל הרחב ביותר (והמאוכלס ביותר).
2. חוסר במכשירים אמיתיים
בדיקות אלו כוללות בדרך כלל מכונות וירטואליות המדמות את הרכיבים והתנאים של מכשירים אמיתיים; זה הרבה יותר זול (ומהיר) מאשר רכישה עצמאית של החלקים והפלטפורמות הרלוונטיות. עם זאת, זה יכול להשפיע על הדיוק של תוצאות אלה; במיוחד מכיוון שהביצועים תלויים לעתים קרובות באופן שבו משתמשים מפעילים מכשיר אמיתי.
3. קשה להגן לעתיד
בדיקות תאימות יכולות לעסוק רק בפלטפורמות שכבר קיימות; המשמעות היא שהם לא יכולים להבטיח שהיישום יפעל כצפוי בגירסאות עתידיות של Windows ו-Google Chrome. ארגונים יכולים לתקן רק את זה לאחר ההשקה, שלעתים קרובות הוא יקר יותר, והאפליקציה עשויה בסופו של דבר להיות מיושן כתוצאה מכך.
4. תחזוקת תשתיות
אם צוות אכן מחליט לבדוק כמות משמעותית של פלטפורמות בתוך הבית, הדבר עלול לגרום לעמלות תשתית גבוהות. בדיקת תאימות ליישומים ניידים , למשל, עשויה לכלול רכישת מספר מכשירים ניידים אמיתיים. למרות שזה מדויק יותר מבדיקת תאימות חומרה מדומה, זה יקר וכרוך בדרך כלל בתחזוקה שוטפת.
5. מספר גבוה של שילובים
בדיקת תאימות אחראית לגורמים מצטלבים רבים, כגון מערכת ההפעלה, הדפדפן, החומרה, הקושחה ואפילו רזולוציית המסך. גם אם לצוות המבחן יש הרבה זמן, זה יהיה למעשה בלתי אפשרי להכיל כל אפשרות. בדיקת תצורה ותאימות חייבת שוב לתעדף את שילובי המכשירים הסבירים ביותר.
מאפיינים של בדיקת תאימות
המאפיינים העיקריים של מבחני תאימות כוללים:
1. יסודי
בדיקות אלה חייבות להיות מסוגלות לבודד כל בעיות תאימות אפשריות המתעוררות בין מכשירים – או שהצוות עלול בסופו של דבר לשחרר תוכנית פגומה. לדוגמה, בדיקות אלו חייבות לוודא שכל תכונה בודדת של האפליקציה תוצג כמצופה, ללא קשר לרזולוציית המסך של המשתמש.
2. מרחיב
הבדיקות אמורות לשמור על איזון של עומק ורוחב, ולסייע לצוותים לחקור מספר בעיות בתצורות מכשירים רבות. בדיקת תאימות בין דפדפנים בוחנת מגוון רחב של שילובי מערכת הפעלה ודפדפנים, ומבטיחה רמת כיסוי גבוהה – לפעמים בעזרת פתרון אוטומטי .
3. דו כיווני
תהליך זה כולל בדיקות תאימות לאחור והן קדימה; הראשון מאפשר לצוות לראות כיצד האפליקציה שלהם תפעל על חומרה ישנה יותר. זה האחרון מאפשר לצוות לגשת לפלטפורמות מתקדמות, ועוזר להם להבטיח ביצועים מוצלחים לטווח ארוך, גם אם יכולות ההגנה לעתיד שלהם מוגבלות למדי.
4. ניתן לחזרה
הבעיות שבדיקות אלו חושפות חייבות להיות קלות עבור בודקים ומחלקות אחרות לחזור עליהן – מה שמראה שהן משקפות שגיאות שסביר שהמשתמשים יתקלו בהן. אם בדיקת תאימות לאתר מצביעה על תכונות ספציפיות שאינן פועלות בדפדפן מסוים, יכולת החזרה עוזרת למפתחים לטפל בבעיה.
סוגי בדיקות תאימות
הסוגים העיקריים של בדיקות תאימות הם כדלקמן:
1. בדיקת תאימות לאחור
בדיקת תאימות לאחור כוללת בדיקת האפליקציה באמצעות גרסאות ישנות יותר של החומרה העכשווית – זה חיוני מכיוון שהגבלת בדיקות אלו למכשירים מודרניים עשויה להגביל משמעותית את מספר המשתמשים. אנשים רבים עדיין עושים שימוש במערכות הפעלה ישנות יותר, כמו Windows 8, למשל.
2. בדיקת תאימות קדימה
בדיקות תאימות קדימה דומות אך במקום זאת בוחנים טכנולוגיות מודרניות או עתידיות כדי לראות אם האפליקציה צפויה להמשיך לעבוד במשך שנים למרות התקדמות ועדכונים. ללא בדיקות אלו, התוכנה עשויה אפילו להפסיק לפעול עם עדכון הדפדפן הבא, למשל.
3. בדיקת תאימות דפדפן
בדיקות תאימות של דפדפן אתרים מבטיחות שיישום אינטרנט או אתר יכולים לעבוד על דפדפנים שונים; זה חיוני מכיוון שהם משתמשים במנועי פריסה שונים. צוותי אבטחת איכות אפילו בודקים תאימות בין דפדפנים – כלומר הם בודקים שכל דפדפן יכול לטפל באפליקציה במערכות הפעלה נפרדות.
4. בדיקת תאימות לנייד
בדיקת אפליקציות לנייד היא תהליך דומה לבדיקת יישומי שולחן עבודה ואינטרנט, במיוחד מכיוון שמערכת ההפעלה של הטלפון היא שיקול מרכזי נוסף. אפליקציות אנדרואיד ו- iOS , למשל, מגיעות בפורמטים שונים לחלוטין ודורשות תהליך פיתוח ובדיקה נפרד לחלוטין כדי להכיל את שניהם.
5. בדיקת תאימות לחומרה
בדיקות אלו מסתכלות על הרכיבים הספציפיים המרכיבים את המכונה וכיצד הם עשויים להשפיע על תוכנית; זה קריטי כמעט לכל סוג של מכשיר. לדוגמה, למחשב יכול להיות כרטיס גרפי שאינו יכול לעבד בהצלחה את הממשק של יישום אינטרנט .
6. בדיקת תאימות מכשירים
יישומים מסוימים מתחברים להתקנים חיצוניים באמצעות Bluetooth, פס רחב או חיבור קווי. ייתכן שאפליקציה תצטרך להתחבר למדפסת, למשל. בדיקות אלו שואפות לוודא שהתוכנית מתקשרת עם החיבורים של הפלטפורמה עצמה וכל המכשירים אליהם היא יכולה לגשת.
7. בדיקת תאימות לרשת
אם אפליקציה דורשת פונקציונליות רשת כדי לפעול – כמו למשל על ידי התחברות למסד נתונים מקוון דרך שרת החברה – הדבר מצריך בדיקות תאימות רבות. זה מבטיח שהתוכנית מסוגלת לפעול במהירות מתאימה עם חיבור רשת Wi-Fi, 4G או 3G.
מה אנחנו בודקים בבדיקות תאימות?
בודקי תאימות בדרך כלל בודקים את הדברים הבאים:
1. ביצועים
אחת המטרות העיקריות של בדיקות תאימות היא להבטיח יציבות, מכיוון שחלק מההיבטים של האפליקציה עשויים להיות בלתי תואמים לחלוטין לפלטפורמות נפוצות. על ידי הסתכלות על ההיענות הכוללת של תוכנית זו, צוות הבדיקה מבטיח שלא יהיו קריסות רציניות במכשירים מסוימים.
2. פונקציונליות
בדיקת תאימות בודקת גם את התכונות והפונקציות הכלליות של אפליקציה כדי להבטיח שהתוכנה מסוגלת לספק את התוצאות הנכונות. לדוגמה, ייתכן שמערכת ניהול קשרי לקוחות לא תוכל להציע נתוני מכירות או ניתוח כללי עבור משתמשים עם מערכת הפעלה מיושנת.
3. גרפיקה
דפדפנים או מכשירים מסוימים עשויים להתקשות בעיבוד אלמנטים גרפיים מסוימים בשל מספר סיבות – ובדיקות תאימות יכולות לעזור בכך. ייתכן שתוכנית תוכל לפעול רק ברזולוציות מסך ספציפיות, אלא אם המפתחים ישנו את אופן הצגת התוכן שלה.
4. קישוריות
מבחני תאימות גם בודקים כיצד התוכנית משתלבת באופן ספציפי הן עם המכשיר של המשתמש והן עם מסד הנתונים שלו, ומאפשרים לה לזהות מכשירים כגון מדפסות. בדיקות אלו עשויות, למשל, לגלות שהאפליקציה אינה מסוגלת להתחבר למסד הנתונים שלה ברשתות דור שלישי.
5. רבגוניות
בדיקות אלו מוודאות שהאפליקציה של החברה מגוונת מספיק כדי לעבוד על גרסאות ישנות וחדשות של אותה מערכת הפעלה באמצעות מבחני תאימות אחורה וקדימה. זה מבטיח שמשתמשים לא יינעלו מהתוכנית אם התוכנה שלהם מיושנת בכמה שנים.
סוגי פלטים מבדיקות תאימות
שלושת התפוקות העיקריות של מבחני תאימות הן:
1. תוצאות הבדיקה
הפלט הנפוץ ביותר עבור בדיקות אלו הוא התוצאות עצמן, שיכולות ללבוש צורות רבות. לדוגמה, בדיקת תאימות דפדפן עשויה לגלות שאפליקציית אינטרנט גורמת לדליפת זיכרון ב-Microsoft Edge בעוד שלאותה אפליקציה אין השפעות שליליות על דפדפנים מבוססי כרום. לחלופין, האפליקציה יכולה לעבוד בדיוק כפי שהצוות מצפה בפלטפורמות הרלוונטיות.
2. יומני בדיקה
תוצאות הבדיקה מתבטאות גם בצורה של יומנים של האפליקציה עצמה, המדגישים בעיות תוכנה שהתגלו באמצעות הודעות שגיאה. יומנים אלה יכולים אפילו לזהות את החלק הספציפי של תוכנית שגורם לשגיאה זו. עבור בדיקות תאימות במיוחד, הבודקים חייבים להכיר את האופן שבו יומנים אלו באים לידי ביטוי ולהציג את הבעיות הללו על פני פלטפורמות שונות.
3. מקרי מבחן
מקרי בדיקת תאימות מגדירים אילו בדיקות יבצע הצוות, ומציע להם מקום לתעד את התוצאות בפורמט פשוט. על הבודקים להשתמש בידע שלהם על התוכנה, בשילוב עם התוצאות והיומנים, כדי לזהות את הסיבה לבעיה. ככל שהם מספקים יותר מידע, כך המפתחים יכולים להתחיל תיקוני באגים מהר יותר.
סוגי ליקויים שזוהו
באמצעות בדיקת תאימות
להלן השגיאות הנפוצות ביותר שבדיקות תאימות יכולות לזהות:
1. קנה מידה של פריסה
בדיקת תאימות אתרים יכולה להראות אם הרכיבים המרכיבים אפליקציית אינטרנט , או אפילו דפי אינטרנט, מותאמים למכשיר של המשתמש, במיוחד לרזולוציה וגודל המסך שלהם. כתוצאה מכך, חלק מהגרפיקה עשויה להיות קשה לראות בדפדפנים ספציפיים.
2. תוכנה קורסת
מבחני תאימות מקלים לראות אם אפליקציה מסוגלת לרוץ בפלטפורמות מסוימות. לדוגמה, מפתח משחקים יכול לגלות את דרישות המערכת המינימליות של המוצר שלו על ידי בדיקה אילו מכשירים קורסים עקב זיכרון RAM ומהירות לא מספיקים של מעבד בעת הפעלת הבודקים.
3. בעיות אימות HTML/CSS
דפדפנים ומכשירים שונים קוראים קוד בדרכים נפרדות – כאשר חלקם מתקנים אוטומטית שגיאות הקלדה פשוטות בקידוד, כגון אי סגירה נכונה של תג HTML. בדיקת תאימות דפדפן עשויה לזהות מקרים של CSS לא חוקי שמונע מהאפליקציה לייצר את התוכן שלה ואפילו פונקציות בסיסיות.
4. שגיאות בהפעלת וידאו
נגני וידאו מודרניים רבים עושים שימוש ב-HTML5 כדי להזרים סרטונים באינטרנט, כאשר זה עשוי להיות חלק מרכזי באפליקציית האינטרנט של החברה. עם זאת, צוותים שבודקים תאימות של דפדפן אתרים עשויים לגלות שתכונות הווידאו של האפליקציה שלהם אינן תואמות לדפדפנים מיושנים.
5. אבטחת קבצים
בדיקות תאימות בהנדסת תוכנה יכולות למצוא גם בעיות באבטחת קבצים וכיצד זה משתנה בין המכשירים. לדוגמה, לגירסאות חדשות יותר של Windows יש אבטחת קלט/פלט חזקה יותר. זה יכול להוביל לכך שהאפליקציה (כגון תוכנת אנטי-וירוס) תתקשה לגשת לקבצי המכשיר.
תהליך בדיקת תאימות
השלבים הרגילים של בדיקת תאימות הם:
1. ערכו תוכנית בדיקה
תוכנית בדיקה מקיפה היא קריטית לבדיקת תאימות; צוות אבטחת האיכות יכול להתייחס לכך לפי הצורך במהלך הבדיקות שלהם. לדוגמה, זה מפרט את המכשירים שהם יבדקו ואת הקריטריונים לעבור או להיכשל; הם גם חייבים לקבוע אם הם ישתמשו באוטומציה רובוטית של תהליכים .
2. הגדר מקרי בדיקה
מקרי בדיקה חשובים באותה מידה שכן הם מרחיבים את בדיקות התאימות הספציפיות שהצוותים מריצים והמכשירים הספציפיים איתם הם עובדים. זה מכיל גם את הצעדים המדויקים שהבודקים ינקטו, והרבה מקום עבורם לתעד את התוצאה וכל מידע שיעזור למפתחים לאכוף תאימות.
3. קבע את סביבת הבדיקה
יש צורך בסביבת בדיקה מבודדת ועצמאית ללא השפעות חיצוניות כדי להבטיח בדיקות מדויקות, וגם לאפשר לצוות אבטחת האיכות לזהות מהיכן מגיעות הבעיות שהם חושפים. נוסף על כך, הבודקים יכולים לבצע את הבדיקות שלהם באפליקציה מבלי לפגוע בגרסה ה'אמיתית' בשום צורה.
4. בצע את הבדיקות
עם מקרי הבדיקה והסביבה מוכנים במלואם, הצוות יכול להתחיל את מבחני התאימות – אפילו עם פתרון אוטומטי, יש להם רק פרק זמן מוגבל. הבודקים יצטרכו לתעדף את מערכות ההפעלה ותצורות ההתקן הנפוצות ביותר כדי לתת את הדעת לכך, ולהבטיח כיסוי בדיקה רחב למרות מגבלות אלו.
5. בדיקה חוזרת
לאחר השלמת הבדיקות והמפתחים יקבלו את מקרי הבדיקה, הם ישנו את האפליקציה בדרכים שישפרו את התאימות שלה, אם כי ייתכן שהדבר אינו אפשרי עבור כל המכשירים. לאחר מכן הבודקים בודקים שוב את האפליקציה ומוודאים שהבעיות שהם חשפו בעבר כבר לא קיימות ואין שגיאות גדולות חדשות.
מדדי בדיקת תאימות נפוצים
להלן מספר מדדים נפוצים המשמשים עבור מבחני תאימות:
1. רוחב פס
מבחני תאימות לרשת מודדים כיצד האפליקציה מתקשרת עם רשתות שונות, כולל פס רחב ורשתות נתונים ניידים. רוחב הפס המינימלי הדרוש לתוכנית לביצוע תפקידיה הרגילים ולהתחבר למסד הנתונים של החברה עשוי להיות גבוה מדי עבור חיבור 3G ממוצע, למשל.
2. שימוש במעבד
אחת הדרכים שבהן בעיות ביצועים באות לידי ביטוי היא באמצעות שימוש גבוה באופן לא פרופורציונלי ב-CPU – זה יכול לומר שהמכשיר פשוט לא עומד בדרישות המינימום של התוכנית. בעיות מעבד עשויות גם להשפיע על זמן התגובה של היישום, להגביל את הפונקציונליות שלו ולגרום לאיחור מספיק כדי לנתק את המשתמשים.
3. סולם שימושיות מערכת
סולם השימושיות של המערכת הוא דרך נפוצה למדידת פרטים סובייקטיביים של תוכנית, הכוללת עשר שאלות בסיסיות לגבי השימושיות של אפליקציה. ציון ה-SUS המתקבל הוא מתוך 100 ועשוי להיות שונה מפלטפורמה אחת לאחרת עקב שגיאות גרפיות.
4. סך כל הליקויים
מדד זה הוא קבוע על פני רוב סוגי הבדיקות, ומאפשר לבודקים להבין את המצב הנוכחי של התוכנית. זה גם אפשרי לצוות להשוות סכומי פגמים בין פלטפורמות שונות. על ידי כך, הבודקים יכולים להדגיש את השגיאות הנובעות מחוסר תאימות.
5. ציון SUPRQ
בדומה לציון ה-SUS של אפליקציה, שאלון אחוזי דירוג חווית משתמש סטנדרטי הוא דרך לבודקים לדרג אפליקציה לפי מספר גורמים מרכזיים, כולל שימושיות ומראה. זה עוזר להם לזהות כיצד לקוחות עשויים להתקשה להשתמש באפליקציה במכשירים מסוימים.
7 טעויות ומלכודות ביישום מבחני תאימות
להלן שבע טעויות משמעותיות שכדאי להימנע מהם בעת ביצוע בדיקות תאימות:
1. חוסר במכשירים אמיתיים
למרות שזה יהיה בלתי אפשרי לבדוק על כל שילוב מכשירים אפשרי, צוות בדיקות עדיין יכול להפיק תועלת משימוש בכמה מכשירים אמיתיים שהוא יכול למקור. פלטפורמות שונות מציעות מכשירים 'אמיתיים' באמצעות פתרונות ענן על מנת להקל על בדיקות תאימות בין דפדפנים בדרכים שיכולות לשקף ביצועים מקוריים.
2. הימנעות ממכשירים ישנים יותר
משתמשים רבים עדיין ניגשים ליישומים שלהם בגרסאות ישנות יותר של Windows או iOS; התמקדות מלאה במהדורות חדשות של מכשירים ומערכות הפעלה פופולריות עלולה להגביל את טווח ההגעה של מוצר. אם הצוות לא ירחיב את הבדיקות שלו למכשירים 'מיושנים', חלק ניכר מהקהל שלהם עלול להתקשה להשתמש בתוכנית.
3. ניהול כושל בזמן
לעתים קרובות יש נפח גבוה של מכשירים ותצורות שידרשו בדיקת תאימות, כלומר הצוות חייב לנהל את הזמן שלו כדי לבדוק כמה שיותר כאלה. זה חשוב מכיוון שהבדיקות בדרך כלל עדיין נמשכות לקראת סוף הפיתוח; ניהול כושל עלול להגביל באופן מסיבי את מספר הצ'קים.
4. תזמון לא תקין
כמו כן, חשוב מאוד שצוותים יוודאו שהם יערכו את הבדיקות הללו בשלב סביר בפיתוח התוכנית, רצוי לאחר בדיקות אלפא ורוב צורות הבדיקות הפונקציונליות . זה מקל לראות אם בעיה היא פגם כללי או ספציפי למכשירים שהצוות מסתכל עליהם.
5. לא מתחשב ברזולוציית המסך
רזולוציית המסך יכולה להוות גורם הרבה יותר גדול בתאימות ממה שצוותי בדיקה רבים מזהים – במיוחד מכיוון שהיא ניתנת להתאמה אישית; ומשפיעה על האופן שבו מכשיר מציג אלמנטים גרפיים. אפילו עם תאריך יעד חודר למבחני תאימות, חיוני שצוותי הבדיקה עדיין יפעלו כדי להתאים זאת באסטרטגיה שלהם.
חוסר מומחיות
בודקים צריכים להיות מיומנים מאוד כדי לבדוק את תאימות האתר, הדפדפן והתוכנה בין הצורות הרבות האחרות שהבדיקות הללו יכולות ללבוש. אם מנהיג בדיקות מקצה לאחד מחברי הצוות שלו לבצע בדיקות תאימות ואין לו ניסיון מספיק, הדבר עלול להאט את הבדיקות ולהגביל את דיוקן.
6. אין דיון קודם
מכיוון שבדיקות תאימות גוזלות לעתים קרובות זמן (ועשויות לדרוש מגוון רחב של מכשירים), הצוותים חייבים לקבוע במלואם את היקף הבדיקות שלהם בשלב מוקדם של אבטחת האיכות. לדוגמה, עליהם להיות בעלי מושג ברור אילו מכשירים או תצורות ספציפיים הם מתכוונים לבדוק עוד לפני שהבדיקות שלהם מתחילות.
שיטות עבודה מומלצות לבדיקת תאימות
הדרכים הטובות ביותר להבטיח בדיקות תאימות באיכות גבוהה כוללות:
1. מבחן לאורך כל הפיתוח
כאשר התוכנה משתנה באופן משמעותי משבוע לשבוע, הדבר יכול להשפיע על מידת התאמתה של התוכנית למכשירים המיועדים לה. הצוותים חייבים לבצע שוב ושוב בדיקות תאימות בין תוכנות ודפדפנים כדי לוודא שהאפליקציה עדיין פועלת היטב בפלטפורמות אלו לאחר שינויים התפתחותיים.
2. השתמש במכשירים אמיתיים
חלק מכלי בדיקת התאימות מציעים גישה למכשירים מדומים 'אמיתיים' המסוגלים להידמות מאוד לחוויית המשתמש עבור אותה פלטפורמה. זה מאפשר לך להבטיח תאימות בין יותר מכשירים תוך שמירה על רמת דיוק גבוהה שאינה קיימת בפתרונות אוטומטיים מסוימים.
3. תעדוף את הבדיקות
עם פרק זמן מוגבל לביצוע בדיקות אלה, בודקי תאימות עשויים להצטרך לתעדף את המכשירים, הדפדפנים ומערכות ההפעלה הנפוצות ביותר. באופן דומה, צוות הבדיקה צריך לבדוק תחילה את התכונות הקריטיות ביותר של התוכנה כדי להבטיח פונקציונליות בסיסית במכשירים אלה.
4. שלב טכניקות זריזות
חברות מסוימות בוחרות לאמץ גישה מבוססת ספרינט עבור מבחני התאימות שלהן, מה שמאפשר להן להגיע בקלות לאבני דרך בדיקה – כמו בדיקת מספר מסוים של מכשירים. Agile מעודד תקשורת בין-מחלקות תוך מתן מבנה מבחן מוגדר שיכול להבטיח שיפור עקבי ומהיר.
5. הגבל את היקף הבדיקה
צוותי אבטחת האיכות חייבים לדעת מתי לסיים את הבדיקות שלהם ואפילו לקבל מקרה של אי התאמה. במקרה זה, ייתכן שהמפתח לא ישנה את התוכנה, ובמקום זאת יוכל לשנות את דרישות המינימום אם יהיה קשה מדי לעקוף זאת באמצעות תיקוני באגים.
דוגמאות למקרים ותרחישים של בדיקת תאימות
מקרי בדיקת תאימות קובעים את התשומות של צוות הבדיקה, אסטרטגיית הבדיקה והתוצאות הצפויות; את האחרון שבהם הם משווים לתוצאות בפועל. מכיוון שהבדיקות מכסות מכשירים ותצורות רבות, לרוב מדובר בתהליך נרחב.
מקרים אלה כוללים בדרך כלל:
• בדוק את תצוגת ה-HTML של יישום האינטרנט כהלכה.
• בדוק שקוד ה-JavaScript של התוכנה ניתן לשימוש.
• בדוק אם האפליקציה פועלת ברזולוציות שונות.
• בדוק שהתוכנית יכולה לגשת לספריית הקבצים.
• ודא שהאפליקציה מתחברת לכל הרשתות הקיימות.
להלן דוגמאות ספציפיות לבדיקות תאימות בבדיקות תוכנה עבור תוכניות שונות:
1. אפליקציית רשתות חברתיות
רשתות חברתיות בדרך כלל לובשות צורה של אפליקציות אינטרנט בדפדפנים ואפליקציות ניידות למכשירים מתאימים; שני הסוגים דורשים בדיקה יסודית באותה מידה. לדוגמה, האפליקציה לנייד זו חייבת להיות פעילה במלואה במכשירי iOS ואנדרואיד לכל הפחות – כשהצוות בודק מכשירים ישנים וחדשים תחת כל מערכת הפעלה. אם דגם ספציפי של אייפון אינו יכול להציג קובצי GIF מונפשים, למשל, הצוות חייב לזהות מה גורם לכך כדי להבטיח חווית משתמש עקבית.
2. משחק וידאו
משחקי וידאו בדרך כלל מציעים אפשרויות גרפיות הניתנות להתאמה אישית שמשתמשים יכולים לשנות כדי להתאים למכונה שלהם; זה כולל שליטה ברזולוציית המסך והבטחת קנה המידה של ממשק המשתמש בצורה מתאימה. בעיות מסוימות עלולות להופיע בהתאם לחומרה הספציפית של הנגן – עם שגיאות כתף שיובילו לגרפיקה מגורעת. זה יכול לנבוע מכרטיס גרפי נפוץ שאינו תואם לעיבוד הטקסטורה של החברה. בהתאם לבעיה המדויקת, הדבר עשוי להתבטא אפילו כקריסת מערכת כאשר מכשירים מסוימים מפעילים את המשחק.
3. מערכת ענן CRM
פתרונות ניהול קשרי לקוחות עושים שימוש רב בבסיסי נתונים כדי לאחזר מידע על העסקאות שלהם, הספקים והיבטים חשובים אחרים של העסק, בעיקר בעזרת אחסון בענן. בודקים צריכים לוודא שבסיס הנתונים הזה ושירותי הענן שלו עובדים ברשתות שונות, כולל 3G ו-4G אם משתמש צריך לגשת אליו ללא קישוריות לאינטרנט. הצוות חייב גם לבדוק מגוון רחב של מערכות הפעלה שכן תקלות מסוימות עשויות להופיע רק במכשירי לינוקס , למשל.
בדיקות תאימות ידניות או אוטומטיות?
אוטומציה יכולה להיות מאוד מועילה עבור מבחני תאימות, ולאפשר לצוותים לבדוק מספרים גבוהים של מכשירים הרבה יותר מהר מאשר גישה ידנית . עם זאת, בדיקה ידנית עשויה להיות מתאימה יותר כאשר מבצעים בדיקות במספר מוגבל של דפדפנים ומכשירים – לדוגמה, משחק וידאו זמין רק בשתי פלטפורמות. השימושיות של התוכנה היא לרוב גורם מרכזי במבחני תאימות ובדרך כלל דורשת פרספקטיבה אנושית שיכולה לזהות טוב יותר בעיות בעיבוד גרפי. אוטומציה רובוטית של תהליכים עשויה לסייע בכך על ידי הטמעת רובוטי תוכנה שיכולים לחקות ביתר קלות את הגישה של משתמש אנושי למבחני תאימות.
עבור תוכניות המיועדות למגוון רחב של מכשירים, כגון אפליקציות לנייד ואינטרנט, האוטומציה מאפשרת לצוות להבטיח כיסוי בדיקות רחב יותר. הם יכולים אפילו להשתמש בהיפר-אוטומציה כדי לבצע מיקור חוץ מושכל של בדיקות אלה באופן שעדיין מבטיח שבודקים אנושיים בודקים את הפלטפורמות הללו עבור פונקציונליות ספציפית למשתמש. בדיקת תאימות בבדיקה ידנית היא עדיין חובה עבור כמה משימות – כמו בדיקת ממשק המשתמש המוצג כהלכה בכל מכשיר. המשמעות היא שהגישה הטובה ביותר יכולה להיות אסטרטגיה משולבת שיכולה לבחון יותר מכשירים בסך הכל באמצעות אוטומציה, להגביר את הקצב שלהם תוך כדי מתן תשומת לב למשמעות השימושיות.
מה אתה צריך כדי להתחיל בדיקת תאימות?
התנאים המוקדמים העיקריים לבדיקת תאימות כוללים בדרך כלל:
1. צוות בדיקות מוסמך
לבודקי תאימות יש בדרך כלל דרישות מיומנות גבוהות יותר מצורות אחרות של הבטחת איכות, בשל העובדה שהם בודקים מגוון רחב יותר של מכשירים, ולעתים קרובות נתקלים בשגיאות רבות יותר. זה עשוי לכלול פתרון בעיות, תקשורת ותשומת לב לפרטים. על ראשי צוות להקצות בודקים שיש להם ניסיון בבחינת אותה אפליקציה בפלטפורמות רבות.
2. אמולציית מכשיר חזקה
זה יכול להיות קשה למצוא ולבדוק כל מכשיר פיזי בהיקף של הצוות, מה שהופך את האמולציה לחיונית כדי לראות כיצד פלטפורמות שונות מגיבות לאותה תוכנית. תהליך זה הוא לעתים רחוקות מושלם והבודקים חייבים להסתכל על האמולטורים הרבים וכלי הבדיקה האוטומטיים הזמינים כדי לראות איזה מהם מציע את הדיוק הרב ביותר.
3. היקף בדיקה ברור
הצוות צריך להבין את היקפם לפני תחילת הבדיקות; במיוחד מכיוון שזה יכול להחליט את הקצב שבו הם עובדים. למרות שהתוכנית עשויה לשאוף לכסות פלטפורמות רבות, הבודקים צריכים לזהות נקודת ניתוק מתאימה. לדוגמה, בדיקת מערכות הפעלה שפורסמו לפני Windows 7 עשויה להוביל לירידה בתשואות.
4. ניהול זמן
בדיקות תאימות יכולות להתרחש בכל נקודה במהלך שלב הבטחת האיכות, אך בדרך כלל נשמרת לסוף הפיתוח – כאשר התוכנית יציבה ומלאת תכונה. עם זאת, בודקים צריכים לשקול תאימות הרבה לפני זה, מכיוון שלעתים קרובות היא גוזלת זמן. תכנון איתן מראש עוזר לצוות להבטיח שיש לו מספיק זמן לכל בדיקה.
בדיקת תאימות
רשימת בדיקה, טיפים וטריקים
להלן טיפים נוספים שצוותי אבטחת איכות חייבים לזכור בעת ביצוע מבחני תאימות:
1. אל תתמקד בכיסוי מוחלט
בעוד שכל אסטרטגיית בדיקה שואפת למקסם את כיסוי הבדיקה, הם בדרך כלל עוצרים לפני שהם מגיעים ל-100% בגלל התשואה הפוחתת עם שיפורים קלים בלבד עבור מעט מאוד משתמשים. בהקשר של תאימות, צוותים צריכים להבין מתי מעט מדי מהלקוחות שלהם ישתמשו במכשיר כדי שבדיקות אלו יהיו כדאיות.
2. תעדוף שילובים בין דפדפנים
בדיקת תאימות בין דפדפנים כוללת בדיקת כל דפדפן מול מערכות הפעלה שונות. בודקים חייבים להשתמש בניתוח מקיף על הקהל שלהם כדי לקבוע את הפופולרי ביותר מבין שניהם ולהשתמש בזה כדי להנחות את הגישה שלהם. הם עשויים אפילו לפתח מטריצת תאימות לדפדפן, אשר קובעת את היקף הבדיקות הללו ואת התצורות המגוונות שלהן.
3. בדוק את הפריסה
הבטחת חוויה עקבית היא בלב בדיקות התאימות ובדיקות אלה חייבות להעמיק מאשר לזהות אם תכונות התוכנית פועלות במכשירים שונים. הצוותים צריכים גם לאמת את הפריסה הכוללת של התוכנה, כולל יישור של כל טפסים או טבלאות, כמו גם את תקינות ה-CSS וה-HTML של התוכנית.
4. בדוק ממשקי API
ממשקי תכנות יישומים הם מרכיב מרכזי של האופן שבו דפדפנים קוראים יישומים, מה שהופך אותם לחיוניים עבור בדיקות תאימות בין דפדפנים של צוות. לדפדפני אינטרנט שונים יש קריאות API משלהם, והעדכונים שלהם לאורך זמן עשויים להשפיע על התאימות. בודקים חייבים לבדוק אותם באופן קבוע; גם אם החברה משתמשת ב-API דומה עבור כל תוכנית.
5. בדוק את אישור ה-SSL
תעודות SSL מגבירות את אבטחת הדפדפן – מצפינות תעבורת אינטרנט ומאפשרות למשתמשים ליהנות מפרוטוקולי HTTPS. לאתר או לאפליקציית אינטרנט יכול להיות אישור שאינו תואם לדפדפנים מסוימים. המשמעות היא שהבודקים צריכים לאמת את האישור בכל הפלטפורמות הגדולות כדי לוודא שהמשתמשים מרגישים בטוחים באתר האינטרנט שלהם.
6. אימות נגני וידאו
תוכניות המציגות וידאו, כגון שירותי סטרימינג או משחקי Freemium לנייד הנתמכים על ידי מודעות, צריכות לעבור בדיקות כדי להבטיח שהסרטונים הללו יוצגו עבור כל המכשירים המיועדים. עבור רבים מהאפליקציות, בדיקות אלו יכללו הן מכשירים שולחניים והן מכשירים ניידים ויכולים לבחון את האיכות, המהירות וקצב הפריימים של הסרטון.
5 הכלים והתוכנות הטובות ביותר לבדיקת תאימות
הכלים היעילים ביותר בחינם ובתשלום לבדיקת תאימות כוללים:
1. ZAPTEST Free & Enterprise Edition
ZAPTEST מציעה פונקציונליות מצוינת הן במהדורות החינמיות והן במהדורות הארגוניות (בתשלום), ועוזרת לחברות בכל גודל (או תקציב) עם בדיקות התאימות שלהן. חברות שבוחרות בגרסת ה-Enterprise של ZAPTEST יכולות אפילו ליהנות מתשואה של עד פי 10 מההשקעות המקוריות שלהן. תכונת 1SCRIPT של הפתרון מותאמת במיוחד לצרכים של בודקי תאימות, ומאפשרת להם להריץ את אותן בדיקות בדיוק במספר פלטפורמות מבלי לשנות את הקוד כך שיתאים. הוסף פונקציונליות RPA מתקדמת ללא עלות נוספת, ויש לך פתרון אוטומציה של כל משימה חד פעמית.
2. LambdaTest
LambdaTest משתמש בגישה מבוססת ענן כדי לספק 3,000 מכשירים אוטומטיים – אם כי עם התמקדות משמעותית בדפדפני אינטרנט, מה שעלול להגביל את היעילות של פתרון זה עבור תוכניות מסוימות. הפלטפורמה מתמחה בבדיקות מתמשכות, תוך שילוב הדוק יותר של תהליך אבטחת האיכות עם הפיתוח. הבדיקות ביישום זה גם מאפשרות למשתמשים להגדיר את הרזולוציה שלהם, מה שהופך את בדיקת התאימות בין דפדפנים להרבה יותר קלה. פתרון זה מציע דגם freemium, אם כי זה כולל בדיקות מוגבלות ללא שדרוג וללא מכשירים אמיתיים.
3. BrowserStack
בדומה ל-LambdaTest, BrowserStack מספק גישה ל-3,000 מכשירים אמיתיים; הקטלוג שלהם כולל גם אפשרויות מדור קודם ובטא עבור דפדפנים. בעוד שאנשים נוטים יותר לשדרג את הדפדפן שלהם מאשר את מערכת ההפעלה שלהם, עדיין עשויים להיות אנשים רבים המשתמשים בגרסאות ישנות יותר – BrowserStack מתאים לכך. משתמשים יכולים גם לבצע בדיקות מיקום גיאוגרפי כדי לראות איך אתרים ואפליקציות אינטרנט נראים במדינות שונות. עם זאת, אין אפשרויות חינמיות או freemium, ובדיקת מכשירים אמיתיים יכולה להיות איטית.
4. TestGrid
TestGrid מאפשר בדיקה מקבילה, ומאפשר לצוותים לבדוק מספר שילובים בו זמנית כדי להאיץ את התהליך. פתרון זה גם משתלב היטב עם זרימת העבודה של הבדיקות והפיתוח – אולי מקל על גישה זריזה על ידי יצירת חלק מרכזי מהספרינטים של המחלקה. עם זאת, TestGrid מתקשה לפעמים בחיבור למכשירי ענן ודפדפנים. נוסף על כך, התוכנית מוגבלת למדי מבחינת בדיקות עומס , תיעוד והוספת מכשירים חדשים להגדרות החברה.
5. Browsera
Browsera מתמקדת בעיקר בבדיקת אתרים כדי לוודא שהם מוצגים כראוי במכשירים, דפדפנים ומערכות הפעלה שונות. כגישה מבוססת ענן, צוותי אבטחת איכות אינם צריכים להתקין את מעבדת הבדיקות הווירטואלית הזו במכשירים שלהם. Browsera יכול גם להשוות פלטים כדי לזהות בצורה חכמה בעיות פריסה ושגיאות JavaScript שאפילו בודק אנושי עלול לפספס. עם זאת, ל-Browsa אין תמיכה במספר דפדפנים נפוצים, כולל Opera, ומציעה רק פונקציונליות בדיקה בסיסית בחינם.
סיכום
בדיקת תאימות היא קריטית לאסטרטגיית אבטחת איכות מוצלחת, המאפשרת לצוותים לאמת את האפליקציות שלהם במגוון רחב של מכשירים. מבלי לאמץ את הטכניקה הזו, חברות עשויות להיות לא מודעות לכך שהתוכנה שלהן לא תעבוד עבור חלק גדול מקהל היעד שלהן עד לאחר ההשקה. זה עולה הרבה זמן וכסף בהשוואה לבדיקות טרום-שחרור ואפליקציות כמו ZAPTEST יכולות לייעל את התהליך הזה עוד יותר. עם 1SCRIPT ותכונות רבות אחרות הזמינות בחינם כמו בדיקות מקבילות, בחירה ב-ZAPTEST ככלי הבדיקה שלך יכולה לשנות כל פרויקט תוך מתן אמון מוחלט לצוותים ביישום שלהם.