top of page
מחשבות על בראשית והיוריסטיקות.

ימים בודדים אחרי התרסקות הגשושית "בראשית" (מישהו אמר באג בפרודקשיין?) ואני עם המון מחשבות בראש בנוגע לאילו עוד בדיקות היה אפשר לבצע לפני הנחיתה. מתיימרת מישהו אמר?

well... something like that...

אני יכולה למנות בערך 250 נושאים שאני מבינה טיפהל'ה יותר מאשר אני מבינה בנושא החלל, או במילים אחרות - אני לא מבינה באמת שום דבר חוץ מזה שבאזורים עם ממש חושך רואים יותר כוכבים ואיזה רומנטי זה להסתכל על ירח מלא.

 

בבית, בפינת העבודה שלי, מעל המחשב, תלוי המאמר של ג'ימס באך (james bachעל אסטרטגיית הבדיקות Heuristic Test Strategy Model, במאמר מציעים באך ומייקל בולטון על שימוש בהיוריסטיקות כאל תבניות בבדיקה, ע"מ לקבוע אילו בדיקות יש לבצע בתהליך הבדיקות, כדי לא לשכוח לבדוק משהו.

בפורום הבודקים הציג קובי הלפרין את המאמר של ויקטור סלבשב (Viktor Slavchev) בשם: Hindsight lessons about exploration - Heuristics שממשיך לשוחח על נושא ההיוריסטיקות כדרך למציאת פתרון לבעיות, עם כמה תובנות משלו.

how to remember

Image by Gerd Altmann from Pixabay 

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

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

כמה היוריסטיקות שאנחנו מבצעים באופן יום - יומי:

כללי אצבע (rule of thumb)- שימוש בטכניקה לזכירת דברים, ייעוץ או דבר חוכמה. בדרך כלל תראו משפטים כמו: "5 דברים שכדאי לדעת לפני שניגשים לראיון עבודה" או "10 דברים שאסור לשכוח שנוסעים לחו"ל".

סטריאוטיפים (Stereotyping)- ההתייחסות לג'ינג'ים (ולג'ינג'יות) שיש להם קוצים בטוסיק במאה אחוז מהמקרים - הופרכה, אבל עדיין הסטריאוטיפ קיים. בעצם ה"כלל" הזה שקופץ לנו לראש מקטלג את כל הג'ינג'ים למשהו שאנחנו מכירים כביכול. שתראו ג'ינג'י מנומנם, תיזכרו בפוסט הזה. 

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

תיאור תהליכים ע"י ציור (Draw a model)- תרשימי זרימה ותצוגה ויזואלית, מקלים עלינו את התפיסה על הזיכרון וכך קל יותר להבין את מורכבותה.

ניסוי וטעייה (Trial and error)- כאשר אנחנו צריכים לפתור בעיה מסויימת ואין לנו את כל המידע המושלם לגבי הפתרון, נשתמש בדרך זו ע"מ לחקור ולבדוק - מה עובד ומה לא עובד. 

note-to-self

Image by congerdesign from Pixabay 

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

דוגמה לראשי תיבות שיצרתי כדי לזכור מה מציינים שבאים לכתוב מסמך STP - סגל מקסים:

ס - סיכונים

ג - גישת הבדיקות

ל - לוחות זמנים

 

מ - מה בודקים 

ק - קהל הבודקים

ס - סביבת הבדיקות

י - יציאה וכניסה לבדיקות

מ - מה לא בודקים

james bach

שני דברים שלמדתי על ג'ימס באך:

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

  2. הוא מאוכזב מבודקים ששוכחים לבדוק דברים חשובים במערכת (אתם צריכים לראות את הפנים שלו שהוא מדבר או רק חושב על זה...)

לדעתי, אלו שתי הסיבות העיקריות שהניעו אותו לכתוב את המאמר הזה.

באך מציע היוריסטיקות כתבניות - כדי לקבוע אילו בדיקות יש לבצע בתהליך הבדיקות ומפרט כל אחת מהן:

heuristic

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

רכיבי המוצר – יש להתייחס לכל רכיבי המוצר. מה החלקים המהותיים ואיך האינטגרציה ביניהם ועם רכיבים חיצוניים מתממשת. באך מדגיש שלא מספיק רק לראות את הדברים שברורים מאליהם ונותן סקירה של הדברים המרכזיים להתייחסות: מבנה המערכת, פונקציונאליות המערכת, דאטה לשימוש המערכת, בדיקת ממשקים כגון: UI / API  / חומרה, פלטפורמה שהמוצר אינו יכול להתקיים בלעדיו (זיכרון מחשב לדוגמה), מערכת ההפעלה ואלמנט הזמן - איך הדברים עובדים מבחינת מהירות והאם אמורים לעבוד במקביל או לא.

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

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

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

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

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

נחזור קצת על בראשית...

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

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

אז כמה נקודות בעניין הזה:

 הגשושית "בראשית" (ויקיפדיה) נשאה עימה: 6 מצלמות (5 לירח לתמונה פנורמית ואחד לסלפי + מצלמת וידאו), ציוד תקשורת של חברת space micro, שירותי תקשורת שסופקו על ידי חברת SSC השוודית שניהלה את התקשורת באמצעות תחנות ממסר מעל אוסטרליה, צ'ילה, הוואי ועוד. 4 מנועים קטנים + מנוע ראשי אחד שבעת תמרון אמורים לפעול בהתאם, חיישן עוקב הכוכבים שבפועל סונוור מאור השמש. מכיוון שניסו לתמרן אותו בצורה שונה כדי להתמודד עם עניין זה, היעילות בשימוש במערכת הסולרית נפגמה. בנוסף, כמות הדלק שהגשושית צרכה היה כ 5 ק"ג לכ 30 שניות הפעלת מנועים. סה"כ כמות הדלק על הגשושית בעת ההמראה היה 400 קילוגרמים.

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

בראשית.jpg

סלפי לפני ההתנגשות

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

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

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

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

לאחר בדיקה שהראתה תקינות של המערכות, התקבלה החלטה להמשיך, והחל תהליך האל-חזור לעבר הנחיתה.

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

כאשר היתה בגובה של 10 ק"מ חזרה תקשורת הנתונים לעבוד, אך התגלה כי המנוע הראשי אינו פועל (כדי לבלום), והחללית ממשיכה לאבד גובה. בפועל, המחשב עשה אתחול עצמי אך חזר לעצמו כקילומטר אחד בלבד מעל פני הקרקע בעוד החללית דוהרת ב 500 קמ"ש מטה... את הסוף אנחנו יודעים, לעצור היא לא הספיקה...

בקיצור, אם הבנתם, החלום שלי הוא לראות את מסמכי הבדיקות של "בראשית".

אבל מה שבאמת חשוב - זה לא כמה פעמים נפלת (או התרסקת), זה כמה פעמים הצלחת לקום, אז מאוד שמחתי לשמוע על  פרוייקט "בראשית 2" שיוצא לדרך.

שיהיה לה, לנו ולכל המעורבים בעניין בהצלחה!

 

שלכם, לירז

bottom of page