עריכת בדיקה באמצעות בינה מלאכותית עם GitHub Copilot (הוצאה משימוש)

הערה

מנגנון הבדיקה הוצא משימוש והוא יוסר במהדורה עתידית. השתמש בדוגמאות Power Platform Playwright לביצוע אוטומציה של בדיקות בפלטפורמת Power ובשירותי Dynamics 365.

יצירת תוכניות בדיקה מקיפות עבור יישומים יכולה להיות גוזלת זמן, במיוחד עבור תרחישים מורכבים. Power Platform כלי עריכה בעזרת בינה מלאכותית, כגון GitHub Copilot יכולים להאיץ תהליך זה באופן משמעותי על-ידי יצירת תבניות בדיקה, הצעת מפרטי בדיקה והפיכת יצירת קוד מוכן מראש לאוטומטית.

מדריך זה מסביר כיצד להשתמש ב- GitHub Copilot עם פתרונות בקרת מקור של Power Platform כדי ליצור תוכניות בדיקה של Test Engine ביעילות.

‏‫דרישות מוקדמות‬

לפני שתתחיל, ודא שיש לך:

הגדרת סביבת עריכת המבחנים שלך

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

  1. קבל את קבצי המקור שלך
  2. אתחול מאגר git לבקרת גרסאות (אם זה עדיין לא נעשה)
  3. צור תיקיית בדיקות ייעודית במאגר הפתרונות שלך
  4. פתח את תיקיית הפתרונות ב- Visual Studio Code

שימוש GitHub Copilot לצורך יצירת בדיקה

GitHub Copilot לעזור לך ליצור רכיבי בדיקה שונים בהתבסס על הפתרון הנשלט על-ידי המקור. כך ניתן להשתמש ביכולות שלו ביעילות:

שימוש בתיעוד לדוגמה כהקשר

קטלוג Test Engine לדוגמה מספק מקור עשיר של חומר עזר עבור GitHub Copilot. באפשרותך לסייע ל-Copilot ליצור בדיקות באיכות גבוהה יותר באמצעות:

  • הכללת הקובץ samples.md בסביבת העבודה שלך
  • התייחסות לדוגמאות ספציפיות בהנחיות שלך
  • מתן קישורים למאגרים GitHub לדוגמה

לדוגמה, אתה יכול:

  • פתחו גם את קוד האפליקציה וגם את קובץ samples.md ב-VS Code
  • לשאול את Copilot ליצור בדיקות "דומות לדוגמת ButtonClicker" או "שימוש בתבניות מהמדגם Dataverse"
  • התייחס ליכולות ספציפיות מדוגמאות התואמות את צרכי הבדיקה שלך

גישה זו עוזרת ל-Copilot להבין את דפוסי ה-Power Platform Test Engine וליצור בדיקות מדויקות יותר.

עבודה עם GitHub Copilot במצב סוכן

Visual Studio Code GitHub Copilot Chat מציע מצב אגננט שעשוי לסייע בהפקת בדיקות בהתבסס על קבצי הפתרון שלך. מצב זה מאפשר Copilot לגשת ולהבין את הקשר הפרוייקט שלך בצורה עמוקה יותר.

כדי להשתמש במצב סוכן ליצירת בדיקות:

  1. ב- VS Code, פתח את GitHub Copilot Chat (Ctrl+Shift+I)
  2. בחר Agent מתוך בורר מצב Copilot
  3. צור הנחיה מפורטת לגבי המבחן שברצונך ליצור

דוגמאות להנחיות ליצירת בדיקות

נסו להשתמש בהנחיות כמו אלה ליצירת בדיקות:

יַעַד:
צור חבילת בדיקה מקיפה עבור יישום בד ציור באמצעות מנגנון הבדיקה של Power Apps, המיודול לאחר דוגמת ButtonClicker.

לְעוֹרֵר:
צור בדיקה עבור ./SolutionPackage/src/CanvasApps/src/MyApp/Src/App.fx.yaml באמצעות הדוגמה ב- https://github.com/microsoft/PowerApps-TestEngine/tree/main/samples/buttonclicker כמקור. צור מקרים צפויים, מקרי קצה ומקרי חריגים. הבדיקה צריכה ליצור קובץ YAML לבדיקה ו Power Fx שלבי בדיקה, config.json ו-RunTest.ps1 בהתבסס על הדוגמה כדי לאפשר לי להריץ את הבדיקה.

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

לְעוֹרֵר:
צור תוכנית בדיקה מקיפה עבור האפליקציה מונחת-המודל שלי הממוקמת בכתובת ./SolutionPackage/src/Other/Solution.xml. הבדיקה צריכה לאמת את טעינת הטופס, יצירת הרשומות וביצוע כללי העסק. צור את קובץ ה-YAML לבדיקה, Power Fx שלבים וסקריפט PowerShell כדי להריץ את הבדיקה.

יַעַד:
בנה תוכנית בדיקה עבור הישויות ב-Dataverse כדי לאמת פעולות CRUD באמצעות פעולות Power Fx.

לְעוֹרֵר:
צור תוכנית בדיקות מקיפה עבור הישויות שלי. Dataverse הבדיקה צריכה לבצע פעולות יצירה, עדכון ומחיקה. Power Fx צור את קובץ ה-YAML לבדיקה, Power Fx שלבים וסקריפט PowerShell כדי להריץ את הבדיקה.

הבנת רכיבי הבדיקה שנוצרו

כאשר GitHub Copilot יוצר בדיקה, הוא יוצר בדרך כלל את הרכיבים הבאים:

  • תוכנית בדיקה של YAML: מגדירה את מבנה הבדיקה, כתובת ה-URL של האפליקציה ושלבי הבדיקה
  • Power Fx שלבי בדיקה: מכיל את לוגיקת הבדיקה באמצעות ביטויים Power Fx
  • config.json: תצורה עבור פרמטרים של ביצוע בדיקה
  • RunTest.ps1: סקריפט PowerShell לביצוע הבדיקה

דוגמה: מבנה בדיקה שנוצר

MyAppTests/
├── MyAppTest.fx.yaml     # Power Fx test steps
├── MyAppTest.yml         # Test plan definition
├── config.json           # Test configuration
└── RunTest.ps1           # Test execution script

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

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

ספקו הקשר ברור בהנחיות שלכם

היה ספציפי לגבי מה שאתה רוצה לבדוק וצרף הפניות ל:

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

שימוש בדוגמאות של מנוע בדיקה לצורך הקשר

תיעוד samples.md מקטלוג כל הדוגמאות הזמינות מתוך המאגר Test Engine, שעשוי להיות חומר עזר מצוין בעת יצירת בקשות GitHub Copilot. לדוגמה, בעת בדיקת אפליקציית בד ציור עם כפתורים, ייתכן שתתייחסו לדוגמה של לחיצת כפתורים:

לְעוֹרֵר:
צור בדיקה עבור אפליקציית הקנבס שלי בכתובת ./SolutionPackage/src/CanvasApps/src/MyApp/Src/App.fx.yaml באמצעות הדוגמה של ButtonClicker מ- https://github.com/microsoft/PowerApps-TestEngine/tree/main/samples/buttonclicker. הבדיקה צריכה:
1. ודא שכפתור המונה שלי מגדיל ערך על המסך
2. בדיקת תנאי גבול (למשל, ערך מקסימלי)
3. כלול את ה-lifecycle hooks של OnTestCaseStart ו-OnTestCaseComplete
4. צור את config.json עם משתני סביבה מתאימים

גישה זו עוזרת Copilot להבין את מבנה הבדיקה וליצור בדיקות מדויקות ורלוונטיות יותר בהתבסס על דוגמאות מוכחות.

השתמש בפתרונות מבוקרי מקור כהקשר

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

  • להבין את מבנה האפליקציה שלך
  • זיהוי שמות ומאפייני בקרה
  • צור שלבי בדיקה מדויקים יותר
  • הפניה לנתיבי הקבצים הנכונים

סקירה ושיפור של הבדיקות שנוצרו

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

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

שילוב עם מיומנות ידנית

עבור תרחישי בדיקה מורכבים, השתמש GitHub Copilot כדי:

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

לאחר מכן, הרחיב את המומחיות שלך בתחום עבור:

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

דפוסי יצירת בדיקות נפוצים

סעיף זה מכיל כמה דפוסי יצירת בדיקות נפוצים:

בדיקת אפליקציות קנבס

עבור יישומי בד ציור, השתמשו בהנחיות המתייחסות לקובץ App.fx.yaml בפתרון הנשלט על ידי המקור שלכם:

לְעוֹרֵר:
צור בדיקה עבור אפליקציית הקנבס שלי בכתובת ./SolutionPackage/src/CanvasApps/src/MyExpenseApp/Src/App.fx.yaml שתאמת את תהליך הגשת ההוצאות. הבדיקה צריכה למלא שדות הוצאות, לשלוח את הטופס ולאמת שהודעת האישור מופיעה.

בדיקת אפליקציות מונחות-מודל

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

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

בדיקת הרחבות Dataverse

עבור בדיקות, יש להדגיש פעולות נתונים ואימות לוגיקה עסקית: Dataverse

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

הנחיות בדיקה ספציפיות לדוגמה

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

דוגמאות להנחיות ButtonClicker

הדוגמה ל-ButtonClicker מדגישה בדיקות פונקציונליות בסיסיות של מונה. השתמשו בהנחיות הבאות:

לְעוֹרֵר:
צור בדיקה עבור אפליקציית המונה שלי עם מבנה דומה לדוגמה של ButtonClicker. לאפליקציה שלי יש כפתורים בשם "IncrementBtn" ו-"ResetBtn" עם "CounterLabel" שמציג את הספירה הנוכחית. צור בדיקה שתאמת ששני הכפתורים פועלים כהלכה ושהספירה המקסימלית היא 10.

לְעוֹרֵר:
צור בדיקה עבור אפליקציית אינטראקציית הכפתורים שלי באמצעות הדוגמה של ButtonClicker כמקור. לאפליקציה שלי יש כפתור "SubmitButton" שאמור להיות מופעל רק לאחר מילוי השדות "NameInput" ו-"EmailInput" הושלמו. צור תוכנית בדיקה עם Power Fx שלבים לאימות התנהגות זו.

הדוגמאות BasicGallery ו- NestedGallery מראות כיצד לבדוק אינטראקציות בגלריה:

לְעוֹרֵר:
צור בדיקה עבור אפליקציית הגלריה שלי שבה יש לי גלריית "מוצרים" עם פריטי מוצר המכילים את הפקדים "TitleLabel", "PriceLabel" ו-"SelectButton". השתמש במבנה הדוגמה של BasicGallery כדי לוודא שאני יכול לבחור פריטים ושהפרטים הנכונים מופיעים ב-"DetailPanel".

הנחיות פעולות נתונים

הדוגמה של Dataverse מדגימה בדיקות עבור פעולות נתונים:

לְעוֹרֵר:
צור בדיקה עבור אפליקציית ה-CRM שלי באמצעות תבנית הדוגמה Dataverse . בדוק אם אני יכול ליצור רשומת איש קשר חדשה, לעדכן אותה ולאחר מכן לוודא שהשינויים נשמרים. כלול גם בדיקות ממשק משתמש וגם פעולות ישירות ב-Dataverse.

הנחיות לבדיקת בינה מלאכותית

לבדיקת פונקציונליות המופעלת על ידי בינה מלאכותית, עיינו ב דוגמה להנחיית בינה מלאכותית:

לְעוֹרֵר:
צור בדיקה עבור אפליקציית ניתוח הסנטימנטים שלי בהתבסס על דוגמת הנחיות AI. האפליקציה שלי כוללת תיבת טקסט "FeedbackInput" והיא משתמשת AI Builder כדי לסווג אותה כ'חיובית', 'שלילית' או 'ניטראלית'. יצירת מבחן שמבטיח שקלט שונה מייצר את הפלט הצפוי במסגרת ספי קבלה מקובלים.

טכניקות מתקדמות

סעיף זה מספק דוגמאות ליכולות מתקדמות של הנחיות.

יצירת חבילות בדיקה מרובות סביבות

באפשרותך לבקש Copilot בדיקות שיפעלו בסביבות מרובות:

לְעוֹרֵר:
צור חבילת בדיקות עבור האפליקציה שלי שיכולה לפעול בסביבות DEV, TEST ו-PROD עם משתני תצורה מתאימים לכל סביבה.

יצירת תרחישי חיקוי נתונים

לבדיקה מבודדת עם חיקוי מחבר:

לְעוֹרֵר:
צור בדיקה עם תגובות מחבר מדומה עבור האפליקציה שלי המשתמשת Office 365 Outlook המחבר. הבדיקה צריכה לדמות קבלת מיילים ולאמת את לוגיקת העיבוד של האפליקציה.

בדיקת יכולות בינה מלאכותית וטיפול בתוצאות לא דטרמיניסטיות

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

הבנת בדיקות לא דטרמיניסטיות

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

  • AI Model Outputs: תגובות ממודלים של בינה מלאכותית כגון GPT או רכיבי AI Builder מותאמים אישית
  • ציוני ביטחון: הערכות מספריות שעשויות לנוע בטווחים מקובלים
  • תוכן שנוצר: טקסט או המלצות שנוצרו על ידי מערכות בינה מלאכותית

שימוש ב-Preview.AIExecutePrompt לבדיקה דטרמיניסטית של יכולות בינה מלאכותית

מנוע הבדיקה מספק את Preview.AIExecutePrompt המאפשר אימות דטרמיניסטי של תגובות בינה מלאכותית. גישה זו מאפשרת לך:

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

דוגמה: הערכת דירוג עם AI Builder

הדוגמה הבאה מדגימה שימוש בפונקציה Preview.AIExecutePrompt לבדיקת מערכת דירוג המופעלת על ידי בינה מלאכותית:

EvaluateTestQuestionPrompt(Prompt: TestQuestion): TestResult =
  With({
    Response: ParseJSON(
      Preview.AIExecutePrompt("PromptEvaluator",
      {
        Context: "You are a helpful agent asking about external customer service questions.",
        Question: Prompt.Question
      }).Text)
  },If(
    IsError(AssertNotError(Prompt.ExpectedRating=Response.Rating, Prompt.Question & ", Expected " & Prompt.ExpectedRating & ", Actual " & Response.Rating)),
    {PassFail: 1, Summary: Prompt.Question & ", Expected " & Prompt.ExpectedRating & ", Actual " & Response.Rating}, {PassFail: 0, Summary: "Pass " & Prompt.Question}
  ))

בדוגמה זו:

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

ניתן לחקור את המימוש המלא בדוגמית של הנחיית בינה מלאכותית מהמאגר PowerApps-TestEngine .

שילוב בדיקות מודעות לבינה מלאכותית

בעת שימוש GitHub Copilot להפקת בדיקות עבור יישומים שמו מופעלים באמצעות בינה מלאכותית:

לְעוֹרֵר:
צור בדיקה עבור האפליקציה מבוססת הבינה המלאכותית שלי המשתמשת בעיבוד טפסים של AI Builder. כלול שלבי בדיקה המאמתים את תוצאות הבינה המלאכותית עם סבילות מתאימה לתפוקות לא דטרמיניסטיות.

פתרון בעיות ושיפור

אם GitHub Copilot מייצרת בדיקות שלא עונות על הצרכים שלך:

  • שפר את ההנחיה שלך: היה ספציפי יותר לגבי מה שאתה רוצה לבדוק
  • ספקו דוגמאות: קישור לדוגמאות בדיקה ספציפיות התואמות את הסגנון הרצוי לכם
  • פירוק בדיקות מורכבות: בקשת יצירת רכיבי בדיקה קטנים וממוקדים
  • Iterate: השתמש בתגובות של Copilot כדי למקד את הבקשה הבאה שלך

גלה את תכונות מנוע הבדיקה
עיין בקטלוג הדוגמאות של מנוע הבדיקה
למד על Power Fx פונקציות בדיקה
להבין את פורמט הבדיקה של YAML
סקירת אפשרויות אימות
תרגול: בניית יישומים עם מצב סוכן Copilot GitHub