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

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

המונחים: Serverless Application Testing

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

  • (FLT:0) אדריכלות מונחה: FLT:1eurs מופעלים על ידי אירועים כגון בקשות HTTP, שינויים מסדי נתונים, העלאת קבצים או הודעות זרם.בדיקה חייבת לכסות מגוון רחב של מקורות אירועים ופורמטי מטען.
  • (ב) ⁇ :0) , נספח: כל תפקיד בייעוד פועל במיכל קצר מועד.אין מצב שרת מתמשך, מה שהופך את הבדיקות למבודדות יותר אך קשה יותר ל debug.
  • (FLT:0) שירותים ממאומנים: 1FLT (יישומים ללא שרת בדרך כלל תלויים בשירותי ענן אחרים (למשל, דינמוDB, SQS, API Gateway, Cognito) שירותים אלה חייבים להיות מדומים או מגמגמים במהלך בדיקות כדי למנוע עלויות או גרימת תופעות לוואי.
  • (הראשונה:0) מתחיל: ⁇ 1:1 ; הביטול הראשון לאחר תקופה של חוסר פעילות עולה עונש לב.מבחן צריך לקחת בחשבון התנהגות קרה בביצועים ובתרחישים אמינות.
  • (FLT:0)Distributed Nature: FLT:1 יישומים ללא שרת לעתים קרובות כרוך פונקציות מרובות, תורים, זרמים, ו APIs המופץ על פני אזורים ושירותים.בדיקת זרימת עבודה מקצה לקצה דורש תזמורת זהירה.

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

אתגרים מרכזיים בבדיקת Serverless Testing

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

חוסר נאמנות מקומית

ספקי ענן רבים מציעים חיקויים או סביבות זמן ריצה מקומיות (למשל, AWS SAM CLI, LocalStack) אבל השגת שוויון מושלם עם סביבת הייצור היא קשה.הבדלים ברשאות IAM, מגבלות שירות, והתנהגות של שירותים מנוהלים יכול להוביל לבדיקות העוברות באופן מקומי אך נכשלים בענן.צוותים חייבים לאזן את המהירות של בדיקות מקומיות עם נאמנות של בדיקות המבוססות על ענן.

ניהול המדינה ויציבות

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

מורכבות מערכות

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

ציות ועקשנות

ציות ללא שרת בייצור מאתגרות בשל האופי חסר התקדים, האפסי שלהם. Logs, העקבות, ומדדים הופכים חיוניים לאמת התנהגות במהלך הבדיקות.קביעת observability נאותה (למשל, AWS X-Ray, Thundra) הוא הכרחי כדי להבין מה קרה בריצה, במיוחד עבור אינטגרציה ובדיקות מקצה לקצה.

עלויות והגבלות ריבית

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

אסטרטגיות בדיקה עבור יישומים ללא Server

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

יחידת בדיקות

(ה) עיין בפונקציות אינדיבידואליות בבידוד; הן הבסיס של פירמידת בדיקה וצריכה להיות מהירה, אמינה וקלה לתחזוקה.אין שרת, בדיקות יחידה מלגעות בדרך כלל על תלות חיצונית כגון לקוחות מסד נתונים, SDKs ו-HTTP APIs.

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

בדיקות אינטגרציה

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

ישנן מספר גישות לשילוב בדיקות:

  • (FLT:0) חיקוי מקומי: 1FLT) שימוש בכלים כמו LocalStack או AWS SAM CLI כדי להפעיל שירותי ענן באופן מקומי.זה לא יעיל ומהיר, אבל חיקויים עשויים לא לשכפל באופן מושלם את התנהגות הייצור.
  • (FLT:0Cloud Sandboxrough:FLT:1) , ערימה של בדיקות ייעודיות לחשבון ענן אמיתי, לעתים קרובות באמצעות חשבונות AWS נפרדים או חללי עבודה טרהפורמאליים.זה מספק את הדלנות הגבוהה ביותר אך לא עולה וחייב ניקוי זהיר.
  • (ב) בדיקת החוזה של השירות:0) בדיקת החוזה של השירות: 1.FLT:1 מתמקדת ב- API ובחוזה אירועים בין פונקציות ושירותים.

בדיקות אינטגרציה צריכות לכסות תרחישים כגון מסד נתונים כותב וקריאה, תור הודעה enqueue / Dequeue, API Gateway טריגרים, וזרימת אימות.הם בדרך כלל מבוצעים לאחר בדיקות יחידה בצנרת CI /CD.

בדיקה אחרונה ב- End-to-End Testing

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

(ב) ,2KWITIFLT (ב) ,2KWrightveFLT 3 (ב) ,0) ,0) ,CypressFLT: 5 יכול לנהוג אינטראקציות מבוססות דפדפן, בעוד FLT 6PostmanFLT 7 או FLT:4SeleniumF9) יכול לגרור באופן ישיר את ה- API (השלבים של ה-iGIRD) ל-IQ.

מכיוון שבדיקות E2E יקרות וגלוחות, יש לשמור אותן לנתיבים קריטיים ולרוץ פחות לעתים קרובות – כמו לפני מהדורות גדולות או בלילה.

בדיקת חוזים

בדיקת חוזים היא שימושית במיוחד באדריכלות ללא שרת, שבה פונקציות קטנות, עצמאיות, באופן עצמאי, בדיקת חוזים מאמתות כי הקלט/ ⁇ של הפונקציה לדבוק במפרט משותף, לעתים קרובות באמצעות גישה מבוססת הצרכן (CDC) כלים כמו FLT:0PactFLT:1 מאפשר לצוותים להגדיר חוזים בין צרכנים לספקים ללא הפעלת המערכת כולה.

על ידי שילוב בדיקות חוזים ל- CI /CD, הצוותים יכולים לזהות שינויים מוקדם ולפתח בבטחה APIs.זוהי אלטרנטיבה קלה לבדיקות אינטגרציה מלאות עבור תרחישים רבים.

ביצוע ועומס בדיקות

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

  • (ב) [ה]התמדה: [ה], כמה זמן לוקח תפקיד לאחר היותו עצלן?
  • (ב) בדיקת מטבע:0) בדיקות מטבע: האם הפונקציה יכולה להתמודד עם מספר רב של ייעודים במקביל ללא פגיעה במגבלות או במיצוי זיכרון?
  • (ב) [15] , מדרש: ויקרא י"ד: ויקרא י"ד:

(ב) , ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇

בדיקות אבטחה

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

  • (ב) ,0) ,(א) , תקנת מדיניות תקנת: (ב) ,ב) לפונקציות יש לפחות הרשאות זכויות על ידי סריקת תבניות ענן/טררנפורציה עם כלים כמו FLT:2CheckovovovofLT 3 או ;5
  • (FLT:0) Inputation: FLT:1 Test for tubes (SQL, NoSQL, OS Command) באמצעות תשלום אירועים.
  • (ב) עיין במנגנוני אימות ואישור זה נקבעו כראוי.
  • ניהול:0 (FLT:1) להבטיח סודות לא קודים קשה; שימוש בשירותים כמו מנהל סודות AWS או חנות פרדוקס.

בדיקות אבטחה יכולות להשתלב ב- CI/CD כסורקים של תשתיות-כקוד ובדיקות אבטחה של יישומים דינמיים (DAST) של נקודות קצה פרוסות.

הנדסה כאוס

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

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

כלים חיוניים לבדיקה Serverless

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

  • (ב) ⁇ :0) ,AWS SAM CLIFLT:1hil - מספק חיקוי מקומי עבור AWS Lambda, API Gateway, DynamoDB ושירותים אחרים.It תומך ב- Step-uping with VS Code או PyCharm, ויכול להפעיל בדיקות אינטגרציה נגד משאבים מקומיים. אידיאלי לפיתוח ומבחנים ברמת יחידה.
  • (ב) [13] ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
  • (ב) ⁇ :0) , LocalStackoriFLT:1 - מאמת מגוון רחב של שירותי AWS (כולל S3, SQS, DynamoDB, Lambda) במיכל דוקר יחיד.מושלם לשילוב ללא עלויות ענן.
  • (FLT:0)Postman / NewciomanFLT:1 - Postman הוא לקוח API פופולרי לבדיקת פונקציות HTTP-triggered. Newman, עמית פיקוד שלה, מאפשר בדיקות API אוטומטיים CI /CD. גדול לשילוב ו-E2E בדיקות של ממשקים RESTful.
  • (ב) [17] , ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
  • (ב) [17] ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇

(ב) , ראה ב[[1924]], [[1924]], [[1924]]]], [[1924]]]], [[1924]]]], [[1924]]]]]]]]]], [[1924]]]]]]]]]], [[1924]]]]]]]]]]]]]], [[1924]]]]]]]]]], [[1924]]]]]]]]]]]]]] ו[[1924]]

שיטות עבודה טובות לבדיקות Serverless Testing

אימוץ שיטות העבודה הטובות הבאות יסייע לצוות שלך לבנות תרבות בדיקה שמדרגת את היישומים ללא השרת שלך.

חישוב סביבת הייצור כקרוב ככל האפשר

השתמש בתשתיות-כקוד (למשל, CloudFormation, Terraform, Pulumi) כדי לספין סביבות בדיקה עקביות. Prefer Cloud ארגז חול בענן עבור שילוב נאמנות גבוהה ו- E2E בדיקות. בעת שימוש בחיקוי מקומי, להפעיל בדיקת עשן נגד תקופת הענן האמיתית באופן חד-משמעי לאמת את השוויון.

השקעה ב Observability

שילוב של logging, מדדים, וטריגה מההתחלה. בסוויטות הבדיקה שלך, ללכוד יומני פונקציה ועקבות כדי לאבחן במהירות כישלונות. כלים כמו X-Ray יכולים באופן אוטומטי לעקוב אחר בקשות על פני פונקציות ושירותים, מה שהופך debugging בסביבות מבחן הרבה יותר קל.

יישום מחסומים Gradual עם בדיקות גייטס

השתמש אסטרטגיות כמו פריסות צנריות או הודעות כחולות / ירוקות. Run E2E ובדיקות ביצועים נגד הגרסה החדשה לפני פיזור תנועה מלאה. פלטפורמות ללא שרת לעתים קרובות לתמוך שינוי תנועה (למשל, Lambda aliass) בשילוב עם רולבק אוטומטי על כשלי בדיקה.

השתמש ב Test Data Management

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

הכל אוטומטי ב- CI/CD

(ה) בדיקות יחידה צריכות לפעול על כל דחיפות ובדיקות חוזים, יכולות לפעול על מנת למשוך בקשות לחנויות. E2E ובדיקות ביצועים יכולות לפעול על מנת למזג את הכלים העיקריים או לפני השחרור.com:0GitHub ActionsFLT:1, FLT:2GitLab /CDFLT 3: או FLT:4enkinsFevolves:5 to testalways.

מבחן לכישלון ולחוסנות

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

בדיקות integrating לתוך CI /CD Pipelines

צינור CI /CD מתוכנן היטב עבור יישומים ללא שרת בדרך כלל עוקב אחר התקדמות מבדיקות מהירות וזולות לאט יותר, יקר יותר.

  1. (FLT:0)Lint and סטטי ניתוח: FLT:1eur השתמש ESLint, Pylint, או Checkov כדי לתפוס קוד ותשתיות מוקדם.
  2. (ב) ,0) בדיקות: 0 (Unit Testing:veFLT:1 Run with Code Covers) נכשלים בבנייה אם כיסוי יורד מתחת לרמה מוגדרת.
  3. (FLT:0) בדיקות קונטריט: 1FLT:1 חוזים API אימות בין פונקציות באמצעות פצ'ט.צעד זה יכול להחליף כמה בדיקות אינטגרציה.
  4. (ב) ,0) מבחנים: ⁇ 1 (בקיצור: 1), ⁇ ) לשרשרת חול באמצעות מחסניות אמפיריות (למשל, AWS SAMFLT:0 עם שם ערימה ייחודי).
  5. (FLT:0)E2E בדיקות:FLT:1 עומק לסביבה ממריץ.הוצאה להורג של מסעות משתמשים קריטיים באמצעות Cypress or Postman. Monitor מדדים ולוגים.
  6. (ב) מבחנים של עשן פורפורנס: 0101 במרץ) להפעיל תת-קבוצה של בדיקות עומס כדי לתפוס תוקפנות בשיעורי עצלות או טעויות.
  7. סריקות אבטחה:0 (FLT:1) בצעו בדיקות מדיניות IAM וסריקות פגיעות תלותיות (למשל, Snyk,תלוי).
  8. ניסויים (אופציונליים, תקופתיים): תזמון שבועי או לכל יחסי הכאוס פועל בסביבה ייעודית.
  9. (FLT:0) פריסה קנדית: 1:1 לאחר שעבר את כל הבדיקות, לפרוס אחוז קטן של מדדי תנועה. Monitor לתקופה קירור לפני גלגול מלא.

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

מסקנה

בדיקת יישומים Serverless דורשת שילוב אסטרטגי של טכניקות מסורתיות והתאמה ספציפית בענן.על ידי הבנת האתגרים הייחודיים - חוסר יציבות, תלות מבוזרת, מתחיל קר, ואינטראקציות שירות מנוהלות - קבוצות יכולות לעצב פירמידת בדיקה הכוללת יחידה, אינטגרציה, חוזה, E2E, ביצועים, אבטחה ובדיקות כאוס. E מאובזר עם כלים מודרניים כמו AWS SAM CLI, LocalStack, ו-obvability, מפתחים יכולים להשיג מערכות אבטחה גבוהות ללא יעילות.

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