Table of Contents
דיאגרמות בלוק הן אחד הכלים המעשיים ביותר לתכנון וביצוע בדיקות מערכת.על ידי הצעת מפה ברורה וויזואלית של רכיבי המערכת והאינטראקציות שלהם, דיאגרמות אלה עוזרות לבדיקות לזהות נקודות מבחן קריטיות, מקרים של מבחן עיצוב, ותקשורת ארכיטקטורות מורכבות עם קלות.אם אתה בודק חומרה מוטבעת, תוכנה מבוזרת, או מערכת היברידית, דיאגרמות מספקות מבנה שמפחית את הביצועים והכיסוי של בדיקות.
מה זה בלוק בבדיקת המערכת?
דיאגרמת בלוק היא ייצוג גרפי פשוט של מערכת.זה משתמש בלוקים מלבניים כדי לייצג מרכיבים מרכזיים - כגון מודולים חומרה, פונקציות תוכנה או חנויות נתונים - וחץ או קווים כדי להראות את זרימת הנתונים, אותות שליטה או אנרגיה ביניהם. בניגוד schematics מפורט או דיאגרמות קוד מקור, דיאגרמות לפעול ברמה גבוהה יותר של מופשט, מה שהופך אותם אידיאליים עבור תכנון כי הם מה שחשוב מערכות יחסים:
בבדיקות מערכתיות, דיאגרמת בלוק הופכת לחפץ חי.זה מתחיל כתוכנית כחולה של המערכת תחת בדיקה ותפתח, כאשר הצוות מגלה ממשקים חדשים, מצבי כישלונות, או נקודות אינטגרציה.האגרמה עצמה אינה המוצר הסופי; זהו כלי המניע עיצוב מבחן, ניתוח סיכונים והערכה כיסוי.
מדוע חסימת דיאגרמות הן חיוניות לתכנון מערכת
1.הויזואליזציה של המורכבות
אפילו מערכות בגודל בינוני יכולות להיות עשרות מודולים בין-מבודדים.ללא דיאגרמה, בודקים חייבים להחזיק את כל החיבורים בזיכרון, מה שמוביל לתובנות.אגרמת בלוק ממוטטת את המורכבות הזו להשקפה אחת, חושף אילו רכיבים תלויים בהם, כאשר הנתונים נכנסים ויוצאים מהמערכת, ואשר נתיבים נושאים פונקציות קריטיות.
שיפור התקשורת בין הקבוצות
כאשר מפתחים, בודקים, בעלי מוצר ובעלי עניין כולם רואים את אותו דיאגרמת בלוק, אי הבנות על גבולות וממשקים יורדות בחדות.הדיאגרמה משמשת שפה משותפת, במיוחד כאשר צוותים כוללים חברים מתחומים הנדסיים שונים (Hardware, קושחה, תוכנה).
זיהוי נקודות מבחן וממשקים
כל חץ על תרשים בלוק מייצג נקודת מבחן פוטנציאלית.על ידי בחינת כל חיבור, בודק יכול להחליט אם לבדוק את הממשק ישירות, לדמות את הצד השני הפוך, או לפקח על זרימת הנתונים.גישה שיטתית זו היא הרבה יותר אמינה מאשר להסתמך על אינטואיציה או רשימות.
4 תמיכה בבדיקות מבוססות סיכון
דיאגרמות בלוק מקלות לזהות אזורים בסיכון גבוה: רכיבים עם קשרים נכנסים או יוצאים רבים, רכיבים שמעבדים נתונים קריטיים בטיחותיים, או מודולים מעוצבים לאחרונה. Testers יכולים להקצות יותר מאמץ למודולים אלה ולהשתמש בתרשים כדי להצדיק את חלוקת משאבי הבחינה.
סוגים של בלוק דיגרמה בשימוש בבדיקת
בלוקים פונקציונליים
מיקוד זה על הפונקציות או התהליכים שבוצעו על ידי כל מודול.הם אידיאליים עבור מערכות תוכנה שבו כל בלוק מייצג שירות, מיקרו-שירות או אלגוריתם.קווים מראים את סדר הפעולות או זרימת הנתונים בין פונקציות.
חסימות פיזיקליות
בשימוש בעיקר במערכות חומרה ומוטבעות, דיאגרמות בלוק פיזיות מראות מרכיבים אמיתיים כמו חיישנים, אקטוטורים, מעבדים, וצפי זיכרון.חיבורים מייצגים חוטים פיזיים, אוטובוסים או קישורים אלחוטיים.סוג זה עוזר לבדיקות לתכנן בדיקות חומרה-ב-the-loop ובדיקות אינטגרציה.
חוסמת ה-Hybric Block Diagrams
מערכות רבות בעולם האמיתי משלבות חומרה ותוכנה.אגרמת בלוק היברידית מציבה את שני חומרי החומרה ואת בלוקי התוכנה על אותו הבד, עם תוויות ברורות המבדלות את השניים.זה חשוב במיוחד עבור בדיקות ברמת המערכת שבו כישלון יכול להיווצר משני הצדדים.
כיצד ליצור דימום יעיל עבור בדיקות מערכת
יצירת תרשים בלוק עבור בדיקות אינה זהה לציור תרשים אדריכלות עבור מפתחים.הדיאגרמת של ה- Tester חייבת להדגיש את החששות של המבחנים, פרטי ממשק ודרכי מניעת שגיאות.עקוב אחר תהליך שלב זה.
שלב 1: מסמך מערכת Gather
התחל עם מסמכים דרישות, מפרטים אדריכלות, מסמכי בקרת ממשק (ICDs), וכל דיאגרמות קיימות.אם תיעוד הוא ספאר, ראיונות מפתחי ומומחים דומיין. לאסוף מספיק מידע כדי לזהות את כל המודולים העיקריים, את תפקידם ואת הממשקים החיצוניים שלהם - גם למודולים אחרים ולעולם החיצוני.
שלב 2: Define the System Boundary
צייר קו קידוד או קו מחורבן סביב המערכת כולה.הכל בתוך הגבול הוא המערכת תחת מבחן.כל דבר מחוץ לו הוא הסביבה (משתמשים, מערכות אחרות, כוחות פיזיים) הגבול הזה מבהיר את מה שאתה אחראי לבדיקה ומה שאתה צריך לדמות או להזיז.
שלב 3: רשימת מקומות והמקום
צור בלוק עבור כל רכיב מרכזי.תן לכל בלוק שם קצר, תיאורי (למשל, "שירות Authentication Service", "Engine Control Unit", "Data Logger"), "לארגן את המכשולים בפריסה הגיונית - בדרך כלל שמאלי לזרימה נתונים או לטופ-to-to- ⁇ עבור בלוקים הקשורים בקבוצת בקרה (למשל, כל רכיבי האחסון, כל המודולים, התקשורת).
שלב 4: ציירו חיבורים וזרימת נתונים
השתמש בחצים כדי להראות את הכיוון של נתונים, אותות או שליטה.ל התווית כל חצים עם סוג של נתונים (למשל, "JSON Payload", "CAN אוטובוס הודעה", "מתח אנלוגי 0-10 V") אם חיבור הוא דו-כיוני, השתמש בחצים כפול ראש או שני קווים נפרדים.
שלב 5: הוספת גורמי בטיחות ל- Test Infrastructure Place
להציב בלוקים לרתימות מבחן, סימולטורים או כלי ניטור אשר ישמשו במהלך בדיקות.לדוגמה, להוסיף בלוק "בקר est" אשר שולח קלטות מוגדרות מראש למערכת ובלוק "אנליייזר נתונים" שלוכד את הפלט.זה הופך את התרומת מאדריכלות סטטית לתוכנית בדיקה דינמית.
שלב 6: Annotate with Test Intent
בכל בלוק או חיבור, כתוב הערות קצרות על מה הם בדיקות רלוונטיות: "טיפול בשגיאה Validate כאשר השרת חוזר 503", "תזמון צ'ק: תגובה < 10 מ's", "Verify CRC על חבילות שהתקבלו." אנטנות אלה הופכות את התרמית למפרט מבחן חי שניתן לבדוק לפני כל בדיקה מתחילה.
שימוש ב-block Diagrams במהלך ביצוע בדיקות
ברגע שהדיאגרמה נוצרת, היא הופכת לבחינת יום-יום.כאן דרכים קונקרטיות להשתמש בה.
בחירת תיקי מבחן בהתבסס על נתיבים
יש דרך מחסימת קלט באמצעות מודולים ביניים לבלוק פלט.כל נתיב מתאים למערך של תרחישים מבחן.לדוגמה, בצינור עיבוד הודעה, הנתיב עשוי להיות: "HTTP API , אימות , Queue , אחסון מעבד" Testers יכול לאחר מכן לתכנן מקרים עבור כל צומת בדרך, כיסוי זרימה רגילה, שגיאות, ועומס יתר.
עקבו אחרי Coverage
הדפסת תרשים בלוק וסמן כל בלוק וחיבור פעם אחת בוצעה בדיקה התרגילים אותו.מפת הכיסוי החזותית הזו מראה במהירות אזורים בלתי נבדקים.קבוצות רבות משתמשות בקידוד צבע: ירוק לבדיקה, צהוב לבדיקה חלקית, אדום עבור untested.זה הופך את זה קל לתקשר התקדמות ניהול.
כישלונות
כאשר נכשל מבחן, דיאגרמת בלוק עוזרת לבודד את הכישלון.על ידי התבוננות אילו בלוקים היו מעורבים ואת הנתונים שעברו כל אחד, בודקים יכולים להשערה היכן שהפגום שוכן.לדוגמה, אם בלוק פלט מראה נתונים נכונים, אך התהליכים בלוק הבא הוא באופן שגוי, ה באג ככל הנראה נמצא בממשק או בלוגיקה לעיבוד של בלוק זה.
ניתוח Regression Analysis
כאשר שינוי נעשה למערכת, תרשים בלוק מראה אילו מודולים מושפעים.אם רק בלוק אחד משתנה, רק החיבורים נכנסים ועוזבים את בלוק זה צריך להיות regression-tested.אם חיבור משתנה, כל בלוקים במורד הזרם כי לצרוך את הנתונים עשויים להיות מושפעים.
דוגמאות אמיתיות לבלוק דיאגרמות בבדיקת המערכת
דוגמה: רשת חיישן Embedded Sensor Network
חברה בונה רשת חיישן טמפרטורה אלחוטית ניטור תעשייתי.האגרמת בלוק כוללת אבני חיישן, שער, שרת ענן, ולוחם. במהלך בדיקות מערכת, הצוות משתמש בתרשים כדי לתכנן בדיקות עבור איסוף נתונים, בדיקות שלמות, ניטור חיי סוללה, וכשל כאשר לאדה טיפות.הרשמה גם מגלה נקודה אחת של כשל: בדיקות השער.
דוגמה 2: מיקרו-שירותים מבוססי E-Commerce Platform
פלטפורמת מסחר אלקטרוני יש 15 מיקרו-שירותים: קטלוג מוצר, עגלת, צ'ק, תשלום, מלאי, משלוח וכו 'אגרמת בלוק מראה את שער ה- API מלפני וכל שירות עם חיבורים למאגרי מידע ו תורי הודעות. צוות הבדיקות משתמש בתרשים כדי לחלוק אחריות במבחן אחריות: בודק אחד מכסה את נתיב הסימון, עוד עדכוני מלאי אחרים.הרשומה משמש גם כדי לזהות בדיקות חוזים הדרושים בכל שירות.
דוגמה: מערכת ניהול רכב
מערכת מידע רכב משלבת תצוגת מסך מגע, מגבר DSP, מקלט GPS, Bluetooth, ורשת אזור בקר (CAN) תחנת אוטובוס.האגרמת בלוק עוזרת לבדיקות ברמת מערכת הבדיקה עבור פקודות קוליות אינטראקציה עם DSP ו CAN אוטובוס.זה גם מדגיש את האוטובוס CAN כמו משאב משותף, מה שמוביל בדיקות עבור תוכן אוטובוסים ותרחישים זמן.
Best Practices for Block Diagrams in System Testing
שמור על רמת ההסכמה הפרטית
להחליט מראש אילו רכיבים מקבלים את בלוק שלהם, אשר הם מקובצים.אל תערבו מאוד נדיבות (למשל, פונקציות בודדות) עם גרגרנות קורקזית (למשל, תת-מערכת שלמה) ללא סיבה ברורה. A System חוסם תרשים בדרך כלל מראה מודולים ברמת יחידות חלופיות עצמאיות - יחידות שניתן לבחון בבידוד.
שימוש ב- Standard Notation
אימוץ סט עקבי של צורות וצבעים.לדוגמה, מלבני תוכנה, מלבנים מעוגלים לחומרה, יהלומים למקורות נתונים או הכיור, וחץ עבור זרימת נתונים.
עדכון ה-Digram ברציפות
דיאגרמות בלוק אינן ניתנות לאספקת זמן אחת.כאשר המערכת מתפתחת, לעדכן את הדיאגרמה.דיאגרמות מפוכחות שגויות ונשדד אמון.
עקבו אחרי Test Management Tools
כלים רבים לניהול בדיקות מאפשרים קישור למקרי מבחן בלוקים או חיבורים בתרשים.זה מקל להפעיל ניתוח השפעה כאשר הדיאגרמה משתנה.עבור צוותים באמצעות בדיקות מבוססות מודל, תרשים בלוק יכול לשמש קלט לדור בדיקה אוטומטי.
מלכודות נפוצות להימנע
עקבו אחרי Diagram
דיאגרמת בלוק שמנסה להראות כל רישום, כתובת פונקציה וחוט כבר לא דיאגרמה בלוק - זה הופך דיאגרמה מתפתלת.המטרה של תרשים בלוק היא מופשטת.אם הדיאגרמה הופכת לקליטה, פיצול אותו לתוך שכבות מרובות: דיאגרמת קונטקסט ברמה העליונה וכמה דיאגרמות בלוק מפורטות עבור תת-מערכות.
מינוף טבלאות לסביבה
לעתים קרובות שוכחים לכלול ישויות חיצוניות כמו משתמשים, שירותים חיצוניים או קלטות פיזיות.ללא אלה, הדיאגרמה אינה מראה היכן מקורם גירויי הבדיקה או היכן יש לצפות בפלט ל"חינוך" או "מערכות חיצוניות" ו"מערכות חיצוניות" ו"ממשוך קשרים מעבר לגבול המערכת".
חיבורים ללא נתונים
ציור קו בין שני בלוקים אינו מספיק.ללא תווית סוג של נתונים, פרוטוקול או תזמון, הדיאגרמה מאבדת את הערך שלה עבור עיצוב מבחן. קו שאומר "נתונים" הוא כמעט חסר תועלת; אחד שאומר "הודעות ג'ייסון על HTTPS, avg 50 בקשות /sec, max latency 200ms" הוא מאוד מבחן.
שימוש ב-Digram רק לתכנון
כמה קבוצות יוצרות דיאגרמת בלוק יפה במהלך שלב עיצוב הניסוי ולאחר מכן להגיש אותו משם.הכוח האמיתי מגיע משימוש בתרשים במהלך ביצוע, טריג באגים ודיווח. שמור אותו גלוי - על הקיר, בתיקיה משותפת, או מוטבע בכלי ניהול הניסוי.
כלים ליצירת בלוק דיגרמה
כמה כלים יכולים לעזור לך ליצור ולשמור על דיאגרמות בלוק.בחר אחד שתומך בשיתופים קלים ובגרסה.
- (ב) ⁇ (ב"ד): ⁇ (ב) ,בחינם, מבוסס אינטרנט, משלב עם Google Drive, Confluence, ו- GitHub. מצוינים לעריכה שיתופית.
- (ב) ⁇ :0 (ב) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
- (ב) ⁇ :0 (PlantUML:FLT:1hil) הגדרת דיאגרמה מבוססת טקסט שניתן לשלוט בהגירסת גרסאות. אידיאלי עבור צוותים שרוצים לטפל בתרשיםים כקוד:2External Link: FLT 3PlantUMLIRFLT:4
- (FLT:0) Microsoft Visio:FLT:1 כלי דיאגרמות מסורתי, בשימוש נרחב בהגדרות ארגוניות, אך פחות שיתופיות מאשר חלופות מבוססות אינטרנט.
צמצום ההשפעה של בלוק דיגרמה על בדיקת יעילות
צוותים אשר מאמצים דיאגרמות בלוק באופן עקבי רואים שיפורים הניתנים למדידה.מדדים נפוצים כוללים כיסוי דרישות גבוהות יותר (כיוון שכל בלוק הוא מעקב אחר דרישות), פחות פגמים באינטגרציה (כי בדיקות ממשק נועדו באופן שיטתי), ו בידוד מהיר יותר של כישלון במהלך ביצוע מחקר מקרה אחד, צוות הפחית את הזמן כדי לשחזר ולמקם באג ברמת המערכת על ידי 40% לאחר המעבר לגישה מבוססת בלוק.
אם אתה עדיין לא משתמש דיאגרמות בלוק, להתחיל קטן.בחר מערכת תת-מערכת אחת שגורמת לכאבי ראש, לצייר את דיאגרמת בלוק שלה, ועיצוב הסיבוב הבא של בדיקות בהתבסס על זה.סביר להניח שתבחין בהבדל בבהירות וכיסוי מיידי.
מסקנה
דיאגרמות בלוק אינן רק עבור אדריכלים ומעצבים - הן כלי מעשי, יומיומי עבור בודקי המערכת.על ידי כך שהן מכריחות תצוגה ברורה של רכיבים, ממשקים וזרימת נתונים, הן הופכות כאוס למבנה.הם מסייעים לך לתכנן בדיקות שהם יסודיים ויעילים, לתקשר בין הממצאים ללא עמימות, ולהתאים במהירות כאשר המערכת משתנה.