כלי בדיקות ענן

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

## סקירה כללית
בכלי בדיקות ענן משתמשים בתשתית מחשוב ענן לצורך בדיקות תוכנה. 

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

## הצורך בבדיקות ענן
גישות מסורתיות לבדיקות תוכנה דורשות עלות גבוהה כדי ליצור סימולציה של פעילות משתמש ממיקומים גאוגרפיים שונים.

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

ממוזער|250px|Types of testings supported

## סוגי בדיקות המבוצעים בענן
* **בדיקות מאמץ - Stress Test**: מטרת בדיקת זו היא להגדיר יכולת אפליקציה לשמר רמת אפקטיביות מעבר לנקודת שבירה מסוימת. חיוני עבור כל אפליקציה לפעול בעבודה מאומצת תוך שימור יציבות. בדיקה במאמץ מבטיחה זאת על ידי יצירת שיאי עומסים בעזרת שימוש בסימולטורים, אולם העלות של יצירת סימולטורים היא עצומה. במקום להשקיע הון ביצירת סביבות בדיקה מורכבות, כלי בדיקות ענן מהווה אלטרנטיבה בת מימון וסקלאבילית.

* **בדיקות עומס - Load Test**: בבדיקה זו יוצרים עומס תעבורה גדול על האפליקציה ומדידת תגובת האפליקציה.

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

* **בדיקות פונקציונליות - Functional Testing**: הן אפליקציות אינטרנטיות והן אפליקציות לא אינטרנטיות אפשריות לביצוע מבחינת בדיקת פונקציונליות בעזרת בדיקות ענן. תהליכי הוריפיקציה של ספסיפיקציות מבוצעות באמצעות ענן במקום באתר.
* **[[בדיקות תאימות]] - Compatibility Testing**: באמצעות בדיקות ענן בודקים מופעים של מערכות הפעלה שונות ובכך חוסכים במאמצי בדיקות תאימות.
* **בדיקת רמת ביצועים של דפדפן - Browser Performance Testing**: באמצעות כלי בדיקות ענן אפשרי לבצע בדיקות אוטומטיות לאתרי אינטרנט.
* **בדיקת המתנה - Latency Testing**: בדיקות ענן מאפשרות מדידת זמן ההמתנה בין פעולה לתגובה לפעולה לכל אפליקציה לאחר פרישת רכיביה בענן.

## דרכי פעולה
ארגונים מיישמים בדיקות ענן תוך שימוש במוצרים של ספקים כגון SOASTA, HP, Load Impact, Compuware ,Keynote systems.

לאחר שתרחישי המשתמש מפותחים והבדיקה תוכננה, ספקי שרות אלו ממנפים שרתי ענן (המסופקים על ידי ספקי פלטפורמה של ענן כגון, Amazon.com, Google, Rackspace כדי ליצור תעבורת ווב.

לאחר שהבדיקה מוכנה, ספקי שרות ענן מעבירים תוצאות וניתוחים אנליטיים לאנשי טכנולוגיית המידע באמצעות דשבורדים המציגים נתוני זמן אמת כדי לאפשר ניתוח מלא על רמת הביצועים שתהיה לאפליקציות ולאינטרנט בזמן שיא מבחינת נפחי עבודה.
ממוזער|מרכז|700px|Steps for Cloud Testing

## עצות לבדיקות מוצלחות
# להבין את האלסטיות של הפלטפורמה של הספק ואת הדינמיות של מתודות הקונפיגורציה.
# להיות צעד קדימה לפני התפתחות אמצעי הניטור של ספקי שירות והסכמי שרות (SLA).
# אפשרות פוטנציאלית להתחייב עם ספק השרות שיהיה שותף בתפעול אם מייצרים commercial off-the-shelf (COTS) software.
# נכונות לשמש כ- case study על ידי ספק שרות ענן. נושא זה עשוי להביא להפחתת עלויות.

## יישום
ניתן לראות בבדיקות ענן חיבור של Software as a Service (Saas) ו-Utility Computing. מערכות מבוזרות ומערכות מקביליות עשויות להיות רלוונטיות לביצוע סימולציות בשיטת ענן בגלל טבען המורכב.

מערכת D-Cloud היא דוגמה לסביבת בדיקות תוכנה בענן.

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

## כלים
חלק מהכלים הנכללים בבדיקות ענן הם:
# SOASTA
#Advaltis Cloud Testing
#Cloud Assault
# Parasoft® SOAtest™
# HP LoadRunner
# Keynote
# LoadStorm™
# Cloud Testing

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

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

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

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

תוצאות הבדיקה עלולות להיות לא מדויקות עקב השינוי ברמת הביצועים של ספקי השרות של הרשת ושל האינטרנט, במקרים אלו יש להשתמש ב- service virtualization. 

## קישורים חיצוניים
*Computing in the Clouds
*Cloud computing shapes up as big trend for 2009
* HP LoadRunner in the Cloud
*CloudSleuth Testing Tools
## הערות שוליים

קטגוריה:מחשוב ענן
קטגוריה:בדיקות תוכנה