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

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

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

he icon   en icon

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

איך באמת QTP עובד

נכתב על ידי 
שני, 23 יוני 2014 14:01
דרגו כתבה זו
(2 הצבעות)

איך באמת QTP עובד ?

אלו שיש להם נסיון עם QTP בעבר יודעים כי עבודה עם QTP = עבודה עם אובייקטים, ישנן 2 צורות עבודה עם אובייקטים בכלי:
1. עבודה מול ה-Object Repository - בה האובייקט מוגדר לפני הריצה ונשמר במבנה נתונים פנימי של הכלי
2. עבודה עם Descriptive Programing - בה אני מגדיר את האובייקט בזמן הריצה, בזמן זה הוא נשמר בזיכרון הנדיף ונמחק עם סיום התוכנית.

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

אך מעט לפני כן נצטרך להבדיל בין הטכנולוגיות השונות של המוצר הנבדק, בין אם הוא נכתב מעל גבי ה-web , JAVA , .NET או משהו אחר, ל-QTP יש Add-Ins שונים שהן למעשה אוסף של ספריות (וקוד של הכלי כמובן), עבודה על ה-Add In הנכון תספק לנו API מעל הטכנולוגיה של המוצר הנבדק. העבודה ב-QTP עם מגוון טכנולוגיות אמנם קצת שונה אך העיקרון הינו אותו הדבר.

Reflection (בשמה העברי – השתקפות) היא היכולת של קוד לתחקר קוד אחר במערכת או במילים אחרות לתחקר אובייקטים בקוד, ניתן לזהות טיפוסים שונים, לקרוא לקלאסים, מתודות, Attributes , לשנות משתנים ועוד, כל התהליך הזה מתבצע בזמן ריצה.
מתחת למכסה המנוע ה-QTP מבצע את זיהוי האובייקטים שלו בעזרת פרוסס שנקרא Smart Identification Process , הפרוסס הזה לוקח את ה Properties הרלוונטים מהמשתמש מה-Object Repository, ומשווה אותם ל-Properties שמצא קלאסים של המוצר הנבדק. נשאלת עכשיו השאלה , איך בדיוק הוא מוצא את אותם Properties מהמוצר הנבדק ? פה נכנס ה-Reflection , ה-QTP יודע לתחקר את האובייקטים שהוא מוצא בחלון.

דוגמא מצויינת של שימוש ב-Reflection ניתן למצוא בלינק המופיע למטה, בה התוכנית לוקחת קובץ Assembly (שזה EXE או DLL ) , טוענת אותו לזכרון (בשיטה שנקראת סיריאליזציה), יוצרת ממנו טיפוס חדש שממנו יוצרים אח"כ אובייקט חדש שהוא למעשה אובייקט המשתקף (Reflected) לאובייקט המקורי, עליו ניתן לעשות מניפולציות ככל העולה על רוחנו כמו שרואים בדוגמא שבלינק:
http://examples.javacodegeeks.com/core-java/reflection/java-reflection-example

עכשיו כשקראנו קצת על Descriptive Programing ואנו יודעים מה זה Reflection , אנחנו מתחילים להבין שלמעשה DP הוא לא אחר מאשר ....... סוג של Reflection , בו אנו מגדירים את האובייקט בזמן ריצה עם כל ה-Properties עליו ואח"כ עושים מניפולציות בשביל לשנות אותו.

קריאה נוספת:

Reflection בוויקיפדיה - http://en.wikipedia.org/wiki/Reflection_%28computer_programming%29

הסבר מפורט על Smart Identification Process -

http://www.learnqtp.com/how-qtp-identifies-objects-complete-refresher/

 

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

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

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

יוני פלנר.

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

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

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

  • 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 קרא עוד...

טיפים

  • טיפים לאוטומציה יעילה - Dale Emery
    טיפים לאוטומציה יעילה - Dale Emery (How to Survive the Coming Test Automation Zombie Apocalypse (PDF slide deck By Dale Emery bit.ly/15XFGkp סט שקופיות מעולה המתאר את מרבית המחלות התוקפות פעילויות אוטומציה - ומדגיש כיצד לטפל בהן! על כל שקופית ניתן לפתוח…
    קרא עוד...
  • אל תחכה שיתנו לך הזדמנות
    אל תחכה שיתנו לך הזדמנות אם אתה רוצה להתפתח - אל תחכה שיתנו לך הזדמנות, קח אותה - למד, בצע והדגם הדבר בזמנך הפנוי - מישהו כבר יאמץ את זה וייתן לך את הקרדיט.   טיפים מחברי ITCB-AB
    קרא עוד...
לרשימה המלאה >>