טיפים ושיטות עבודה מומלצות לבדיקת שילובי Salesforce

שילוב כוח אדם

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

  • השתמש בכלי הבדיקה הנכונים - בדיקות Salesforce מתרחשות בדפדפן או בסביבה מבוססת ליקוי. גם בדפדפנים האחרונים וגם בליקוי החמה יש כלי ניפוי ניפוי נהדר ותוכלו לשלב אותם עם שיעורי מבחן לקבלת תוצאות מועילות מאוד. עם זאת, אם אתה זקוק ליותר, יש להשתמש ב- Apex Interactive Debugger (או פשוט Apex) על ידי Force.com. שים לב אתה יכול גם להשתמש ב- Salesforce Lightning Inspector, סיומת כרום, כדי לבדוק באופן ספציפי את Salesforce Lightning. איפקס הוא א Force.com שפת תכנות קניינית לפלטפורמה הנושאת קווי דמיון גדולים עם Java. זוהי שפת תכנות מונחית אובייקטים, חסרת אותיות רישיות, ועוקבת באופן חזק אחר סוגריים מתולתלים ותחביר סימני נקודה. באפשרותך להשתמש ב- Apex לביצוע פונקציות מתוכנתות במהלך מרבית תהליכי Force.com, כולל קישורים וכפתורים מותאמים אישית, עדכונים, מחיקות ורשומות מטפלי אירועי הכנסה דרך בקרי הדף המותאמים אישית של Visualforce או תזמון.
  • השתמש במוסכמות למתן שמות נכונים - שמות נכונים לשיטות הבדיקה שלך לפני שתתחיל לכתוב מבחנים חשובים מאוד. לשם שיטת הבדיקה צריך להיות שלושה חלקים. אלה הם nameOfMethod (שם השיטה הבודדת שאתה בודק כגון הוספה / עדכון / מחיקה / ביטול מחיקה בעת בדיקת טריגר, מידע על TestPath שגמיש כגון קשר null אם אתה בודק כי איש הקשר הוא ריק, ותקף בעת בדיקה דרך חיובית / שלילית.
  • הקפידו על כיסוי של 100% - למרות שההנחיה הסטנדרטית של Salesforce היא שמבחן היחידה אמור לכסות 75% מהקוד שלך (פחות שיעורי בדיקה, שיחות ל- System.debug ושיטות בדיקה) ולא תוכל לפרוס קוד Apex או לארוז אפליקציות AppExchange, אתה צריך שימו לב שזה רק תקן והמטרה שלכם צריכה להיות כיסוי של 100%. בדוק את כל המקרים החיוביים / השליליים ולמצוא נתונים שקיימים ולא קיימים. טיפים חשובים נוספים בכל הנוגע לכיסוי קוד הם:
    • עליך להריץ בדיקות לרענון מספרי כיסוי קוד מכיוון שמספרים אלה אינם מתרעננים כאשר קוד Apex מתעדכן עד להפעלת הבדיקות מחדש.
    • אם היה עדכון בארגון מאז ריצת הבדיקה האחרונה, קיים סיכון שמספרי כיסוי הקוד לא יהיו נכונים. הפעל מחדש את המבחנים להערכה הנכונה.
    • אחוז כיסוי הקוד אינו כולל כיסוי קוד ממבחני חבילות מנוהלות, כאשר היוצא מן הכלל היחיד הוא כאשר בדיקות אלה גורמות להפעלת הטריגרים.
    • הכיסוי תלוי במספר שורות הקוד הכולל. אם תוסיף או תמחק שורות קוד, תשפיע על האחוז.
  • מקרי מבחן בשיעורים ובבקרים - בפיתוח Salesforce, רוב המפתחים יוצרים כיתות וקבצי בקר נפרדים לכל פונקציה. זה נעשה כדי להפוך את הקידוד למאורגן יותר, קל יותר, לשימוש חוזר ונייד יותר. עם זאת, עליך לשים לב שבעוד זה קל יותר, זה לא יעיל יותר. תוכלו להשיג ניידות אם קוד הבדיקה נמצא בכיתה המקורית ובקוד הבקר עצמו מכיוון שלא תפספסו אף מחלקת בדיקה בעת מעבר מארגז החול לייצור.
  • השתמש ב- System.assert () - באיפקס, מערכת.אסרט() משמש לבדיקת התנאים. זו פונקציונליות חשובה שכן היא מאפשרת לך לקבוע אם פונקציה מסוימת בוצעה על ידי השיטה כצפוי. עליך להשתמש ב- System.assertEquals () וב- System.assertNotEquals () בין פונקציות קריטיות לא רק עוזר לך לקבוע אם הקוד בוצע כפי שהוא אמור, אלא גם להבטיח שלא נכתבים נתונים בטעות אם הקוד משתבש.
  • מבחן מקיף - בדיקות צריכות לכסות הכל. עליך לבצע בדיקות פונקציונליות, בדיקות עומס, בדיקות אבטחה ובדיקות פריסה.
  • בדיקות יחידה - אתה צריך לבצע בדיקות יחידה כדי לוודא שרשומות בודדות מניבות את התוצאה הנכונה והצפויה. אמנם שימוש במבחן ענק המכסה את כל הקוד עשוי להיראות רעיון טוב, שים לב שהתוצאות שנוצרו יהיה קשה יותר לניפוי באגים וכשל קשה יהיה להבין. בדיקת יחידה צריכה לכסות תת-קבוצה קטנה של הפונקציונליות הנבדקת.
  • מקרי בדיקה בכמות גדולה - קוד מבחן טוב (טריגר, חריג או מחלקה) יכול להיות מעורב עד כמה מאות רשומות (200 עבור Apex). כדאי לנצל זאת ולבדוק לא רק רשומות בודדות, אלא גם מקרים בכמות גדולה.
  • בדיקות חיוביות - בדוק אם ההתנהגות הצפויה מתרחשת דרך כל התמורה הצפויה. הבדיקה צריכה לוודא שהמשתמש מילא נכון את הטופס ושהוא / היא לא חרג מהמגבלות.
  • בדיקות שליליות - בדוק את המקרים השליליים כדי לוודא שהודעות שגיאה מופקות כהלכה. דוגמאות למקרים שליליים כאלה אינן יכולות לציין סכומים שליליים ואי אפשרות להוסיף תאריכים עתידיים. מבחנים שליליים חשובים מכיוון שטיפול נכון כשדברים הולכים דרומה יכול לעשות את ההבדל.
  • בדיקות אוטומטיות - באופן מסורתי, בדיקות Salesforce היו ידניות. כדאי לשקול בדיקות אוטומטיות מכיוון שהדבר מציע יתרונות רבים יותר. אלו כוללים:
    • בדיקה ידנית גורמת לך להיות רגישים לטעויות שכן הבדיקה היא על ידי בני אדם ולא על ידי רובוטים. רובוטים מצטיינים בפעילויות שחוזרות על עצמן ואילו בני אדם עושים טעויות בגלל שעמום, ריכוז ועקביות מופחתים ונטייה לקצץ פינות.
    • בדיקה ידנית היא חוזרת על עצמה, נוסחאית ומייגעת. לצוות הבדיקות עדיף לבצע עבודות חקרניות יותר.
  • בצע כל ענף לוגי קוד - בעת שימוש בהיגיון מותנה (כאשר צירפתם אופרטורים שלישיים), יש לבצע כל ענף של לוגיקת הקוד.
  • השתמש בקלטים לא חוקיים ותקפים עבור שיחות לשיטות - יש לבצע קריאות לשיטות באמצעות תשומות לא חוקיות ותקפות חוקיות.
  • בדיקות שלמות - ודא שהבדיקות הסתיימו בהצלחה - הן לא צריכות לעשות חריגות כלשהן אלא אם כן צפויות השגיאות. לטפל בכל החריגים שנתפסו - לתפוס אותם לא מספיק טוב.
  • השתמש בסדר לפי מילות מפתח - כדי להבטיח שהרשומות שלך מוחזרות לפי הסדר שאתה מצפה להן, השתמש במילות המפתח ORDER BY.
  • אל תניח שמזהי הרשומות מסודרים ברצף - הימנע מהטעות הנפוצה בהנחת מזהי רשומות מסודרים בסדר רציף. המזהים אינם בסדר עולה, אלא אם הוספת מספר רשומות באותה בקשה.
  • התקשר Test.startTest () ו Test.stopTest () - כאשר אתה מבצע בדיקת יחידת Apex, תקבל יותר מכיסוי הקוד של 75% שחובה ב- Salesforce. עליך להתקשר ל- stopTest לפני קביעות בכדי לאלץ קודים אסינכרוניים שעשויים עדיין לפעול כדי לסיים. הפעל שאילתות חדשות לקבלת תוצאות סופיות מכיוון שקוד אחר עשוי לשנות נתונים. השימוש ב- Test.startTest () וב- Test.stopTest () מבטיח לך ארגז חול את הבדיקה בגבולות המושל שלה. בדרך זו, קוד ההתקנה שבו אתה משתמש לא יפריע וייתן לך שלילי שווא או חיוביות סביב גבולות המושל. Test.stopTest () מבטיח גם כי שיחות @future יושלמו לבדיקה.
  • קריאות - קריאות חשובה מאוד במבחני יחידות. שמות המבחנים צריכים לכלול את הפעולה הספציפית שיש לבצע ואת התוצאה הצפויה. השיטה צריכה להיות תיאורית וקצרה. השיטה צריכה להיות כזו שניתן יהיה לעשות בה שימוש חוזר במבחנים שונים.
  • בנה מערכי נתוני בדיקה גדולים לפני startTest - מכיוון שהבדיקות שלך יפעלו בסביבות ארגז חול וייצור שונות, בנה ערכות נתוני בדיקות גדולות לפני שתתקשר ל- startTest כדי להבטיח שלמבחן יש מגבלות ביצוע מלאות. כברירת מחדל, מכירת Github מריץ בדיקות מבודדות מנתוני הייצור. כשאתה זקוק לנתוני מערכת כגון פרופיל, שאילתה כדי לקבל את הדבר הנכון עבור אותה סביבה ספציפית.
  • צור נתוני בדיקה משלך - יש לייצר את נתוני הבדיקה שבהם אתה משתמש בבדיקה. אתה יכול ליצור נתונים אלה באמצעות הערת @testSetup וכיתת TestUtils כדי לא רק להבטיח שיש לך את הנתונים הנכונים, אלא גם להבטיח שכל הבדיקות מופעלות בארגז חול של מפתח ללא דרישה לנתונים.
  • הימנע מפעולות אפס של AKA ללא פעולה - בודקים רבים משתמשים בפעולות אפס ללא AKA. אלה קודים חסרי תועלת שלא עושים כלום. מכיוון שהם כבר בבסיס הקוד שלך, הם יוסיפו לאחוזי הכיסוי שלך.
  • ביצוע בדיקות מקבילות - כאשר אתה מתחיל בדיקות מממשק המשתמש של Salesforce או ממסוף המפתחים, הבדיקות יפעלו במקביל. זו תכונה חשובה מכיוון שהיא מאיצה את זמן ריצת הבדיקה. עם זאת, עליך לשים לב כי הדבר יכול להוביל לבעיות במחלוקת נתונים, ואם אתה חושד שזה עלול לקרות, בטל ביצוע מקביל. הסיבות הנפוצות ביותר לבעיות במחלוקת נתונים המובילות לעיתים קרובות לשגיאות UNABLE_TO_LOCK_ROW הן:
    • כאשר בדיקות נועדו לעדכן את אותם רשומות בו זמנית. עדכון של אותם רשומות מתרחש בדרך כלל כאשר בדיקות אינן יוצרות נתונים משלהן.
    • כאשר ישנו מבוי סתום בבדיקות הפועלות במקביל והן מנסות ליצור רשומות בעלות ערכי שדה אינדקס תואמים. מבוי סתום יתרחש כאשר שני בדיקות רצות עמדו בתור להחזרת נתונים (זה קורה כאשר 2 בדיקות רשומות קלט בעלות ערכי שדה אינדקס ייחודיים בסדרים שונים).
    • לכיבוי ביצוע בדיקות מקבילות, עבור אל הגדרת ההתקנה, היכנס למבחן איפקס, עבור אל תיבת הדו-שיח אפשרויות ביצוע בדיקות איפקס, בחר השבת בדיקת איפקס מקבילית, לחץ על אישור.

השבת בדיקת איפקס מקבילה

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

מה אתה חושב?

אתר זה משתמש Akismet כדי להפחית דואר זבל. למד כיצד הנתונים שלך מעובדים.