מדיניות היא מדיניות היא קבוצה בעלת שם וגרסה של שערי איכות. את המדיניות מצרפים לפרויקטים; השערים הם אלו שבאמת פועלים.
לגבי המושגים – חוסם מול מייעץ, והמקום שבו השערים פועלים – קראו שערי איכות קודם כל. עמוד זה עוסק בניהולם.
נהלו אותם ב- בקרת איכות. ברשימה זו מופיעה הגדרת הארגון הרשמית וכל הפרויקטים. בחרו באחד כדי לראות כיצד עבודה חדשה נבדקת, מה הוא בודק בכל שינוי, רמת ה-QA שלו ואיפה הבדיקות מתבצעות; לכל אחד יש מתג שמיישם את ההגדרה מיד לאחר הפעלתו. האישור מאפשר לבטל את השינוי, והגדרות השורה משנות את אופן פעולת הבדיקה.
- ברירת מחדל של הארגון3 פרויקטים עוקבים אחר זה2 מתוך 5
- דף חנותהגדרה ייעודית4 מתוך 5
- אתר מסמכיםעוקב אחר ברירת המחדל2 מתוך 5
- חיוב APIעוקב אחר ברירת המחדל2 מתוך 5
- אפליקציית מוביילעוקב אחר ברירת המחדל2 מתוך 5
- אנטי-סלאופהמערכת תשלח בחזרה שינוי שפוגע בתקפות הבדיקות, מסתיר שגיאות, משלח תוכן זמני או יוצר חוב טכני.
- מבחני יחידההמערכת מאתרת ומריצה את בדיקות היחידה של המאגר עבור כל שינוי שנעשה.
- מבחני דפדפן2 מתוך 3שונה מברירת המחדלהמערכת מפעילה את תהליכי הגלישה בדפדפן כנגד השינוי שנוצר.
- תרגומיםשונה מברירת המחדלהמערכת בודקת האם הטקסטים המשתנים תורגמו כראוי והאם המקומות המיועדים לתוכן וצורות הרבים תואמים להגדרות.
- בדיקות מאגרהמערכת מריצה פקודות מותאמות אישית, כגון עיצוב קוד, בדיקת גודל קבצים, מהלכי ניהול נתונים, בדיקות אינטגרציה וסריקות אבטחה.
- 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הרחב את ההפצה להיקף רחב יותרחוסםפרויקטים נוספים
גרסאות וביטול שינויים
המדיניות מגובה בגרסאות. כל הפעלת מתג מפרסמת גרסה חדשה, ואישורה מאפשר ביטולה על ידי חזרה לגרסה הקודמת; ניתן לשחזר גרסאות ישנות מכרטיסיית היסטוריית הגרסאות בעורך המתקדם.
ביטול שינויים הוא הסיבה שאתה יכול להרשות לעצמך להיות נחרץ בפרסום. אם שער חדש יתגלה כלא מכוון כראוי, החזרתו לקדמותו היא פעולה פשוטה ולא תהליך מסובך.
התערבויות
אדם בעל סמכות יכול לבטל שער חוסם. ההתערבות נרשמת – מי, מתי ונגד מה.
עקוב אחר שיעור ההתערבויות. שער שמבוטל ברוב הפעמים שהוא מופעל אינו מטיל אכיפה כלל; הוא יוצר חיכוך ומסמכים מיותרים. תקן את השער או ותר עליו.