כשמדובר בבקרת איכות לפתרונות טכנולוגיים מצילי חיים – המיועדים למשל לשירותי חירום, למערכות בריאות ועוד – המונח "איכות" מקבל משמעויות נוספות, שכן כל באג "קטן" עלול לסכן חיי אדם
תפקיד בקרת האיכות, QA, הינו אחד התפקידים הצעירים, יחסית, בעולמות הפיתוח, ועם זאת מהמבוקשים והחשובים בתעשייה. רבים עדיין תופשים אותו כתפקיד "סיזיפי", אך לא כך הדבר, במיוחד כשמדובר בבקרת איכות לפתרונות טכנולוגיים מצילי חיים, המיועדים למשל לשירותי חירום, למערכות בריאות ועוד. במקרים אלו, המונח "איכות" מקבל משמעויות נוספות, שכן באג יכול לסכן חיי אדם.
כאשר נולד תפקיד ה-QA המערכות הטכנולוגיות היו הרבה פחות מתוחכמות. אנשי בקרת האיכות דאז עסקו בעיקר בבדיקות קופסה שחורה ובאימות פעולות פונקציונליות מאוד פשוטות, שלא הצריכו מחשבה מרובה, למידה, היכרות וידע נרחבים, כפי שנדרש ומצופה מאנשי QA כיום.
בשל מורכבותה הגבוהה של מערכת מצילת חיים והאחריות הגדולה המוטלת על כתפי ה-QA, מומלץ להתחיל בבניית בסיס ידע חזק ואיכותי בקרב חברי הצוות, תוך חשיפתם לטכנולוגיות שונות בעולמות ההיי-טק השונים
תחום האיכות כיום הינו מהתחומים החשובים ביותר בכל חברה המייצרת תוכנה או חומרה, שכן הלקוחות רוצים לקבל מוצר איכותי, ללא תקלות שיפגעו בעבודה הרציפה. בנוסף, אף חברה אינה רוצה להיתפס כמפתחת ומשווקת מוצר שאינו איכותי, כאשר המכירות והמוניטין שלה נמצאים על כף המאזניים.
התקדמות הטכנולוגיה ומורכבותה, דורשים מאנשי בקרת האיכות ידע רחב, התפתחות ולמידה תמידיים, יכולת לראות את התמונה הכוללת, לפרק אותה לגורמים קטנים ולהבין את הקשרים השונים ואת ההשלכות של כל חלק במוצר על משנהו. מעבר לכך, נדרשים כישורים אישיים, כגון ראייה מרחבית, יכולת ללמוד לבד ומהר תוך אימוץ טכנולוגיות חדשות, סקרנות וכן יכולת לשאול את השאלות הנכונות. זאת, לצד אסרטיביות, נחישות וירידה לפרטים הקטנים.
ביצוע תהליך בדיקות כיום אינו מסתכם בלחיצה על כפתורים שונים וסימון תיבות. אנשי QA מבצעים מגוון רחב של פעולות מעמיקות בחלקים שונים של המוצר, ואף מאחורי הקלעים. המטרה שלהם היא להבטיח פיתוח מוצר שעונה על ציפיות ודרישות הלקוח, וגם עומד ברמת האיכות הנדרשת בהיבטי אבטחה, אינטגרציה, שימושיות ויציבות לאורך זמן.
תחום האיכות כיום הינו מהתחומים החשובים ביותר בכל חברה המייצרת תוכנה או חומרה, שכן הלקוחות רוצים לקבל מוצר איכותי, ללא תקלות שיפגעו בעבודה הרציפה. בנוסף, אף חברה אינה רוצה להיתפס כמפתחת ומשווקת מוצר שאינו איכותי, כאשר המכירות והמוניטין שלה נמצאים על כף המאזניים.
התקדמות הטכנולוגיה ומורכבותה, דורשים מאנשי בקרת האיכות ידע רחב, התפתחות ולמידה תמידיים, יכולת לראות את התמונה הכוללת, לפרק אותה לגורמים קטנים ולהבין את הקשרים השונים ואת ההשלכות של כל חלק במוצר על משנהו. מעבר לכך, נדרשים כישורים אישיים, כגון ראייה מרחבית, יכולת ללמוד לבד ומהר תוך אימוץ טכנולוגיות חדשות, סקרנות וכן יכולת לשאול את השאלות הנכונות. זאת, לצד אסרטיביות, נחישות וירידה לפרטים הקטנים.
ביצוע תהליך בדיקות כיום אינו מסתכם בלחיצה על כפתורים שונים וסימון תיבות. אנשי QA מבצעים מגוון רחב של פעולות מעמיקות בחלקים שונים של המוצר, ואף מאחורי הקלעים. המטרה שלהם היא להבטיח פיתוח מוצר שעונה על ציפיות ודרישות הלקוח, וגם עומד ברמת האיכות הנדרשת בהיבטי אבטחה, אינטגרציה, שימושיות ויציבות לאורך זמן.
הקפדה חסרת פשרות ב-QA בתחום שירותי החירום
כאשר מדובר במנהל QA בתחום שירותי חירום, הוא נדרש מחד להתמודד עם הקריטיות הכרוכה בבדיקות איכות של פתרון מציל חיים, ומאידך למנוע מצבים של שעמום, תנודתיות גבוהה וחוסר תשומת לב של צוות ה-QA לתהליכים ולפעולות השונות בתהליך הבדיקה. לכן, יש חשיבות רבה לבחירה באסטרטגיה הנכונה, שתאפשר לבצע כמה שיותר בדיקות בלוח זמנים קצר, תוך טיפוח כוח האדם.
צוות ה-QA צריך קודם כל להבין את ציפיות ודרישות הלקוח, ומכאן לבצע חשיבה אינטנסיבית כיצד לאתגר את המערכת בתרחישי קיצון. זאת, תוך שמירה תמידית על עדכניות מקרי הבדיקה ועל ההיכרות המעמיקה עם כל מערכות החברה והקשרים ביניהן. כל חבר צוות מחזיק בידע שמאפשר לו להבין כיצד שינוי קוד כזה או אחר, בכל אזור במערכת או במערכות אחרות, עשוי להשפיע על חלקי המערכת שבתחום האחריות שלו.
נקודת המוצא היא שמתודולוגיות וגישות בקרת איכות הנהוגות בחברות פיתוח, לא ישיגו את היעדים שיש למשל לפיתוח מערכת מצילת חיים. כדי לבחור מתודולוגית QA מתאימה עבור תהליכי הפיתוח של מערכות החברה, צריך להכיר לעומק את יעדי החברה, לחקור ולהבין את כלל חלקי המערכת השונים.
בשל מורכבותה הגבוהה של מערכת מצילת חיים והאחריות הגדולה המוטלת על כתפי ה-QA, מומלץ להתחיל בבניית בסיס ידע חזק ואיכותי בקרב חברי הצוות, תוך חשיפתם לטכנולוגיות שונות בעולמות ההיי-טק השונים. יש לקבוע קריטריונים ברורים העוזרים לנתח את איכות המערכת הנבדקת בכל שלב ולבנות מערך בדיקות לחלקי המערכת השונים, כדי שניתן יהיה להבין אילו בדיקות צריכות להתבצע לאחר כל שינוי קוד.
מערך בדיקות אוטומטיות מתקדם ומורכב מאוד
על מנת לאפשר שחרור מהיר של גרסאות ולתמוך בקצב פיתוח מהיר, יש לבנות עם הצוות מערך בדיקות אוטומטיות מתקדם ומורכב מאוד, המשלב פתרונות אוטומציה בארבע רמות בדיקה שונות עבור כלל פלטפורמות החברה. הבסיס לבניית אוטומציה מהירה ויעילה הוא צוות בודקים ידניים, שחושב כיצד ואיך לאתגר את המערכת ומתעד את פעולות הבדיקה. מן הצד השני, צוות האוטומציה צריך לדאוג לאטמט את אותם מקרי בדיקה ולהבטיח כיסוי בדיקות רחב, יעיל ומהיר. זאת, על ידי בניית מערך אוטומציה מודולרי בעל כיסוי רחב ויכולת להריץ בדיקות על פי אזורי המערכת בסביבות עבודה שונות, מסביבת הפיתוח ועד סביבת הייצור.
חשוב לציין כי נדרש תהליך ניטור והתאמות שבועי, תוך הסתכלות על הסיכונים הפוטנציאליים ויעדי החברה המשתנים מעת לעת. זאת, כדי להתייעל באופן הטוב והנכון ביותר, הן בצד ה-ידני והן בצד האוטומטי של צוות הבדיקות.
לסיכום, תפקיד ה-QA הינו מהתפקידים הבודדים בתהליך הפיתוח המאפשר לעקוב אחר התפתחות המערכת מהשלבים הקטנים והבודדים ועד לתהליכי לקוח ארוכים ומורכבים. אנשי ה-QA זוכים לגעת, להכיר וללמוד אינספור טכנולוגיות חדשות.
בקרת איכות לפתרונות מצילי חיים מתבצעת תחת סטנדרטים גבוהים, פשוט כי אין לנו מקום לטעויות. מאידך, חשוב לשמור על קצב פיתוח מהיר ואינטנסיבי, ובשורה התחתונה – לספק תוך זמן קצר מערכת איכותית, מבוססת ענן, העומדת בדרישות ובצורכי הלקוח.
הכותב: דודי ואנונו דירקטור QA בכיר בחברת קרביין (Carbyne)
** הכתבה פורסמה במקור באתר PC – לינק לכתבה