הגדרת קריטריוני כשל ופסקה אוטומטית

הושלם

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

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

קריטריוני כשל של בדיקת טעינה

קריטריוני כשל של בדיקת טעינה הם תנאים עבור מדדים בצד הלקוח, שהבדיקה שלך אמורה לעמוד בהם. הגדר קריטריוני בדיקה ברמת בדיקת העומס ב- Azure Load Testing. בדיקת טעינה יכולה לכלול קריטריון בדיקה אחד או יותר. כאשר לפחות אחד מקריטריוני הבדיקה מוערך כ- True, בדיקת הטעינה מקבלת את נכשלה המצב.

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

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

באפשרותך להגדיר עד 50 קריטריוני בדיקה עבור בדיקת טעינה. אם קיימים קריטריונים מרובים עבור אותו מדד לקוח, נעשה שימוש בקריטריון עם ערך הסף הנמוך ביותר.

מבנה קריטריונים של כשל

התבנית של קריטריוני כשל ב- Azure Load Testing עוקבת אחר המשפט המותנה עבור מדד נתמך. לדוגמה, ודא שהמספר הממוצע של בקשות לשניה גדול מ- 500.

לקריטריונים של כשל יש את המבנה הבא:

  • קריטריוני בדיקה ברמת בדיקת העומס: Aggregate_function (client_metric) condition threshold.
  • קריטריוני בדיקה המוחלים על בקשות JMeter ספציפיות: Request: Aggregate_function (client_metric) condition threshold.

הטבלה הבאה מתארת את הרכיבים השונים:

פרמטר תיאור
Client metric חובה. מדד הלקוח שעליו יש להחיל את התנאי.
Aggregate function חובה. פונקציית הצבירה שיש להחיל על מדד הלקוח.
Condition חובה. אופרטור ההשוואה, כגון greater than, או less than.
Threshold חובה. הערך המספרי שיש להשוות למדד הלקוח.
Request אופציונלי. שם הדוגם בקובץ ה- Script של JMeter שעליו חל הקריטריון. אם לא תציין שם בקשה, הקריטריון יחול על הצבירה של כל הבקשות בקובץ ה- Script.
אל תכלול נתונים אישיים בשם הדוגם בקובץ ה- Script של JMeter. שמות הדוגמאות מופיעים בלוח המחוונים של תוצאות בדיקת טעינה של Azure.

דוגמה לקריטריוני כשל של בדיקת טעינה

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

קריטריוני הבדיקה מתווספים להגדרת failureCriteria המבחן.

```yaml
version: v0.1
testId: SampleTestCICD
displayName: Sample test from CI/CD
testPlan: SampleTest.jmx
description: Load test website home page
engineInstances: 1
failureCriteria:
  - avg(response_time_ms) > 300
  - percentage(error) > 50
  - GetCustomerDetails: avg(latency) >200
```

בעת הגדרת קריטריון בדיקה עבור בקשת JMeter ספציפית, שם הבקשה צריך להתאים לשם של דוגם JMeter בקובץ JMX.

צילום מסך של ממשק המשתמש של JMeter, המדגיש את שם הבקשה.

קביעת תצורה של עצירה אוטומטית

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

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

באפשרותך להשתמש בפונקציונליות ההפסקה האוטומטית Azure Load Testing בשילוב עם מאזין AutoStop קובץ ה- Script של JMeter. בדיקת הטעינה מפסיקה באופן אוטומטי כאשר אחד מהקריטריונים בתצורה של עצירה אוטומטית או מאזין המחשב האוטומטי JMeter מתמלא.

עצירה אוטומטית עם פעולות GitHub

כדי לקבוע תצורה של עצירה אוטומטית עבור בדיקת הטעינה בזרימת עבודה של פעולות GitHub, עליך לעדכן את קובץ התצורה של בדיקת הטעינה YAML בהגדרת autoStop וציין את errorPercentage ואת timeWindow.

הדוגמה הבאה מפסיקה באופן אוטומטי את בדיקת הטעינה כאשר אחוז השגיאה חורג מ- 80% בכל חלון זמן של 2 דקות:

    ```yaml
    version: v0.1
    testId: SampleTestCICD
    displayName: Sample test from CI/CD
    testPlan: SampleTest.jmx
    description: Load test website home page
    engineInstances: 1
    autoStop:
      errorPercentage: 80
      timeWindow: 120
    ```
  • כדי להפוך עצירה אוטומטית ללא autoStop: disable, הוסף אותה לקובץ התצורה.

הדוגמה הבאה מבטלת עצירה אוטומטית עבור בדיקת הטעינה שלך:

    ```yaml
    version: v0.1
    testId: SampleTestCICD
    displayName: Sample test from CI/CD
    testPlan: SampleTest.jmx
    description: Load test website home page
    engineInstances: 1
    autoStop: disable
    ```