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