כלי בדיקות ענן
כלי בדיקות ענן הוא צורה של בדיקות תוכנה בה אפליקציות ווב משמשות בסביבת מחשוב ענן כדי לבצע סימולציה של תעבורת משתמשים בעולם האמיתי.
סקירה כללית
[עריכת קוד מקור | עריכה]בכלי בדיקות ענן משתמשים בתשתית מחשוב ענן לצורך בדיקות תוכנה. [1]
ארגונים חפצים בבדיקות תוכנה באופן כללי וכן בבדיקות עומסים, בדיקות רמת ביצועים וניטור השרות. ארגונים נתקלים בבעיות תקציב ולוח זמנים. עלויות גבוהות עבור מקרה בדיקה, מקרי בדיקה רבים, וחוסר או העדר אפשרות למחזר מקרי בדיקה, ופיזור גאוגרפי של משתמשים - כל אלו מוסיפים לאתגרים. יתר על כן, כדי להבטיח רמת שירות גבוהה והימנעות מזמנים בהם השירות אינו זמין נדרשות בדיקות תוכנה ב- data center של הלקוח, מחוץ לו, או בשניהם. כלי בדיקות ענן הוא הפתרון לכל בעיות אלו. הודות לאחסון אפקטיבי יעיל, זמינות גבוהה של תשתית תוכנה עם סקלאביליות וגמישות בזמינות של סביבת הבדיקות, ניתן להגיע להפחתה משמעותית בזמן הביצוע של בדיקות תוכנה של אפליקציות גדולות ולהביא לפתרונות יעילים מבחינת עלות.
הצורך בבדיקות ענן
[עריכת קוד מקור | עריכה]גישות מסורתיות לבדיקות תוכנה דורשות עלות גבוהה כדי ליצור סימולציה של פעילות משתמש ממיקומים גאוגרפיים שונים.
בדיקות תוכנה לחומות אש ולמאזני עומסים גוררות הוצאות על חומרה, תוכנה ותחזוקה.[2] כאשר מדובר באפליקציות בהן שיעור המשתמשים קשה לחיזוי, או כאשר יש שוני בסביבות ההתקנה של האפליקציה הנובע מדרישות הלקוח, שימוש בכלי בדיקות ענן יהיה אפקטיבי יותר.[3]
סוגי בדיקות המבוצעים בענן
[עריכת קוד מקור | עריכה]- בדיקות מאמץ - Stress Test: מטרת בדיקת זו היא להגדיר יכולת אפליקציה לשמר רמת אפקטיביות מעבר לנקודת שבירה מסוימת. חיוני עבור כל אפליקציה לפעול בעבודה מאומצת תוך שימור יציבות.[4] בדיקה במאמץ מבטיחה זאת על ידי יצירת שיאי עומסים בעזרת שימוש בסימולטורים, אולם העלות של יצירת סימולטורים היא עצומה. במקום להשקיע הון ביצירת סביבות בדיקה מורכבות, כלי בדיקות ענן מהווה אלטרנטיבה בת מימון וסקלאבילית.
- בדיקות עומס - Load Test: בבדיקה זו יוצרים עומס תעבורה גדול על האפליקציה ומדידת תגובת האפליקציה.
- בדיקות רמת ביצועים - Perfomance Test: מציאת רף, צווארי בקבוק ומגבלות הם חלק מבדיקת רמת ביצועים. לשם כך, נדרשת בדיקת רמת ביצועים תחת עומס עבודה מסוים. על ידי שימוש בכלי בדיקות ענן, קל ליצור סביבה מעין זו ולשנות את טבעה של התעבורה על-פי בקשה.[5] שיטה זו מפחיתה באופן אפקטיבי את העלות ואת הזמן הנדרש על ידי סימולציה של אלפי משתמשים הנמצאים בנקודות מטרה גאוגרפיות שונות.[6]
- בדיקות פונקציונליות - Functional Testing: הן אפליקציות אינטרנטיות והן אפליקציות לא אינטרנטיות אפשריות לביצוע מבחינת בדיקת פונקציונליות בעזרת בדיקות ענן. תהליכי הוריפיקציה של ספסיפיקציות מבוצעות באמצעות ענן במקום באתר.
- בדיקות תאימות - Compatibility Testing: באמצעות בדיקות ענן בודקים מופעים של מערכות הפעלה שונות ובכך חוסכים במאמצי בדיקות תאימות.
- בדיקת רמת ביצועים של דפדפן - Browser Performance Testing: באמצעות כלי בדיקות ענן אפשרי לבצע בדיקות אוטומטיות לאתרי אינטרנט.
- בדיקת המתנה - Latency Testing: בדיקות ענן מאפשרות מדידת זמן ההמתנה בין פעולה לתגובה לפעולה לכל אפליקציה לאחר פרישת רכיביה בענן.
דרכי פעולה
[עריכת קוד מקור | עריכה]ארגונים מיישמים בדיקות ענן תוך שימוש במוצרים של ספקים כגון SOASTA, HP, Load Impact, Compuware ,Keynote systems.
לאחר שתרחישי המשתמש מפותחים והבדיקה תוכננה, ספקי שרות אלו ממנפים שרתי ענן (המסופקים על ידי ספקי פלטפורמה של ענן כגון, Amazon.com, Google, Rackspace כדי ליצור תעבורת ווב.
לאחר שהבדיקה מוכנה, ספקי שרות ענן מעבירים תוצאות וניתוחים אנליטיים לאנשי טכנולוגיית המידע באמצעות דשבורדים המציגים נתוני זמן אמת כדי לאפשר ניתוח מלא על רמת הביצועים שתהיה לאפליקציות ולאינטרנט בזמן שיא מבחינת נפחי עבודה.
עצות לבדיקות מוצלחות
[עריכת קוד מקור | עריכה]- להבין את האלסטיות של הפלטפורמה של הספק ואת הדינמיות של מתודות הקונפיגורציה.
- להיות צעד קדימה לפני התפתחות אמצעי הניטור של ספקי שירות והסכמי שרות SLA.
- אפשרות פוטנציאלית להתחייב עם ספק השרות שיהיה שותף בתפעול אם מייצרים commercial off-the-shelf (COTS) software.
- נכונות לשמש כ- case study על ידי ספק שרות ענן. נושא זה עשוי להביא להפחתת עלויות.
יישום
[עריכת קוד מקור | עריכה]ניתן לראות בבדיקות ענן חיבור של Software as a Service (Saas) ו-Utility Computing. מערכות מבוזרות ומערכות מקביליות עשויות להיות רלוונטיות לביצוע סימולציות בשיטת ענן בגלל טבען המורכב.
מערכת D-Cloud היא דוגמה לסביבת בדיקות תוכנה בענן.[7]
לצורך בדיקת אפליקציות לא אינטרנטיות, ניתן להשתמש במופעים וירטואליים כדי להקים במהירות סביבות בדיקה אוטומטיות של אפליקציה.
כלים
[עריכת קוד מקור | עריכה]חלק מהכלים הנכללים בבדיקות ענן הם:[8]
- SOASTA
- Advaltis Cloud Testing
- Cloud Assault
- Parasoft® SOAtest™
- HP LoadRunner
- Keynote
- LoadStorm™
- Cloud Testing
תועלות
[עריכת קוד מקור | עריכה]התועלות המרכזיות הן עלות נמוכה וגישה קלה למשאבי מחשוב בהיקף גדול ובכך לשקף את המציאות הנדרשת מבחינת יכולת מחשוב, לרבות תפוצת משתמשים רחבה מבחינה גאוגרפית. [9] בנוסף, זמן ההקמה והרכבת בדיקות הוא מינימלי. העלות הכוללת מופחתת. הסקלביליות המתאפשרת היא גבוהה. [10]
בעיות
[עריכת קוד מקור | עריכה]זמן ההקמה של בדיקת מיגרציה לענן גבוה יחסית עקב השינוי הנדרש לכמה ממקרי הבדיקה. לפיכך, בדיקות ענן אינן בהכרח תמיד הפתרון האופטימלי לכל בעיות הבדיקות. [11] נדרש שינוי במערכות Legacy כדי להיבדק בענן. [12] רמת הפגיעות לסיכוני אבטחה גבוהה יותר בתצורת ענן. [13] תוצאות הבדיקה עלולות להיות לא מדויקות עקב השינוי ברמת הביצועים של ספקי השרות של הרשת ושל האינטרנט, במקרים אלו יש להשתמש ב- service virtualization. [14]
קישורים חיצוניים
[עריכת קוד מקור | עריכה]- Computing in the Clouds
- Cloud computing shapes up as big trend for 2009
- HP LoadRunner in the Cloud
- CloudSleuth Testing Tools
הערות שוליים
[עריכת קוד מקור | עריכה]- ^ Girmonsky, Alon. "Cloud-testing compared to traditional testing with-in the corporate LAN". אורכב מ-המקור ב-2012-04-25. נבדק ב-12 באוקטובר 2011.
{{cite web}}
: (עזרה) - ^ Ariola, Wayne. "The Next Generation of Test Environment Management". נבדק ב-12 באוקטובר 2011.
{{cite web}}
: (עזרה) - ^ Dubie, Denise. "Poor application performance translates to lost revenue, research shows". נבדק ב-12 באוקטובר 2011.
{{cite web}}
: (עזרה) - ^ "Using the Cloud to Stress Test Your Web Applications". אורכב מ-המקור ב-2011-12-19. נבדק ב-12 באוקטובר 2011.
{{cite web}}
: (עזרה) - ^ "Performance and Load Testing Services using Cloud Computing". אורכב מ-המקור ב-2011-11-02. נבדק ב-12 באוקטובר 2011.
{{cite web}}
: (עזרה) - ^ Ganon, Z.; Zilbershtein, I.E. (12 ביוני 2009). "Cloud-based Performance Testing of Network Management Systems". Computer Aided Modeling and Design of Communication Links and Networks. pp. 1–6. נבדק ב-12 באוקטובר 2011.
{{cite web}}
: (עזרה) - ^ Banzai, Takayuki; Koizumi, Hitoshi; Kanbayashi, Ryo; Imada, Takayuki; Hanawa, Toshihiro; Sato, Mitsuhisa (17 במאי 2010). "D-Cloud: Design of a Software Testing Environment for Reliable Distributed Systems Using Cloud Computing Technology". Cluster, Cloud and Grid Computing (CCGrid), 2010 10th IEEE/ACM International Conference. pp. 631–636.
{{cite web}}
: (עזרה) - ^ "Top 10 Cloud Computing Load Test and Performance Monitoring Companies".(הקישור אינו פעיל)
- ^ "Test infrastructure in the Cloud business case; a cost reduction, or not?". נבדק ב-12 באוקטובר 2011.
{{cite web}}
: (עזרה) - ^ Jaideep. "Five Benefits of Software Testing On Cloud". אורכב מ-המקור ב-2011-09-18. נבדק ב-12 באוקטובר 2011.
{{cite web}}
: (עזרה) - ^ T., Parveen; Tilley, S. (6–10 באפריל 2010). "When to Migrate Software Testing to the Cloud?". Software Testing, Verification, and Validation Workshops (ICSTW). pp. 424–427. נבדק ב-12 באוקטובר 2011.
{{cite web}}
: (עזרה) - ^ S., Tilley; Parveen, T. (12–18 בספטמבר 2010). "Migrating software testing to the cloud". Software Maintenance (ICSM). p. 1. נבדק ב-19 באוקטובר 2011.
{{cite web}}
: (עזרה) - ^ Roodenrijs, Ewald (1 בנובמבר 2010). "Testing on the Cloud" (PDF). אורכב מ-המקור (PDF) ב-2012-10-21. נבדק ב-2012-06-24.
{{cite web}}
: (עזרה) - ^ MacVittie, Lori. "Cloud testing: The next generation". אורכב מ-המקור ב-2012-09-03. נבדק ב-12 באוקטובר 2011.
{{cite web}}
: (עזרה)