כיצד נפתח תשתית ולידציה לשבבים ומדוע זה כה חשוב?

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

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

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

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

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

אז איך עושים את זה?

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

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

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

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

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

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

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

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

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

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

Leave a Reply

Your email address will not be published. Required fields are marked *