סביבת בדיקות "נקייה"

לא, אינני מדבר על שולחן מבולגן :)
בדיקות שונות ומגוונות מבוצעות בכל פרויקט באופן תכוף, שיטתי ואף במשך תקופות ארוכות ללא התחשבות בסביבת העבודה (הרבה חברות בתקופה האחרונה עוברות לעבודה בסביבות ענן אבל את נושא זה אשאיר לפעם אחרת).
עבודה בסביבה זו הופכת, עם חלוף הזמן, "מלוכלכת" יותר ופוגעת באמינות תוצאות הבדיקות.

נקודות חשובות להבנה:
  • בהליכי בדיקה אנו מבצעים פעולות רבות ומורכבות יותר ממשתמש קצה רגיל.
  • המערכת הנבדקת אינה בשלה, יציבה ותקינה, לכן, סביר שתבצע שינויים לא הפיכים בסביבת העבודה.
  • סבירות גבוהה לשאריות בתיקיות המשתמש המכילות הגדרות מההתקנות קודמת.
  • שינויים בקבצי מערכת ההפעלה בזמן העבודה.
  • חלק מהבדיקות מצריכות מניפולציות ושינויי הגדרות לסביבת עבודה.
  • בדיקות של סביבות עבודה שונות, מערכות הפעלה שונות.
  • התקנה והסרת תוספים לסביבת העבודה לא תמיד הפיכה במלואה.

מספר מקרים/נקודות להמחשה:
  • מפתחות רישום (ברג'יסטרי) שלא הוסרו כראוי.
  • תיקיות זמניות המכילות קבצי הגדרות, קבצי xml משימוש קודם, קבצי ini וכד'.
  • מניפולציות לסביבת העבודה שלא הוסרו בגמר הבדיקה.
  • התקנת סביבת Java, .Net וכד'
  • תוכנות צד שלישי המותקנות על הסביבה.
*אני בטוח שיש מקרים נוספים, אם נקדיש יותר זמן אעצור פה.

כעת עולה סוגיית זמני העבודה; הרי כבר דיברנו בפרסומים קודמים את החשיבות לייעל את התהליך בQA ובמקרה זה, הקמת סביבה חדשה יכולה לקחת אפילו שעתיים של התקנות.



ישנם שפע כלים חינמיים וכלים תחת רישיון (אם חברתכם מאפשרת לכם) בהתאם לתחום הפרויקט, לשחזר סביבה נקייה בקלות ובמהירות. שימוש בכלים אלו מאוד תלוי בתחום הבדיקה כי לכל אחד יש את החסרונות ויתרונות שלו. דוגמאות לפתרונות טכנולוגיים;

  • מחשבים וירטואליות: VMware, VPC, VirtualBox u וכד'.
  • שרתים וירטואליים: ZenServer, VMware וכד'.
  • דמות לכונן לאחר התקנה: Ghost, Acronis וכד'.
  • סביבת רישום (רג'יסטרי) מדומה: 
  • תוכנות ניקוי והסרה: YourUninstaller, Revo Unintaller, Registry cleaner וכד'.

לכל קטגוריה, מהמוזכרים מעלה, מטרה שונה ויש להתאים כל כלי לתחום הבדיקות שלכם, בקצרה;
מחשבים וירטואליים טובים בהדמיית סביבה אך אינם טובים לבדיקות תעבורת רשת, וידאו וGUI.
שרתים וירטואליים מורכבים להקמה אך מאפשרים שכפול מהיר של מחשבים מדומים ונוחים לעבודה אך גם אינם מומלצים לבדיקות תעבורת רשת.
תוכנות הסרה הן טובות לתקופה מוגבלת מאחר ומבצעות סריקה מותאמת לאחר הסרת תוכנה אך משפיעות על הסביבה ואינן מנקות קבצים זמניים וכד'.
תוכנות ניקוי הוכחו בעבר כלא יעילות ולעיתם אף גורמות אפילו נזק.
סביבת רישום מדומה היא מצוינת לבדיקות התקנה אך לא יבצעו ניקוי קבצי הגדרה וקבצים זמניים.

בדיקות בסביבה "מלוכלכת" - מתי כן?
לבדיקה בסביבה שאינה נקייה יש גם חשיבות אך חשוב להבדיל בין סביבה שבוצעו בה בדיקות רבות על אותה מערכת לבין סביבה שיש שימוש מרובה מערכות ומשתמשים. בדיקה על סביבה שאינה נקייה מתאימה לשלב בו המערכת בשלה יותר במטרה לבחון תאימות בין תוכנות, אינטגרציה ובין השאר התנגשות ועבודה בסביבה עמוסה. שימוש בסביבה שאינה נקייה יכול לכלול תאימות מול תוכנות אנטי וירוס, דפדפנים שונים, תוכנות תחזוקה ועוד.

ישנן גישות המציעות אסטרטגיה הפוכה כגון בדיקה בסביבה נקייה רק אם ישנו ניסיון לשחזר תקלה קשה או לבודד בעיות. אני מעדיף לבחון כל פרויקט לגופו ולהתאים את צורת העבודה שלי לנקודה בה אני נמצא.

תגובות

פוסטים פופולריים מהבלוג הזה

אמולטור למכשירי אנדרויד - כלי קטן חוסך זמן

באגים קשים לשחזור - הפעם מובייל

בדיקות במכשירים ניידים - Mobile