LOGIN
התחברות או הרשמה
Avatar
להמשך הרשמה ידנית – לחץ על כפתור ההרשמה, להרשמה/כניסה מהירה בעזרת חשבון רשת חברתית – לחץ על הלוגו בכותרת

אפס סיסמה - שכחתי את שם המשתמש

שם משתמש
סיסמה
זכור אותי

he icon   en icon

בכדי להוסיף פוסט בבלוג יש להרשם או להתחבר - ההרשמה/כניסה מתבצעת מכותרת האתר.

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

נכתב על ידי 
שלישי, 16 ספטמבר 2014 04:46
דרגו כתבה זו
(1 הצבעה)

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

את הארכיטקטורה מאחורי הקלעים בודקים פחות מכירים כי:

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

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

 

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

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

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

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

Automation Framework

התמונה לקוחה מהאתר: http://www.zenqconnect.com/images/Automation-Framework.png

 

Application Under Test (או - System Under Test) – זהו המוצר שעליו אנחנו מריצים את הבדיקות.

 

Object Repository – בסיס נתונים השומר בתוכו מידע על אובייקטים לבדיקות המבוססות GUI. כל שינוי באובייקטים הללו מצד המוצר יגרור שינוי מרכזי כאן , ללא נגיעה בקוד. למשל האובייקט שנקרא כפתור ישמר ב-OR ואיתו ביחד כל המאפיינים שלו כמו גודל, צבע, רקע , ID , שם Class, וכו'.

 

Config & Global Variables – בסיס נתונים המיוצג בדרך כלל כקובץ אשר מכיל בתוכו משתנים גלובאליים שהם בד"כ אינם משתנים לאורך הריצה (לדוגמא: מיקום ספרייה מסויימת שם יושבים קבצי הלוג) הם ישמשו אותנו בכל איזור בקוד בו אנו נמצאים וכן פרמטרים משתנים (כמו למשל שם המכונה, שם המשתמש, שם גרסה וכו').

 

Common Business Automation Scripts – אני לא כל כך מסכים עם שם הקומפוננטה הזו, הייתי קורא לה Function Library והיא באה לאגד את פונקציות הבסיס (Building Blocks) השימושיות ביותר במוצר, כמו למשל – לחיצה על כפתור. כאן יושב הלב הפועם של הבדיקות האוטומטיות.

 

Input Data – כאן יושב ה-Data של מקרי הבדיקה, בשיטת ה-Data Driven Testing, היינו מחליפים בקומפוננטה הזו את הקישור לבסיס מידע אחר, בסיסי נתונים יכולים להיות מיוצגים כקבצי XML , Excel, Access, NotePad , קובץ Dump ועוד.

 

Execution – החץ המופנה אל עבר ה-AUT למעשה בא להגיד לנו שפה יושב כלי ההרצה איתו אנו עובדים, כלי כמו AutoIT או Selenium, הקוד נכתב ב-IDE של הכלי ואילו הריצה מתבצעת במנוע ההרצה שלו (Parser + Test Runner).

 

Automation Test Scripts – קומפוננטה זו תכיל אוסף של טסטים ביזנסיים הכתובים כסקריפטים, היא תכיל את הלוגיקה בקוד שמבצעת את מקרי הבדיקה, היא יושבת מעל ה-Function Library ואליה היא קוראת מספר רב פעמים, למשל: לחיצה על כפתור עם סט של פרמטרים נלווים כמו מזהה ייחודי, כמה פעמים ללחוץ, אורך זמן הלחיצה וכו'. אם ה-Function Library הוגדר כ-לב הפועם, הרי שקומפוננטה זו תוגדר כ-מוח של כל המערכת.

 

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

 

Reporting – קומפוננטה שאמורה לקחת את תוצאות הריצה כולל הצלחות, כשלונות ו-exceptions למיניהם ולהציג אותן למשתמש, הכלל החשוב כאן הוא שהנתונים צריכים להיות הכי ברורים שאפשר, במיוחד אם בודקים כאן מוצר גדול ומורכב. הדוחות אמורים לכלול, בנוסף לתוצאות הריצה הכלליות, גם מידע על תוצאות verification points וכן של זמנים. כדאי מאוד שיילקח Screen Shot ויצורף לכל אחד מן הסטפים של ההרצה. מומלץ גם שלקומפוננטה תהיה היכולת להפיץ את ה-reports בצורה נוחה (כמו למשל שליחת מייל תפוצתי).

 

Common Library– בנוסף ליכולת הסקריפטים האוטומטיים לקרוא מתוך ה-Function Library, יש גם את האפשרות לקרוא מתוך ספריות חיצוניות שלא קשורות בהכרח לפרוייקט האוטומציה שלנו, כמו למשל פונקציות מתמטיות, עבודה עם קבצים וכו'.

 

Driver Script – יכיל בתוכו את ה-Clean Up Scripts שתפקידם יהיה לנקות את סביבת ההרצה (קבצים, DB) לפני כל הרצה או כמה הרצות וכן את ה-Scheduler שאיתו נוכל לתזמן הרצות בצורה אוטומטית, ניתן יהיה לקבוע יום ושעה , לקבוע מתי אסור לרוץ (למשל כשרץ במערכת פרוסס End of Day) וכן לקבוע תלויות בין הרצות, כמו למשל שטסט 2 לא ירוץ עד אשר טסט 1 לא סיים את הרצתו בהצלחה.

 

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

 

תוספות ושינויים:

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

ה-Keyword Driven testing (KDT) תיתן לנו את היכולת לבנות טסטים אוטומטיים גם מבלי לדעת קוד.

מעל שכבת ה-Function Library ניצור קומפוננטה חדשה שתיקרא: KDT Engine, השכבה הזו תדע לקשר בין הפונקציות הקיימות במערכת לבין שכבה עליונה יותר שתהווה את ה-GUI למשתמש.

KDT GUI – יציג לאותו בודק ידני \ מיישם אוטומציה חלון ובו הוא יוכל לבנות (בין אם זה לגרור, לבחור או לכתוב) אובייקטים שונים עליהם ניתן לבצע אוסף פעולות, זה בנוסף ללוגיקה ביזנסית ייצרו מקרה בדיקה, ה-GUI יכול להיות מיוצג כאפליקציה דסקטופית, מסמך אקסל או אפילו web page. קומפוננטה זו תהיה מקבילה ל-Automation test Scripts.

 

-----------------------------------------------------------------

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

היכנסו לאתר שלי: http://atidcollege.co.il

יוני פלנר.

 

 

שונה לאחרונה ב רביעי, 26 ספטמבר 2018 05:54

חובה להיות משתמש רשום במערכת בכדי להגיב - ההרשמה/כניסה בכותרת האתר

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

  • Five Blogs – 18 October 2018

    The (best) five blogs I read today. Check them out. What Is Data Democratization? A Super Simple Explanation And The Key Pros And Cons Written by: Bernard Marr What’s getting Agile down? Written by: Gary Watts Future of AI in Testing (Will You Be Replaced?) Written by: Joe Colantonio Jeff Hawkins Is Finally Ready to Explain His Brain Research Written by: Cade Metz Lower level Automation and testing? Be more precise! The Automation triangle revisited…again! Written by: Toyer Mamoojee Quote of the day: “When you’re young, being different is not cool. But when you’re older, it absolutely is.” -Lane Moore You can follow this page on Twitter

    17.10.2018 | 11:36 קרא עוד...
  • The Automated Regression Suite. Part 2 of 3. When to run the tests.

    Once you have your automated regression suite in place, you can create a scheduler to run them periodically, without any manual intervention. Mostly you will use Jenkins jobs (or some similar CI tool) to trigger them and have them running on an environment of your choice. Just because they are called “regression tests” it does not mean they are only meant to be run once before a release. They are in place to help validate your system, so you can run them as often as you want. But how often do you want to run them? That really depends on some factors like: how often are you releasing, how often are you committing, how many other services is your software dependent on, how often are those services also released, and so on. How often you are releasing determines the amount of new or changed code that needs to reach production. If you are releasing once a year, the amount of such code will be huge. If you release every two weeks you will have less such code, and in case a failure would occur in the software, it would be much easier to pinpoint the root of the problem (as compared to the one-year release cycle). If you are releasing rarely, with large amounts of time between releases, you really should run your tests at least once a week. From my experience, this test run frequency makes running these tests worth it, since you have a good amount of changed[…]

    17.10.2018 | 11:17 קרא עוד...
  • Let’s stop talking about testing, let’s start thinking about value

    Let’s stop talking about testing, let’s start thinking about value This year Alex Schladebeck and I did two keynotes titled “Let’s stop talking about testing, let’s start thinking about value” at QA Expo in Spain and TestNet in the Netherlands. This blogpost has the most important points we made in our talk. The keynote was inspired by some of our frustrations: “Testing is under appreciated” (Alex) and “Most testers are unable to explain what we do” (Huib). I wrote about my frustration back in 2016 already. This blogpost is about my frustration that most testers cannot come up with a decent definition of testing. And even worse: a big majority of the people who call themselves professional testers are not able to explain what testing is and how it works! They have trouble explaining what they are testing and why they are doing specifically the thing they are doing! How can anybody take a tester seriously who cannot explain what he is doing all day? Alex’s frustration is that testing is not valued by others. Developers are seen as the rockstars of the project because they create the software that adds value. But why are testers often not valued? Lowered expectations for testing expertise by stuff like ISO standards and ISTQB: I wrote about certification and standards before. ISTQB and standards put too much emphasis on process and documentation, rather than the real testing. By assuming there can be a standard, you say that there is one best way to organize and document your testing. But isn’t your test strategy[…]

    17.10.2018 | 5:05 קרא עוד...

טיפים

  • אם נתקלת בבאג במקרה... - חפש באגים דומים
    אם נתקלת בבאג במקרה...  - חפש באגים דומים אם נתקלת בבאג במקרה... או שחזרה תקלה מלקוח - חפש באגים דומים, סביר להניח שפיקששת סדרה שלמה של באגים מאותו סגנון. בתרגום חופשי מהמסמך הבא של Cem Kaner.   ראה המסמך בלינק הבא, כמו גם רשימת Checklists נוספים…
    קרא עוד...
  • אף פעם אל תפסיקו ללמוד - בדיקות
    אף פעם אל תפסיקו ללמוד - בדיקות אף פעם אל תפסיקו ללמוד - בדיקות " אף פעם אל תפסיקו ללמוד" – או כמו שנאמר "רק טיפשים יודעים הכל". מפעילותי בפורומים השונים בעולם הבדיקות בארץ ובעולם, תכופות אני רואה כיצד דווקא חסרי הניסיון, שרק…
    קרא עוד...
לרשימה המלאה >>