מפתחים בסביבת Microservices? כך נכון לבדוק את הקוד שלכם

דף הבית >> פיתוחים חדשים וצ'יפים >> מפתחים בסביבת Microservices? כך נכון לבדוק את הקוד שלכם
מפתחים בסביבת Microservices? כך נכון לבדוק את הקוד שלכם
מאת: ליאור כץ, 31.1.21, 14:56ליאור כץ יחצ מטריקס אולמידיה

הכל על פיתוח בסביבת Microservices, שהעצים את כל השיטות והחדשנות בתחום הפיתוח בשנים האחרונות, תוך היעזרות בתרשים פירמידת הבדיקות, שמכונה גם "Testing Life Cycle".
 
רגע לפני שאנו צוללים לעולם הבדיקות בסביבת Microservices, יש להבין מה המשמעות של פיתוח בסביבה כזו. עד לא מזמן, סביבת הפיתוח הייתה סביבה מונוליטית, שמשמעותה היא סביבה קבועה ואחידה, שכוללת בסיס קוד יחיד, שירות (Service) אחד, עם מארח אחד, בסיס נתונים יחיד וטכנולוגיה אחידה.

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

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

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

 ונעבור לתחום הבדיקות..
כדי להסביר על תהליך הבדיקות עבור קוד המפותח בסביבת Microservices, ניעזר בתרשים פירמידת הבדיקות, שמכונה גם "Testing Life Cycle":
מטריקס

Unit Test - השלב הראשון בפירמידה הוא אינו ה-Unit Test הרגיל, שרבים מאיתנו מכירים. הסיבה לכך נעוצה בעובדה, שמדובר בפלטפורמה, שגם מייצרת יחידות בדידות ואוטונומיות, ולכן יש לחלק את ה-Unit test המוכר ל-2 חלקים:
  1. Solitary Test - בדיקות יחידה, שניתן לבודד - בדיקות מסוג זה מתאימות כאשר רוצים לבודד את היחידות הנדרשות לבדיקה, ולא לערב את שאר היחידות. בדיקות אלו הן היעילות ביותר במושגים של מהירות ועלות הבדיקה.
  2. Sociable Test - בדיקות יחידה המסתמכות על יחידות אחרות, כדי לאפשר את הפונקציונליות הרצויה. בדיקות אלו אינן מבודדות את יחידות הבדיקה אלא מסתמכות על יחידות אחרות, שחייבות להיות חלק מהבדיקה. לדוגמה: לצורך הרצת תהליך עסקי כלשהו ניתן להריץ בדיקה על פונקציונליות המסתמכת על פונקציונליות של יחידות אחרות.
Component Test - בדיקות אלו מאפשרות בדיקה מקצה לקצה או בדיקה של תהליך עסקי שלם, ומצויות בשלב השני בפירמידה. הן ,למעשה, בדיקות המיועדות לבחון כיצד יחידה אחת מבודדת מתקשרת עם יחידות אחרות, שהן שירות וירטואלי (Virtual Services). דהיינו, היחידות האחרות עדיין לא שלמות, או לא מפותחות, אך אפשר לדמות אותן ע"י Service Virtualization.

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

כדי לבצע בדיקות מסוג זה, ניתן להיעזר במספר כלים היכולים לדמות שירותים לצרכי בדיקה, ביניהם: Mockoon, Wiremock, Gini-Apps ונוספים.

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

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

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

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

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

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

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

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

מאת: ליאור כץ, ינואר 2021.
מנהל טכנולוגיות ראשי בחטיבת בדיקות ואוטומציה של מטריקס
DEVELOP FREE

 



 
 
Bookmark and Share


 

לוח מודעות
רק בריאות, לכל הקוראים והקוראות באשר הם!!!!

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

לוח אירועים וכנסים של עולם ההיי-טק - כאן.

מחפש מחקרים? מאות מחקרים עדכניים מהשנה האחרונה מצויים כאן

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


מעוניין לבנות ולתפעל אתר אישי או עסקי מקצועי? לחץ כאן.


 





לוח האירועים המלא לגולשים מצוי כאן.

7-11/6/21 - SelectUSA Investment Summit

22/6/21 - ISREAL INVESTMENT SUMMIT 2021

19-22/7/21 - Cyber Week 2021 


 

הכי ניצפים 

תאגיד השידור - "עלינו". איך עשו עלינו סיבוב והשאירו את אגרת הטלוויזיה - כאן

כל מה שלא מספרים לכם בתחום "השוק הסיטונאי" - פרק א': בזק - כאן

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

כמה מפסידים בביצועים של הפס הרחב במעבר ל"שוק הסיטונאי"? - הרבה - כאן

למה בכלל צריך להחליף / לרכוש נתב במעבר ל"שוק סיטונאי"? - כאן

איך אני יודע כמה מגהרץ יש בחיבור LTE? מי ספק הסלולר המהיר בישראל? - כאן

חשיפת המחדל המדהים המוסתר מהציבור של הרס רשתות הסלולר - כאן

חשיפת מה שאילנה דיין לא פרסמה ב"ערוץ 2" על תעלולי השר משה כחלון - כאן

איך רבע מיליון לקוחות נפלו בפח ועברו להסדר המכונה בטעות "שוק סיטונאי" - כאן

ההגנה המושלמת על הגלישה ניידת והנייחת ועל הפרטיות מפני כל תוקף - כאן

מבחן דרך: חיבור VPN - האם זו ההגנה המושלמת על הגלישה ועל הפרטיות? - כאן

המשך חשיפת הבלוף ששמו "מהפיכת הסלולר" ואיך מסרסים את הנתונים לציבור - כאן

סיכום ביקור בסיליקון ואלי - למה 3 הגדולות משקיעות ומפתחות באותם תחומים - כאן

שלמה פילבר (עד לאחרונה מנכ"ל משרד התקשורת) - עד מדינה? הצחקתם אותי! - כאן

"יש אפליה בחקירה"? חשיפה: למה השר משה כחלון לא נחקר עד היום? - כאן

חשיפת חשד לשחיתות הדומה לזו של "תיק 4000" אך בתחום הסלולר - כאן

חשיפת ההונאה הגדולה שהובילה לכך שמוצרי התקשורת יקרים יותר בישראל - כאן

חשיפת מה שלא רוצים  שתדעו בעניין פריסת אנלימיטד (בניחוח בלתי נסבל) - כאן

חשיפה: איוב קרא אישר לקבוצת סלקום בדיוק מה שביבי אישר ל-Yes ולבזק - כאן

האם השר איוב קרא היה צריך בכלל לחתום על האישור, שנתן לקבוצת סלקום? - כאן

האם ביבי וקרא קבלו בכלל תמורה עבור ההטבות הרגולטוריות שנתנו לסלקום? - כאן

המסמכים בנושא בזק-Yes (תיק 4000) מוכיחים "תפירת תיק" לאיש הלא נכון! - כאן

עובדות ומסמכים המוסתרים מהציבור: האם ביבי כשר תקשורת עזר לקב' בזק? - כאן

מה מקור ה-Fake News שהביא לתפירת תיק לביבי והעלמת החשודים הנכונים - כאן

אחת הרגליים של "תיק 4000 התפור" התמוטטה היום בניצחון (כפול) של בזק - כאן

איך כתבות מפנקות הפכו לפתע לטובת הנאה שהיא מיסודות עבירת השוחד? - כאן

שערוריית הקנס הענק על בזק וחשיפת "תעודת הביטוח" של נתניהו בתיק 4000 - כאן

תיק 5000: סלקום - IBC לא תפרוס סיבים ותרכב על גב הרכוש הפרטי של בזק - כאן

ערוץ 20: "תיק תפור": אבי וייס חושף את מחדלי "תיק 4000" - כאן

התבלבלתם: גיא פלד הפך את כחלון, גבאי ואילת לחשודים המרכזיים בתיק 4000 - כאן

פצצות בתיק 4000: האם היו בכלל התנגדויות למיזוג בזק-יס? - כאן

נמצא מסמר נוסף בארון הקבורה של תיק 4000 התפור - כאן

נחשפה עוד עובדה חשובה בדרך אל ההלוויה של תיק 4000 - כאן

תיק 4000 לא הושלם: האם היועמ"ש קיבל את כל המידע הנחוץ לחקר האמת? - כאן

תיק 4000: גם תקנות התקשורת התומכות בגרסת נתניהו לא נכללו בחקירה - כאן

חשיפת שקרים נוספים בתיק 4000: הטעיית הציבור נמשכת ללא הרף - כאן

תיק 4000: נחוצה ועדת חקירה ממלכתית לגבי "אישום" שר התקשורת - נתניהו - כאן

תיק 4000: חשיפת "דבר ראשון" בעניין היועמ"ש - היבטים חמורים חדשים - כאן

תיק 4000: היועמ"ש לממשלה אישר "מיזוג" בזק-יס. צריך ועדת חקירה ממלכתית - כאן

אוסף הטעויות בתיק 4000: "אני מאשים" - לא חתרו כלל לגילוי המאת - כאן

שערוריית תיק 4000: איך יש 2 גרסאות שונות של כתב החשדות של היועמ"ש? - כאן

ערוץ 20: אבי וייס חשף טענות שגויות בכתב החשדות נגד רוה"מ בתיק 4000 - כאן

תיק 4000: חשיפת מסמך נוסף שיסייע גם הוא לחיסול תיק 4000 התפור - כאן

ערוץ 20: אבי וייס ואלי ציפורי חשפו שקרי הפרקליטות לגבי ההדלפות בתיק 4000 - כאן

תיק 4000: מתי מדוע ואיך הוא הפך מ"תיק בזק" ל"תיק תפור" ומחורר? - כאן

הספינים והשקרים בתיק 4000 חזרו. הם חלק מניסיון הפיכה שלטונית שיש לחקור - כאן

סודות ושקרים בפרקליטות והיועמ"ש: מי היה ב"ניגוד עיניינים" בתיק 4000? - כאן

תיק 4000 יושלך לפח האשפה של ההיסטוריה עקב חקירה רשלנית ללא מסמכים - כאן

תיק 4000: מסמר נוסף ענק לארון הקבורה שלו (פרי חשיפה של אלי ציפורי) - כאן

תיק 4000: בעיות זיכרון, חקירה משובשת ושקרים המכוונים להפיכה שלטונית! - כאן

חשיפות חדשות בעקבות הדלפת עדויות שלמה פילבר - "עד המדינה" בתיק 4000 - כאן

האם "תיק 4000" התפור אכן בדרכו ל"פח האשפה של ההסטוריה"? - כאן

חשיפת הכזבים של היועמ"ש מול האמת המוכחת לגבי ההדלפות בתיק 4000 - כאן

פוטש בשידור חי: את מי שהיה צריך לעצור ולחקור זה את "עד המדינה" פילבר! - כאן

תיק 4000: האם נוכל לנחש שהחשיפה כאן תהיה הגרזן הסופי שיפרק את התיק? - כאן

תיק 4000: הביזיון של כתב האישום הבדיוני דורש ועדת חקירה ממלכתית - כאן

האמת המוסתרת מהציבור בתיק 4000: פירוט 20 שקרים / אלי ציפורי ואבי וייס - כאן

איך זה שהיחיד שדיווח אמת בפרשה שהתפתחה לתיק 4000 - קיבל כתב אישום? - כאן

תיק 4000: ההדלפות לכלכליסט כביכול נגד רוה"מ דווקא מצביעות על חפותו - כאן

"נקודת האפס" - Ground Zero  שבו החלה תפירת תיק 4000 נחשף - כאן

למה לא נפתחה חקירה ב"תיק 5000" ומתבצע שימוע נוסף של הטבות ל-IBC? - כאן

החלטות של מש' התקשורת בעניין "ההדדיות" ממוטטות עוד לבנה בתיק 4000! - כאן

חשיפת הסיבה לתפירת תיק 4000 ב"נקודת האפס": "פרשת עורכי הדין"! - כאן

חשיפה בלעדית: מסתירים עוד מסמכים ש"מפוצצים" את תיק 4000 לרסיסים! - כאן

פירוט 60 שקרים בתיק 4000 (ויש עוד) שמסתירים בכוונה מהציבור! - כאן

"הנדסת התודעה" בתיק 4000 לא מסתיימת ותימשך בחודשים הבאים! - כאן

חשיפה: סלקום אספה ומכרה במשך שנים את כל נתוני לקוחותיה לרבות מיקומם - כאן

השקרים,הרמאויות, הצנזורות,העיוותים והסילופים של רביב דרוקר בתיק 4000 - כאן

חשיפת הפברוק של דרוקר שמחסלת את הראייה הישירה היחידה כנגד נתניהו - כאן

חשיפה דרמטית בתיק 4000: האם כעת התיק התפור ייפול? - כאן

איך ספינולוגים שוטפים את מוח הציבור פעם 3 בתכנית "המקור" על תיק 4000? - כאן

איך שינוי מילה אחת גם ע"י דרוקר "הפיל בפח" עדים רבים בתיק 4000? - כאן

התרגיל של שלמה (מומי) למברגר שסוגר כל חקירה שיכולה להוביל למנדלבליט! - כאן

שר התקשורת חתם על הטבה רגולטורית של מאות מיליוני ש"ח ל-3 טייקונים! - כאן

הסתעפות תיק 4000: תיק 5000 - הטיוח הגדול כדי שהחקירה לא תגיע למנדלבליט - כאן

פשוט מדהים: התגלו כעת 2 מסמכים התומכים בגרסת נתניהו בתיק 4000 - כאן

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

הטיוח של שלמה (מומי) למברגר, שלא קורא מסמכים, כדי להגן על מנדלבליט! - כאן

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

"אני מאשים": על היועמ"ש מנדלבליט לבטל היום את תיק 4000 ולהתפטר! - כאן

התמוטטות "תיק בזק" הייתה אמורה להוביל לביטול "תיק 4000": "אני מאשים!" - כאן

7 "ראיות זהב" מרכזיות בתיק 4000 שאפשר להשליך מיידת היישר לפח הזבל - כאן

"תיק 4000" התפור: עדכונים שוטפים לגבי משפט נתניהו שחשוב לדעת - כאן

עדכונים שוטפים על הסודות המסתתרים בעדות אילן ישועה בתיק 4000 - כאן

האם הגיע הזמן להעמיד לדין את תופרי התיקים ומיוחד את תופרי "תיק 4000"? - כאן

פירמידת השקרים שנבנתה ע"י היועמ"ש וגלובס סביב אילן ישועה כדי "להלבינו" - כאן

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

האם אילן ישועה ייחקר ברשות ניירות הערך בחשדות החמורים שהתעוררו נגדו? - כאן

משפט שערוריית תיק 4000: עדכונים שוטפים ביחס למשפט נתניהו שחשוב לדעת- כאן






 
זרקור חברות
 
PRnews
 
NORDVPN
 
Telecom Expert
 
טלקום אקספרטס
 
הבלוג של אלי ציפורי
 
עדן אימון עסקי
 
כמה זה? השוואת מחירים
 
Amiel
 
PRNEWS
 
טלי וייס
 
 
Slideshare Linkedin Twitter
Youtube Instagram Facebook
Google+ live Zappix
Bitly Vimeo Pinterest
אנדרואידאנדרואיד-ברקוד אפל ברקודאפל

 
  מהירות גלישה Your IP שירותנט
לייבסיטי - בניית אתרים