כל צוות פיתוח אתרים מבצע סדרה של בדיקות על המוצרים שלו, אך לפתרון האינטרנט שניתן מאוחר יותר יש פגמים.
אפילו עם הבדיקות הידניות הטובות ביותר, פגמים בהכרח מתגנבים ומופיעים מחדש, למרות המאמצים של צוות ה-QA לתפוס אותם לפני השחרור הראשון.
כשמדובר בהגדלת היעילות וההיקף של בדיקות התוכנה שלך, בדיקות אינטרנט אוטומטיות הן הבחירה הטובה ביותר שלך.
לבדיקות מקוונות, ה-Python שפת תכנות מציעה מסגרת רובוט שיכולה למנף ספריות חיצוניות כמו סלניום.
בפוסט זה, נעבור על מקרי בדיקה ומונחים נוספים הקשורים למסגרת הרובוט של Python.
מהי מסגרת רובוט?
מסגרת רובוטים היא מסגרת אוטומציה גנרית גמישה בקוד פתוח שנכתבה ב-Python המשמשת לבדיקות תוכנה אוטומטיות, אוטומציה של תהליכים רובוטיים, בדיקות קבלה ופיתוח מונחה בדיקות קבלה.
במילים פשוטות, זוהי מסגרת אוטומציית בדיקות מבוססת-Python מבוססת מילות מפתח.
זה מאפשר לבודקים לבצע אוטומציה ולתחזק סקריפטים של תהליכים מסובכים ביעילות. המסגרת יכולה לשמש לבדיקת ממשקי משתמש וממשקי תכנות יישומים.
זה מאפשר למהנדסי בדיקה להשתמש בסלניום בנוסף לאינטגרציות רבות אחרות. סלניום הוא כלי סטנדרטי בתעשייה לאוטומציה של התנהגות משתמשים ויצירת סקריפטים של אינטראקציות עם דפדפן אינטרנט מבוסס-משתמש עבור כל אתר אינטרנט.
מה זה בדיקת קבלה?
זו דרך לקבוע את הקיבולת של מערכת. מטרת בדיקת הקבלה היא להעריך את יכולות המערכת ביחס לצרכים העסקיים.
מהי אוטומציה של תהליכים רובוטיים?
RPA, או אוטומציה רובוטית של תהליכים, היא שיטה למזעור עבודה אנושית באמצעות תוכנה המשלבת למידת מכונה ויכולות AI. RPA משמש לאוטומציה של תהליכים ברמה גבוהה שחוזרות על עצמן.
מהו פיתוח מונחה מבחן קבלה?
פיתוח מונחה מבחן קבלה, הידוע לרוב בשם ATDD, הוא טכניקת פיתוח הנשענת על תקשורת בין לקוחות עסקיים, מפתחים ובודקים. הם משתפים פעולה ועורכים בדיקות קבלה לפני פריסת התכונה.
מסגרת רובוט - ארכיטקטורה ברמה גבוהה
Robot Framework היא מסגרת שהיא אגנוסטית ליישום וטכנולוגיה. הארכיטקטורה שלו מאוד מודולרית, כפי שניתן לראות בתמונה למטה.
נתוני הבדיקה מוצגים בפורמט טבלה פשוט שניתן לעריכה. Robot Framework מנתחת נתונים, עורכת מקרי בדיקה ויוצרת יומנים ודוחות כאשר היא מופעלת.
למסגרת הליבה אין ידע על היעד הנבדק, וספריות מנהלות את כל האינטראקציות איתה. ספריות יכולות למנף כלי בדיקה ברמה נמוכה יותר כמנהלי התקנים או להשתמש ישירות בממשקי יישומים.
תכונות
- זה מקל על בדיקות מונעות נתונים בכך שהוא מאפשר אוטומציה של בדיקות עבור שונים סוגי מידע.
- הוא נמנע משימוש בכמויות משמעותיות של קוד ובמקום זאת משתמש באסטרטגיית בדיקה מונעת התנהגות.
- זה יכול לעבוד עם ספריות ופונקציות של צדדים שלישיים.
- מילות מפתח (מוגדרות מראש או מוגדרות על ידי משתמש) משמשות בסגנון טבלאי לכתיבת מקרי מבחן.
- משתמשים יכולים ליצור מילות מפתח.
- מותר להשתמש במשתנים.
- המסגרת משתמשת בשיטה מונעת מילות מפתח, שבה סקריפטים נכתבים תוך שימוש במונחים זעירים וקלים להבנה (מוגדרים מראש או מוגדרים על ידי משתמש).
- לאחר כל בנייה, דוחות,
- ונוצרים יומנים.
- הוא מייצר דוחות ויומנים יסודיים של מצב הביצוע של הסקריפט, דבר שימושי במיוחד במקרה שהסקריפט נכשל.
הדרכה של מסגרת רובוט
בואו לצלול פנימה.
1. התקנת מסגרת רובוט
חבילת ה-pip מוצעת להתקנת מסגרת הרובוט ב-Python. כדי להתקין את המסגרת, הפעל את הפקודה הבאה.
אתה אמור להיות מסוגל להציג הן את גרסאות המתורגמן והן את גרסאות המסגרת של הרובוט לאחר התקנה מוצלחת באמצעות אפשרות -version.
2. ספריות
- Builtin - זוהי ספרייה סטנדרטית המכילה קבוצה של מילות מפתח נפוצות המיובאות אוטומטית וזמינות בכל עת.
- אוסף - הוא מספק קבוצה של מילות מפתח לעבודה עם רשימות ומילונים של Python. ניתן להשתמש במילות המפתח של הספרייה לשינוי ויצירת ערכים מרשימות ומילונים.
- דיאלוגים - ספרייה סטנדרטית לעצירת הביצוע וקבלת משוב ממשתמשים. תלוי אם הבדיקות פועלות, דיאלוגים מעט לא עקביים.
- DateTime מאפשר לך ליצור ולשנות מידע על תאריך ושעה.
- מערכת הפעלה - היא מאפשרת למסגרת הרובוט לבצע מגוון משימות הקשורות למערכת ההפעלה במערכת בזמן שהיא פועלת. היא יכולה, בין היתר, לבצע הוראות ולהפיק ולשנות נתונים ישירות.
- תהליך - ספריה זו משמשת להפעלת תהליכים באמצעות תת-מודולים של Python והמחלקה הפתוחה. מילת המפתח תהליך ריצה משמשת להמתנה לתהליך רץ במערכת והידור שלו.
- XML היא גם ספריית טקסט המשמשת את מסגרת הרובוט לאימות ושינוי מסמכי XML.
- המחרוזת היא חבילה למניפולציה ואימות של מחרוזות.
- חלה Telnet המאפשרת לך ליצור אינטראקציה דרך telnet. ספריית telnet מאפשרת להתחבר לשרת telnet דרך חיבור TCP/IP רגיל ולבצע פקודות.
3. כלים מובנים
במסגרת רובוט, ישנם בעיקר ארבעה כלים מובנים המשמשים:
- Rebot - כלים ליצירת יומנים ודוחות מפלט XML ומיזוג פלטים רבים בו זמנית.
- Testdoc - בהתבסס על מקרי בדיקה, Robot Framework יוצר תיעוד HTML ברמה גבוהה.
- Libdoc – מחולל תיעוד מילות מפתח לספריות וקבצי משאבים.
- Tidy – Robot Framework Tools לניקוי והמרת קבצי נתונים לפורמט אחר.
4. מקרי מבחן
במקום מקרי בדיקה אוטומטיים, ניתן לכתוב מקרי בדיקה במסגרת הרובוט באנגלית בסיסית. ניתן להשתמש בבדיקות הבאות כדי לסווג את תרחישי הבדיקה.
- בדיקות זרימת עבודה
- מבחנים ברמה גבוהה יותר
- בדיקות מונעות נתונים
בדיקות זרימת עבודה
מקרי הבדיקה של מסגרת הרובוט נכתבים לעתים קרובות בתחביר טבלאי. העמודה הראשונה של טבלת מקרה מבחן מכילה את שמות המבחן, ומקרה המבחן מתחיל בכל דבר בעמודה ומסתיים בשם המבחן הבא או בסוף הטבלה.
בואו נסתכל על דוגמה מהעולם האמיתי כדי להבין איך זה עובד.
- משתמש יכול ליצור חשבון ולהיכנס.
- המשתמש לא יוכל להיכנס אם הסיסמה שגויה.
בדיקות ברמה גבוהה
העמודה השנייה כוללת בדרך כלל שם מילת מפתח, למעט הגדרת משתנים עם ערכים שנכתבו במילת מפתח.
ניתן לבנות את מקרי הבדיקה של מסגרת הרובוט באמצעות מילות מפתח ברמה גבוהה בלבד וללא פרמטרים מיקומיים. כדי להבין יותר בדיקות ברמה גבוהה, שקול את הדוגמה הבאה.
בדיקות מונעות נתונים
בדיקות מונעות נתונים מבודדות את נתוני הבדיקה במקום מדמיית נהלים. במסגרת הרובוט, ההגדרה [תבנית] מגדירה את מקרה המבחן עבור בדיקה מונעת נתונים.
5. מילות מפתח
כדי לבנות מקרי בדיקה במסגרת הרובוט, משתמשים במילות מפתח משני מקורות.
- מילות מפתח לספרייה
- מילות מפתח עבור המשתמש
מילות מפתח לספרייה
ספריות סטנדרטיות מגדירות את כל המינוחים ברמה הנמוכה ביותר, אשר ניתן ליישם באמצעות שפות מחשב כמו פייתון וג'אווה.
ספריות סטנדרטיות, חיצוניות ומותאמות אישית הן בין ספריות הבדיקה הזמינות עם מסגרת הרובוט. מסגרת הליבה כוללת ספריות מובנות, צילום מסך, מערכת הפעלה וספריות סטנדרטיות אחרות.
מילות מפתח עבור המשתמש
היכולת ליצור מילות מפתח ייחודיות ברמה גבוהה מביטויים קיימים היא אחת התכונות החשובות ביותר של עיצוב הרובוט. כדי להבין יותר איך זה עובד, בואו נסתכל על דוגמה.
6. משתנים
משתנים הם חלק חשוב בכל מקרה בדיקה במסגרת רובוט. משתנה הוא גישה מצוינת לציון כל נתון במקרה מבחן הנתון לשינויים או שונות.
בואו נסתכל כיצד להגדיר משתנים במקרה מבחן.
ציון משתנים
מלבד משתנים המוגדרים על ידי המשתמש, למסגרת הרובוט יש משתנים מובנים כמו $TEMPDIR ו-$/, שבהם השתמשנו בדוגמה הקודמת.
שימוש במשתנים
ניתן להשתמש במשתנים בכל מקום במקרה הבדיקה.
עם זאת, הם משמשים לרוב כארגומנטים של מילות מפתח. שקול את הדוגמה הבאה כדי להמחיש למה אני מתכוון.
7. ארגון מקרי מבחן
קבצי מקרי בדיקה משמשים לבניית מקרי בדיקה של רובוטים, אך ניתן גם לקבץ אותם לספריות כדי ליצור היררכיית חבילת בדיקה. חבילת בדיקה היא קיבוץ של מקרי בדיקה. חבילת בדיקה מורכבת מכל הקבצים המכילים מקרי בדיקה.
באמצעות ספריות, ניתן לבנות את מקרי הבדיקה בהיררכיה; כל הספריות הללו מספקות חבילות בדיקה ברמה גבוהה עם שמות הנגזרים משמות הספריות.
שימוש בהגדרות והפרעות
ניתן להשתמש באפשרויות "הגדרת בדיקה" ו"התנתקות בדיקה" של טבלת ההגדרות כדי לבצע מילת מפתח ספציפית בבדיקה לפני או אחרי סיומו. אתה יכול גם להשתמש ב-"הגדרות סוויטה" ו-"פריקת סוויטה" כדי לבצע מילות מפתח לפני או אחרי חבילת בדיקה.
אתה יכול ליצור [הגדרה] ו-[Teardown] מותאמים אישית במקרה בדיקה, בדומה ל-[Template]. שקול את התרחיש הבא כדי להבין זאת טוב יותר.
שימוש בתגיות
מסגרת הרובוט מאפשרת להשתמש בתגים כדי לספק מטא נתונים בחינם למקרי בדיקה. ניתן להשתמש ב-"Force Tags" ו-"Default Tags" כדי להגדיר תגים בקובץ. [תגים], כמו [תבנית], יכולים לשמש כדי להקצות תגים למקרה בדיקה בודד. בואו נסתכל על דוגמה כדי לראות כיצד אנו משתמשים בתגים.
הדוח יכלול תגים עם מקרי בדיקה המקושרים אליהם, וכן סטטיסטיקות המבוססות על התגים, לאחר ביצוע.
Pros
- קל להגדיר את Robot Framework.
- זה מבוסס על שימוש במילות מפתח.
- זה מאפשר לך להשתמש ב-Gherkin.
- זה עובד עם שניהם אפליקציות מובייל ומבוססות אינטרנט.
- קל לתפוס את היסודות של מסגרת הרובוט.
- הוא משתמש בגישה של קוד נמוך.
- Windows, Mac OS X, Unix ו-Linux נתמכים כולם.
- Python, IronPython ו- PyPy הן כולן שפות תכנות נתמכות.
- זה עובד עם כל דפדפני האינטרנט הגדולים.
- Robot Framework הוא כלי אוטומציה חופשי לשימוש בקוד פתוח.
חסרונות
- ביצוע בדיקה מקביל אינו נתמך על ידי Robot Framework.
- קשה לעמוד בקצב של מסגרת הרובוטים.
- קשה לשנות דוחות HTML במסגרת Robot Framework.
- איתור באגים של כמה בעיות של רובוט Framework עשוי להיות מסובך.
- הזחה נאכפת בקפדנות במסגרת הרובוט.
סיכום
פלטפורמת הרובוט היא מסגרת פיתוח מונעת בדיקות קבלה בחינם וקוד פתוח.
מקרי הבדיקה של מסגרת הרובוט בנויים על מילות מפתח המובעות בסגנון טבלאי, מה שמקל על הבנתן ונותן מידע מדויק על משמעות מקרה הבדיקה.
זה ממש נוח ופשוט לשימוש.
חלק מכם השתמשו בו בעבר, אז אם הגדרתם את הבדיקות ואת אפליקציית Android / iOS מוכנה לפעולה, נסה זאת.
תתפלאו עד כמה הדברים מתנהלים ובתוך כמה זמן ניתן להשלים בדיקות קבלה.
השאירו תגובה