תיעוד

מדיניות איכות ושערי בקרה

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

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

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

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

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

בקרת איכות: המדיניותות התקפות והפעלת השער האחרונה. נתונים להמחשה.

יצירת מדיניות

מדיניות היא קבוצת בדיקות, ולגבי כל אחת מהן – האם כישלון יחסום או ימליץ.

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

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

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

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

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

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

בקשות משיכה

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

  • בקרת האיכות של Coroid מבצעת את הבדיקות הנ״ל על כל pull request ומדווחת על התוצאה כבדיקת בקרת האיכות של Coroid ב-GitHub.
  • סקירת Coroid מחייבת את מבקר Coroid לקרוא כל pull request ולהגיב על השורות שבהן הוא מעלה שאלות. היא קוראת את בקשות המשיכה שבקרת האיכות של Coroid בודקת.

הגדרות סקירת Coroid:

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

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

כשמשהו נכשל

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

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

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

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

פריסה בטוחה

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

רצף בטוח:

  1. הוסף את השער כ- מייעץ.
  2. הנח לו לפעול על עבודה אמיתית במשך שבוע או שבועיים. קרא מה הוא מסמן.
  3. כוונן אותו לפי מה שלמדת.
  4. שדרג ל- חוסם באחד הפרויקטים.
  5. פרוס אותו באופן רחב יותר לאחר שהתנהגותו תתייצב.
  1. 1הוסף את השערמייעץ
  2. 2עקוב אחריו במשך שבוע או שבועייםמייעץ
  3. 3כוון אותו לפי מה שהוא זיההמייעץ
  4. 4הפוך אותו לחוסם על פרויקט אחדחוסםפרויקט אחד
  5. 5הרחב את ההפצה להיקף רחב יותרחוסםפרויקטים נוספים
v6v7הפרסום יוצר גרסה חדשה. אם היא אינה מתאימה, ביטולה הוא פעולה אחת בלבד.
תחילה באופן מייעץ, לאחר מכן כחוסם על פרויקט אחד, ולבסוף בהיקף רחב יותר. כל שינוי שפורסם הוא גרסת מדיניות חדשה שניתן לבטל.

גרסאות וביטול שינויים

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

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

התערבויות

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

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