מערכות בקרה ואוטומציה
בדיקה אוטומטית לתוך צינור הסיגריות / ה-Cred שלך עבור יעילות טובה יותר
Table of Contents
במחזור חיי פיתוח התוכנה המודרני, שבו מהירות ואיכות הן בלתי ניתנות להשגה, שילוב של בדיקות אוטומטיות לתוך שילוב רציף ו Deployment רציף (CI /CD) הפך אבן הפינה של משלוח יישומים אמין. בדיקות אוטומטיות מבטיח כי כל שינוי קוד מאומת נגד חבילה של קריטריונים שנקבעו מראש לפני שהוא מגיע הייצור, ביעילות שינוי אבטחת איכות ותופסת פגמים מוקדמים זה, מספק תגובה ידנית, תוך כדי תיקון משימות אוטומטיות, תוך כדי שינוי אוטומטי, תוך כדי תיקון משימות חשיבה אוטומטית, תוך כדי שינוי אוטומטי, תוך כדי שינוי אוטומטי, תוך כדי שינוי אבטחה מופעלת, תוך כדי תיקון משימות מופעלת, ותגובה אוטומטית, תוך כדי תיקון משימות אבטחה חוזרת על ידי מערכת הפעלה מחדש של אבטחה עצמית, תוך כדי תיקון, ומניעה, תוך כדי תיקון מחדש של אבטחה אוטומטית, ותגובה אוטומטית, תוך כדי שינוי, ותגובה מופעלת, תוך כדי שינוי אבטחה חוזרת של אבטחה חוזרת של אבטחה חוזרת של אבטחה חוזרת של אבטחה חוזרת של אבטחה חוזרת של אבטחה חוזרת של אבטחה חוזרת על ידי מערכתית, תוך כדי שינוי מיידיות, תוך כדי שינוי אבטחה אוטומטית, כאשר היא הופכת למשימות אבטחה אוטומטית, ומניעה, תוך כדי שינוי אבטחה אוטומטית, תוך כדי שינוי אבטחה חוזרת של אבטחה חוזרת של משימות מופעלת, תוך כדי שינוי אבטחה אוטומטית, כאשר היא הופכת למשימות אבטחה אוטומטית,
עם פלטפורמות כמו FLT:0 ,DirecteurFLT 1 מאפשר ניהול תוכן מהיר ופיתוח API, הצורך בבדיקות שיטתיות בולט אפילו יותר. CMS חסר ראש משמש לעתים קרובות כעמוד השדרה עבור יישומים מרובים לפני הספירה, כלומר כל קבוצות רגרסציה ב-Regression יכול למקם את התרגילים הטובים ביותר של פיתוח, יישומים ניידים, ואינטגרציה של צד שלישי.
מה זה בדיקה אוטומטית ב- CI/CD?
בדיקות אוטומטיות כרוכות בשימוש בתוכנה מיוחדת לביצוע מקרי מבחן באופן אוטומטי, השוואת תוצאות בפועל עם תוצאות צפויות.כאשר משולב לתוך צינורות CI /CD, בדיקות אלה לרוץ על כל קוד מבצע, למשוך או פריסה לסביבה ממריץ באופן אוטומטי סדרה של סוויטות בדיקה - החל בדיקות ברמה נמוכה לתרחישים מתקדמים מקצה לקצה - וקובע אם הבנייה היא בטוחה.
מטרת הליבה של בדיקות אוטומטיות CI /CD היא לספק משוב מהיר, ⁇ סטי.בניגוד בדיקות ידניות, אשר יכול לקחת ימים והוא נוטה פיקוח, בדיקות אוטומטיות לרוץ בתוך דקות, יכול לחזור על עצמו בדיוק בכל פעם.זה מאפשר לצוותים פיתוח לזהות בעיות בתוך דקות של הצגתם, ולא לגלות אותם שבועות מאוחר יותר במהלך העברת רפיון ידני.
תפקיד הצינור בבדיקת ביצוע
צינור CI /CD טיפוסי מחולק לשלבים: בקרת מקור, בנייה, מבחן, חבילה, פריסה.שלב הבדיקה הוא ככל הנראה הקריטי ביותר כי הוא משער את השלבים מאוחר יותר.אם כל מבחן נכשל, הצינור מפסיק, והצוות הוא מיד הודיע.זה שערקפס מונע קוד שבור מלהגיע הייצור. יתר על כן, צינורות מודרניים מאפשרים ביצוע מקבילה סביבות מרובות, להפחית את הזמן הנדרש כדי לאמת שינוי.
סוגים מרכזיים של בדיקות אוטומטיות עבור צינור שלך
לא כל הבדיקות משרתות את אותה מטרה. אסטרטגיה של בדיקות מעוגלות משלבת רמות מרובות של נדיבות, כל אחד נועד לתפוס מעמד מסוים של פגמים.פירת הבדיקות - שתואר במקור על ידי מייק קוהן - מספק מודל נפשי מועיל: בסיס גדול של בדיקות מהירות, מבודדות יחידה; שכבה קטנה יותר של אינטגרציה של בדיקות; ולמעלה דק של בדיקות איטיות, רחבות מקצה לקצה בפועל, אתה יכול להוסיף ביצועים, גם לעישון, לבדיקות, לאימון, לאימון, לשחית, לשחית, לשחית, לשחית, לשחיקה, לאימון, לשחית, לאימון, לשחית, לשחיקה, לבדיקות סטנדרטי, לבדיקות סטנדרטי, לשחית, לשחפות, לבדיקות סטנדרטי, לשחית, לאימון, לבדיקות סטנדרטיות, לשחית, לבדיקות סטנדרטיות, לבדיקות סטנדרטיות, לבדיקות סטנדרטיות, לעישון, לבדיקות סטנדרטיות, לבדיקות סטנדרטיות, לבדיקות סטנדרטיות יותר, לשחיתות יותר של אינטגרציה, לאימון, לשחמט, לבדיקות סטנדרטיות, לבדיקות סטנדרטיות יותר של אינטגרציה, לבדיקות סטנדרטיות, לשחמט, לאימון, לאימון, לאימון,
מבחן יחידה
(ה) מבחנים לאמת את החלקים הקטנים ביותר של יישום - פונקציות אישיות, שיטות או שיעורים - בבידוד של תלות חיצונית כגון מסדי נתונים או שירותי רשת.הם מהירים לרוץ, קל לכתוב, ולספק משוב מדויק מאוד כאשר הם נכשלים.לדוגמה, בדיקת יחידה עבור מודול אימות משתמש (RipJFtest) 1D5 (Ripi) 1D) 1D2Fite) 1 (R) 1D2Jipi)
בדיקות אינטגרציה
(הבדיקות אינטגרציה) מאמתות כי רכיבים או שירותים שונים פועלים יחדיו נכון, בניגוד לבדיקות יחידה, הם לעתים קרובות כרוכים במאגרי מידע אמיתיים, מערכות קבצים או API חיצוניים - אם כי ניתן להשתמש במכלי בדיקה או במאגרי מידע פנימיים כדי לשמור אותם מהירים וקבועים.
סוף-סוף (E2E) Tests
(הפסקות של אינסוף) מדמיינות מסעי משתמשים אמיתיים בכל ערימה היישום, מה-UI למטה אל מסד הנתונים וכל שילוב של צד שלישי.הם המקיפים ביותר, אך גם את איטי ביותר ואת רוב הבקר ביותר.עבור CMScoverless CMSLISE, בדיקת E2E עשויה לכלול רק את היישום הניהולי, יצירת אוסף חדש, הוספת פריטים, ולוודא כי ממשקי ה-E2Frelimates כגון:
בדיקות ביצועים
בדיקות ביצועים להעריך כיצד המערכת מתנהגת תחת עומס, מדידת זמני תגובה, דרך חישוב, צריכת משאבים.הם יכולים להיות מחולקים עוד לבדיקות עומס (תנועה ממוקדת), בדיקות מתח (מעבר לגבולות הצפויים), ובדיקות ספוגות (עומס מתמשך לאורך זמן) בצנרת CI/CD, ביצועים קלים יכולים להיות מופעלים על כל התחייבות לזהות תוקפנות מוקדם יותר, לדוגמה, ייתכן שתשתמשיכו להשתמש ב-Fird:0Fird מוקדם יותר מאשר בדיקות קריטיות כדי לבצע בדיקה של 1⁄2 לפני הספירה לאחור כדי לבצע בדיקה או 3.
סוגים אחרים של מבחן
בדיקות עשן
בדיקות עשן הן תת-קבוצה של בדיקות כי לבדוק את הפונקציונליות הקריטית ביותר לאחר פריסה.הם פועלים כמבחן סניפי כדי להבטיח שהיישום פועל ותהליכי הליבה אינם שבורים.בצנרת CI/CD, בדיקות עשן לעתים קרובות לרוץ מיד לאחר פריסה לסביבה ממריצים או ייצור.עבור פרויקט Directus, בדיקת עשן עשויה לאמת כי עומסי הכניסה, API מחזיר מעמד 200, ברירת המחדל הוא נגיש.
בדיקות רגרסציה
בדיקות רגרסיה מבטיחות כי שינויים בקוד חדש אינם לשבור פונקציונליות קיימת.בעוד שבדיקות יחידה ואינטגרציה מכסות באופן חד-משמעי תרחישים חמורים רבים, חבילת מבחן רגרסיה ייעודית – לעתים קרובות אוסף גדול של בדיקות קיימות – ניתן לבצע מחדש במהלך הבנייה. בפועל, חבילת התגמול היא בדרך כלל זהה כמו חבילת המבחן הסטנדרטי שלך, אבל היא מבוצעת כחלק מהבדיקה "pre-mer" של הצינור.
בדיקות חוזים
במערכות אקולוגיות מיקרו-שירות, בדיקות חוזים מאמתות כי ספק API (למשל, מקרה Directus) תואם חוזה מוסכם בעבר עם הצרכנים שלו (אפליקציות מובילות, לקוחות ניידים) כלים כמו CIFLT:0PactigtureFLT:1 מאפשר בדיקות חוזים מונעים על ידי צרכנים, שבו הצרכן מגדיר ציפיות כי הספק חייב לעמוד.
היתרונות של בדיקות אוטומטיות
היתרונות של הטמעת בדיקות אוטומטיות לתוך צינורות CI /CD שלך להרחיב הרבה מעבר פשוט למצוא באגים מוקדם יותר.כאן היתרונות המשפיעים ביותר שאתה יכול לצפות:
- (FLT:0) גילוי מוקדם של באגוולד ועלויות תיקון נמוכות יותר: הטמעת פגם בשלב ההתחייבות עולה חלק ממה יעלה לתקן את אותו באג בייצור.בדיקות אוטומטיות להפחית את הזמן הממוצע לזהות (MTTD) ופירוש הזמן להחלמה (TR) באופן משמעותי.
- (FLT:0)Faster Development Cycles:FLT:1 עם ביטחון רגרסי הניתן על ידי אוטומציה, הצוותים יכולים לפרוס מספר פעמים ביום ללא אימות ידני המזרז את העברת התכונות והצללים החמים.
- (FLT:0) הבטחת איכות עקבית: ההרחבה 1 (הבדיקות האוטומטיות) הן ⁇ סטיות – הן פועלות באותה דרך בכל פעם.עקביות זו מבטלת את יכולת הראייה האנושית ומבטיחה כי סטנדרטים איכותיים מוחלים באופן אחיד על פני כל בניין.
- (FLT:0) ,העברת טעות אנוש במשימות רפלקטיביות: FLT:1 בדיקות ידניות הוא edious וטעייה-פרון, במיוחד כאשר מבצעים את אותם בדיקות עשרות פעמים ביום.אוטומציה משחררת בודקים ומפתחים להתמקד בבדיקת בירור ומקרים מורכבים הדורשים שיפוט אנושי.
- (FLT:0) הערכת פיתוח אמון: FIRLT:1 צנרת ירוקה נותנת למפתחים את הביטחון לספק, לשדרג את התלויות, ולהציג תכונות חדשות ללא חשש של פגיעה שקטה בתפקודים הקיימים.
- שיתוף פעולה טוב יותר בין צוותים: FLT:1 כאשר בדיקות הן אוטומטיות וגלויות לכולם, הצוותים יכולים לשתף בעלות על איכות.מפתחים רואים מיד אם השינויים שלהם שוברים משהו, QA יכול להשקיע יותר זמן בתכנון בדיקות טובות יותר מאשר ביצוע בדיקות ישנות.
- (FLT:0) Audit Trail and Compliance: ההרחבה 1 (התוצאות של בדיקות אוטומטיות) מספקים תיעוד מוקרן של מה שאומת בכל מבצע, סיוע בציות לסטנדרטים כמו SOC 2, HIPAA, או ISO 27001.
כיצד ליישם בדיקה אוטומטית בקופסת CI /CD שלך
המעבר מבדיקות ידניות או ספירודיות לצנרת אוטומטית לחלוטין דורש תכנון זהיר.כאן הוא מסגרת שלב-שלבית שעובדת עבור קבוצות של כל הגדלים.
בחר את כלי הבדיקה הנכונים
הבחירה של מסגרת בדיקה ורץ תלויה בערימה הטכנולוגית שלך, מומחיות צוות, דרישות הפרויקט. עבור פרויקט מבוסס Directus טיפוסי - אשר עשוי להשתמש Vue.js עבור חזית הניהול ו Node.js עבור הרחבות - אתה יכול לבחור:
- (ב) ,0) מבחנים: ⁇ 1:1 , או עדות לקוד JavaScript/TypeScript.
- (ב) מבחנים:0 (ב) ,(ב) ,(ב) ,(ב) , (ב) , ⁇ ) , או מסגרת אינטגרציה ייעודית כמו SuperAgent with Mocha.
- (FLT:0) בדיקות מקצה לקצה: FLT:1 Playwright או Cypress for דפדפן אוטומציה.
- (FLT:0) מבחנים ביצועים: 0FLT:1 k6 עבור יכולות התסריט של JavaScript ושילוב עם כלי CI.
- (ב) מבחנים:0 (Contract Testing: FLT:1 Pact for Consumer-oriented חוזים בין Directus לבין יישומי לקוחות.
להעריך את התמיכה הקהילתית של כל כלי, תיעוד, תאימות עם פלטפורמת הצינור שלך (GitHub Actions, GitLab CI, ג'נקינס, CircleCI וכו ') Aim for Tools המייצרות פורמטים סטנדרטיים של פלט כמו JUnit XML, שכן רוב שרתי CI יכולים לפצח אלה עבור דיווח עשיר.
2.כתבו בדיקות שהן משמעות והחזקה
לא כל הבדיקות מספקות ערך שווה. להתמקד בהתנהגות החשובה ביותר: זרימת עבודה ביקורתית, טיפול בשגיאות, גבולות אבטחה ואמינות נתונים.
- התנהגות בלתי אפשרית (FLT:0) לא יישום: FLT:1 להימנע מבדיקות שנצמדות בחוזקה למבנה הקוד הפנימי, כפי שהם פורצים בקלות במהלך מתן מחדש.
- (ב) עיין בבדיקות עצמאיות: 1FLT (ב) כל מבחן צריך להגדיר ולקרוע את הנתונים שלו.
- (FLT:0) שמות מבחן תיאוריים: FIRLT:1) מבחן כמו "צריך להחזיר 400 כאשר האימייל חסר" מתקשר בבירור לכוונותיו ומסייע בכישלונות מרתיעים.
- (ב) ,0) ,[דרוש מקור]: [ה] [ה]] [ה]] [ה] מהר, נשגב, נשגב, חוזר, מעצם ההגשמה העצמית.
עבור בדיקות אינטגרציה שנוגעות לשירות חיצוני כמו Directus, שקול באמצעות וירטואליזציה שירות או מקרה מבחן ייעודי.קבוצות רבות ספיןאו מיכל חדש של Directus באמצעות Docker Compose בתוך הצינור כדי להבטיח מצב נקי.
● הגדר את קו ה- CI/CD כדי להפעיל בדיקות
(הופנה מהדף תצורה של תצורה ברורה (למשל, FLT:0,FLT:1, FLT:2).
- (ב) ◄ ⁇ ⁇
- (ב) ,0) , ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
- (ב) [15] [15] [15] [15]
- (ב) ,0) ,1 (התחילה בפרשת ה')
- (ב) ,0) בנייתו של ה-iOSFLT:1 (למשל, יצירת נכסים מסוג Script, מחסנים).
- (ב) ,0) מבחנים של אינטגרציה (FLT:1) (באמצעות מסד נתונים של מבחן או תלות מקוטבת)
- (ב) ,0) ,ד"י (ב) ל"ד" (אם נדרש עבור E2E)
- (ב) ,0) , מבחנים מקצה לקצה (רק עבור ענף או תגי שחרור עיקריים)
- (ב) ,0) מבחנים של עשן ביצועים (אופציונליים, קלים)
- (ב) ,0) ,[[1924]]]]
דוגמה לשימוש ב- GitHub Actions:
name: CI/CD Pipeline
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
services:
postgres:
image: postgres:15
env:
POSTGRES_PASSWORD: testpass
options: ...
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with: { node-version: '20' }
- run: npm ci
- run: npm run test:unit
- run: npm run test:integration
- run: npm run build
- run: npm run test:e2e
if: github.ref == 'refs/heads/main'
4.בדיקות אוטומטיות של טריגר
הגדר את הצינור שלך לרוץ באופן אוטומטי על אירועים רלוונטיים: כל דחיפה לכל ענף, על משיכת בקשה ליצירת / סינכרון, ועל מיזוגים לשחרר סניפים. להימנע הפעלת סוויטות E2E מלאות על כל פעולה מקומית; במקום זאת, השתמש בפילטרים נתיב או לוגיקה מותנית.קבוצות רבות גם לוחמות לילה של ביצועים כבדים או בדיקות אבטחה. אתה יכול גם להפעיל בדיקות על לוח זמנים כדי לתפוס תוקפנות מעדכונים חיצוניים.
5.אנליז תוצאות ופעולות על כשלים
אין להתעלם ממבחן כושל.הגדרת מערכת CI שלך לשלוח הודעות (email, Slack, Teams) לצוות האחראי. לספק דוחות בדיקה ברורים כי הדגשה כי טענות נכשלות, עם יומני רלוונטי וצילומי מסך עבור בדיקות E2E. לטפל בבדיקות flaky - אלה שלא לסירוגין ללא שינוי קוד - כעדיפות גבוהה לתקן.אם בדיקה ידועה להיותaky, זה עדיף לחקור את הצינור.
אסטרטגיות מתקדמות לבדיקות אוטומטיות
ברגע שהצנרת הבסיסית שלך נמצאת במקום, אתה יכול לאמץ טכניקות מתקדמות לשיפור האמינות והמהירות.
ביצוע בדיקות
בדיקות ריצה הופכות לצוואר בקבוק כאשר החבילה גדלה.רוב הפלטפורמות של CI תומכים בפיצול קבצים בקבצים של מיכלים או עובדים מרובים.לדוגמה, Jest יכול להיות מנוהל עם דגלי 4FLT, או שאתה יכול להשתמש ב- 5 במצב מבוזר עבור בדיקות עומס.
ניתוח השפעה ובדיקה סלקטיבית
במקום להפעיל את כל חבילת המבחן על כל ביצוע, באפשרותך להשתמש בנתונים לכיסוי קוד כדי לקבוע אילו בדיקות מושפעות מהשינויים.כלי כמו FLT:0Test AnalyticsFLT 1 או FLT:2DangercioFLT 3 יכול למקם את זה באופן אוטומטי.
גילוי דיסקרטי וניהול
(ה) , מבחנים מקיפים את אמון הצינור. השתמש בכלים לזיהוי מבחן (למשל, FLT:0RSpec's flakyspecspecerigrph:1 או תכונות CI כגון FLT:2GitLab של מלכוד:0GitLab של ecty testFLT 3:3) כדי לזהות בדיקות שלא באופן אקראי.
ניהול איכות הסביבה עם Containers
שימוש במיכלי Docker לצורך בדיקת תלות (Databases, מתווך הודעות, מקרים ישירים) מבטיח כי הבדיקות שלך לרוץ בסביבה עקבית ומבודדת בכל פעם.כלי כמו FLT:0Test ContainersFLT 1 מאפשר לך לספין באופן מפומלי את המכולות במהלך ביצוע הבדיקות, אשר עובד היטב עם רצים מודרניים התומכים ב- Docker.
אתגרים משותפים וכיצד להתגבר עליהם
- (ב) ,0 ,Slow Testסוויטות: FLT:1 אופטימיזציה על ידי מקבילה, צמצום של צעדים מיותרים, או שינוי בדיקות כבדות לצינור נפרד בלילה.
- (ב) מבחנים של FLT:0 (Flaky Testing) בשל תזמון: FIRLT:1 השתמש בהמתנה מפורשת במקום בזמן קבוע; ללעג שירותים חיצוניים במידת הצורך.
- (FLT:0) העלאת נטל: FLT:1 שמור קוד מבחן נקי כמו קוד ייצור; בדיקות בדיקות בדיקות במהלך בדיקת הקוד; להסיר בדיקות כי כבר לא להוסיף ערך.
- (ב) ,0) ל- מבחן בעלות: FLT:1 כסימן מבחן או לסובב אחריות על מנת להבטיח שהחבילה תישאר בריאה.
- (FLT:0) סביבות בדיקה עקביות: FLT:1 השתמש בתצורה-כקוד (Docker Compose, Terraform) כדי לספק סביבות מבחן זהות מקומית ו- CI.
• להעריך את ההצלחה של ערכת הבדיקות שלך
כדי לדעת אם שילוב הבדיקות האוטומטיות שלך משלם, לעקוב אחר מדדי המפתח האלה לאורך זמן:
- שיעור המעבר:0Build passment: 1:1 אחוז הצינור עובר את כל הבדיקות.
- (ב) ויקרא י"א): "הזמן הממוצע מהתחייבות להודעה על תוצאות הבדיקה.
- (ב) תדירות הצמצום: 1 (ב) כמה פעמים אתה משחרר לייצור - צריך להגדיל ככל שהאמון גדל.
- (ב) כמה מהר אתה יכול לתקן בניין שבור ולחזור לירוק.
- (ב) ,0) מקרי הייצור ספירת: 1FLT:1 מגמה מופחתת מצביעה על כך שמבחנים הם בעיות לתפוס לפני שהם מגיעים למשתמשים.
באופן קבוע לבדוק את המדדים האלה עם הצוות שלך ולהתאים את אסטרטגיית הבדיקה בהתאם.אם שיעור המעבר טיפות מתחת ל-90%, לחקור את הסיבות השורשיות.אם זמן משוב עולה על 30 דקות, להסתכל במקביל או ניתוח בדיקה.
מסקנה
הגדלת בדיקות אוטומטיות לתוך צינור CI /CD שלך הוא לא פרויקט חד פעמי אבל בפועל מתמשך מתפתח עם היישום שלך.זה דורש השקעה בכלי, כתיבה מבחן, תשתיות, אבל החזרות הם משמעותיים: פחות אירועי ייצור, שחרור מהיר יותר, וצוות כי ספינות עם ביטחון. עבור מערכות כמו Directus כי לשרת את התוכן עבור מקודמות מרובות, בדיקות אוטומטיות בצנרת היא במיוחד למנוע תוקפנות קריטית.
התחל קטן: להוסיף בדיקות יחידה עבור המודולים הקריטיים ביותר, להגדיר צינור פשוט, ולאחר מכן להרחיב בהדרגה לשילוב ולשלב בדיקות קצה מקצה לקצה.לנצח כל בנייה ירוקה ולטיפול בכל בניין אדום כהזדמנות למידה.לאורך זמן, צינורות CI /CD שלך יהפכו לחבר הצוות האמין ביותר שלך - תמיד ריצה, בדיקה, ותמיד להבטיח כי התוכנה שלך עונה על איכות המשתמשים שלך מגיע.
(ב) לעיין בהנחיות (FLT:0) לבחינת ההנחיות של ה-Horiph:0) ל-Horius Testing guideer: 1 (בתרגום חופשי:2Practical Test PyramidFLT 3) על ידי מרטין פולר, ו-FLT:4GitHub Actions Documents FLT:5 for tube Models.