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

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

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

he icon   en icon

חמישי, 04 דצמבר 2014 06:34

Selenium Grid – התקנה, הגדרה והרצה

ה-Grid הוא חלק מסוויטת המוצרים של Selenium שכוללת בין היתר גם את ה-WebDriver ,ה-IDE וה-Appium הוא בא לתת פתרון להרצות מקבילות וכיסויים נרחבים יותר על סביבות שונות, מבחינה הירארכית ניתן להסתכל על ה-Grid כשכבה מעל ה-WebDriver.

עם ה-Grid נוכל בלחיצת כפתור להריץ את אותם סטים של בדיקות בו זמנית על מערכות שנות כמו למשל Chrome/Win 7 , IE/Win XP , Safari/iOS , Firefox/Linux , Chrome/Android ועוד ועוד ועוד ...

כך השימושים העיקריים של ה-Grid נעשים בעיקר בכיסוי רחב יותר של סביבות, חיסכון בזמן הכללי של הריצה וכן בדיקות עומסים.

הארכיטקטורה מבוססת על שרת לקוח או בשפה המקומית: Hub – Nodes, כך שהפעלת הטסטים יתבצעו על ה-Hub והרצתם בפועל תתבצע על כל ה-Nodes שהוגדרו במערכת, למשל Node 1 יותקן על סביבת לינוקס עם דפדפן FireFox , Node 2 יותקן על סביבת iOS עם דפדפן ספארי וכו'.

ניתן לראות את האכיטקטורה כאן :

Grid1

התמונה נלקחה מהאתר: http://grid.selenium.googlecode.com/git-history/22ed3ff910401af083bf06a4d13514f4c6a623ca/src/main/webapp/diagrams/Requesting%20a%20Specific%20Environment.png

 

ל-Grid יש 2 גרסאות נכון להיום, אתמקד בגרסה השנייה המעודכנת יותר – Grid 2, ההבדלים ביניהם גדולים, בין היתר Grid 2:

- יכול לתמוך בעד 5 דפדפנים לכל Remote Control , ב Grid 1 - רק דפדפן אחד

- תומך בטסטים הכתובים ב-WebDriver , ב Grid 1 רק ב-RC

- מכיל את ה-Selenium Server

 

שלב 1 – התקנת Java

וודאו כי על מחשבכם מותקן Java (כל מחשב שיריץ הן Hub והן Nodes), לבדיקה האם מותקן או לא, פתחו את ה-Command Line והקישו : Java -Version . במידה ולא מותקן, היכנסו לאתר של Oracle , הורידו והתקינו את ה-JDK (הגרסה האחרונה)

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

 

שלב 2 – התקנת ה-Selenium Grid Server או ה-Hub

לשם כך עלינו תחילה להיכנס לדף ההורדות של פרוייקט סלניום (http://docs.seleniumhq.org/download) ומשם להוריד את ה- Selenium Server (לינק ישיר: http://selenium-release.storage.googleapis.com/2.44/selenium-server-standalone-2.44.0.jar) שהוא למעשה קובץ jar.

פתחו את ה-Command Line והכניסו את הפקודה הבאה:

java -jar selenium-server-standalone-2.44.0.jar -role hub -port 4444 -nodeTimeout 600

מה עשינו פה ?

ביקשנו להתקין את קובץ ה-Jar שהורדנו (במקרה שלנו הגרסה היא 2.44.0), הגדרת ה-Role מבדילה בין התקנת Hub או Node , פה אנחנו מגדירים לו להתקין Hub , עם Port 4444 שהוא ה-Port ברירת המחדל (כשמפעילים את ה-Hub הוא מתחיל אוטומטית להאזין לPort זה. הגדרנו לו עוד שדה (רשות) של TimeOut ל-600 שניות (10 דקות).

* אופציה נוספת: את ה Hub אוכל להגדיר דרך קובץ חיצוני, (בד"כ JSON או YAML), כמו בדוגמא המתוארת בלינק הזה: https://code.google.com/p/selenium/source/browse/java/server/src/org/openqa/grid/common/defaults/DefaultHub.json

והקריאה להפעלת קובץ זה תהיה כך:

java -jar selenium-server-standalone-2.25.0.jar -role hub -hubConfig <File Name>.json

כעת ניתן להיכנס לדפדפן ולבדוק את הגדרת ה-Hub שלנו על ידי הכנסת הכתובת הבאה: http://localhost:4444/grid/console , הקלקה על View Config תציג לנו מידע מפורט יותר על ה-Server שהתקנו.

המסך שיופיע אמור להיראות כך:

Grid2 

נלקח מהאתר: http://i.stack.imgur.com/B2kS8.png

 

שלב 3 – התקנת ה- Selenium Grid Nodes

* על כל סביבת הרצה בה נרצה לעבוד עם ה-Grid נצטרך לבצע את השלב הזה.

בשביל לחבר את ה-Node ל-Hub כאשר הNode יוגדר לוקאלית על המכונה (Node + Hub יושבים על אותה מכונה) נפתח את ה-Command Line ונכניס את הפקודה הבאה:

java -jar selenium-server-standalone-2.44.0.jar -role node –hub http://localhost:4444/grid/register

ואילו Node היושב במכונה מרוחקת יוגדר כך:

java -jar selenium-server-standalone-2.44.0.jar -role node -hub http:// <IP Address>:4444/grid/register

<IP Address> = כתובת ה-IP שבו יושב ה-Hub תוגדר פה

חיבור Node עם הגדרה ספציפית של פרמטרים:

java -jar selenium-server-standalone-2.44.0.jar -role node -hub http:// <IP Address>:4444/grid/register -browser browserName="internet explorer",version=11,maxInstances=4,platform=WINDOWS -port 5556

בדוגמא זו הראתי חיבור של Node מעל מכונה בעלת מערכת הפעלה Windows , בעלת דפדפן מסוג IE , גרסה 11 , ניתן להריץ עד 4 דפדפנים לחיבור זה שיושב על Port 5556 ומאזין לו.

* שימו לב כי ערך ה-Role בספרות יופיע פעם כ-Node , פעם כ- WebDriver ופעם כ-RemoteControl וזה למה ? סיבה היסטורית לתמיכה לאחור. כשיצא Grid 1 עבדו עם החיבור של RC בלבד , Grid 2 הביא איתו גם את התמיכה ב-WD ואילו ה-Node מכיל את שניהם. כך שאם אני משתמש ב-Grid 1 אוכל להשתמש ב -role remotecontrol או ב –role node ואם אני מריץ את Grid 2 אוכל להשתמש ב –role webdriver או –role node

* אופציה נוספת: גם את ה Nodes אוכל להגדיר דרך קובץ חיצוני, (בד"כ JSON או YAML), כמו בדוגמא המתוארת בלינק הזה: https://code.google.com/p/selenium/source/browse/java/server/src/org/openqa/grid/common/defaults/DefaultNode.json

והקריאה להפעלת קובץ זה תהיה כך:

java -jar selenium-server-standalone-2.25.0.jar -role node -nodeConfig <File Name>.json

בסיום הגדרת ה Nodes , ניכנס לדפדפן ונכניס את הכתובת: http://localhost:4444/grid/console

המסך שיופיע אמור להיראות כך:

 Grid3

נלקח מהאתר: http://www.ibm.com/developerworks/library/wa-selenium2/fig02.jpg

 

שלב 4 – הרצת הטסטים אל מול ה-Grid

עכשיו, אחרי שהגדרנו את ה-Hub וה Nodes נותר לנו להריץ את הבדיקות, אך רגע לפני ההרצה, נצטרך להגדיר עוד 2 דברים: קובץ קונפיגורציה ומתודת Setup בקוד שלנו .

 

יצירת קובץ הקונפיגורציה:

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

תחילה נגדיר את ה-Suite :

<suite name="Parallel Tests" verbose="1" thread-count="3" parallel="tests">
</suite>

(הגדרנו פה הרצה מקבילית על 3 Threads שונים)

ואח"כ את ה tests וה parameters שלהם:

<tests>
      <test name="Windows+IE11 Test">
            <parameters>
                  <parameter name="platform" value="Windows" />
                  <parameter name="browser" value="Internet Explorer" />
                  <parameter name="version" value="11" />
                  <parameter name="url" value="http://www.Google.com"/>
            </parameters>
            <classes>
                  <class name="GridTest" />
            </classes>
      </test>

      <test name="Adroid Test">
            <parameters>
                  <parameter name="platform" value=" Android"" />
                  <parameter name="browser" value="Chrome" />
                  <parameter name="version" value="39.0.2171.71" />
                 <parameter name="url" value="http://www.google.com"/>
            </parameters>
            <classes>
                  <class name="GridTest" />
            </classes>
      </test>
</tests>

בדוגמא זו ראינו הגדרת 2 סביבות , הראשונה על Windows עם IE 11 והשניה על Android עם Chrome, בשני המקרים אני מאתחל את הדפדפן עם אתר הבית של Google , שימו לב כי הגדרנו את שם ה class כ- GridTest (נחזור אליו אח"כ).

הוספת מתודת Setup:

הוספת המתודה הזו ל-Class שלנו תיתן לנו את היכולת להתממשק עם ה Grid (כתוב ב-C#):

public void SetupTest()

{

      DesiredCapabilities capabilities = new DesiredCapabilities();

      capabilities = DesiredCapabilities.Firefox();

      capabilities.SetCapability(CapabilityType.BrowserName, "firefox");

      capabilities.SetCapability(CapabilityType.Platform, new Platform(PlatformType.Windows));

      capabilities.SetCapability(CapabilityType.Version, "21.0");

      driver = new RemoteWebDriver(new URL ("http://<Machine IP>:5556/wd/hub"), capabilities);    //<Machine IP> belongs to the second machine IP Address

       baseURL = "https://www.google.com";

       verificationErrors = new StringBuilder();

}

* שימו לב - מכיוון שבקובץ הקונפיגורציה הגדרנו כי <class name="GridTest" /> , לכן את המתודה שלנו נכתוב תחת אותו שם class (או לחילופין נשנה את השם בקובץ הקונפיגורציה).

כתיבת הטסט:

זהו, כמעט סיימנו, כל מה שנותר הוא לכתוב את הטסט עצמו ב-Selenium , הנה דוגמא לכניסה למנוע החיפוש של גוגל וחיפוש המילה Test:

[Test]

public void GoogleTest()

{

      driver.Navigate().GoToUrl(baseURL + "/");

      driver.FindElement(By.Id("gbqfq")).Clear();

      driver.FindElement(By.Id("gbqfq")).SendKeys("Test");

      driver.FindElement(By.Id("gbqfb")).Click();

}

* שימו לב כי ה- baseURL מוגדר אצלינו תחת ה- SetupTest()

עכשיו כאשר נריץ טסט זה הוא יורץ תחת כל אותם Nodes שהגדרנו בשלבים הקודמים .

 

תוספות:

* באה חברת Codoid , הגדילה לעשות ושיחררה כלי GUI להתקנה והגדרה של Selenium Grid , אז לאלו מכם שלא אוהבים את החלון השחור של ה Command Line, יש לכם אלטרנטיבה שנקראת VisGrid אותה ניתן להוריד כאן (http://www.codoid.com/products/view/2/30)

* ישנן כמה חברות מסחריות שמציעות את טכנולוגיית ה-Grid כשירות אצלם בענן, כך שאת כל נושא האינפלמנטציה הם מסדרים, אתם נחשפים מהם לדף dashboard configuration page , מגדירים את הנתונים שלכם ובלחיצת כפתור מתחיל להריץ. השירות אינו חינמי אך יכול לחסוך לכם זמן רב בהתעסקות עם תחזוקת השרתים, הגדרות והתקנות. הנה כמה מהן:

https://saucelabs.com/selenium/selenium-grid

http://www.perfectomobile.com

https://testingbot.com

https://gridlastic.com

http://www.browserstack.com

 

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

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

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

יוני פלנר.

 

פורסם ב בלוג
ראשון, 20 אוקטובר 2013 19:53

בדיקות אוטומציה

בדיקות אוטומציה

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

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

יש לזכור שבודק התוכנה יבצע מספר רב של סוגי בדיקות ידניות (GUI , Usability , Performance and more..) אשר יעזרו לו למצוא באגים במערכת (זאת במסגרת שלבי הבדיקה  (Sanity , Regression …)) חלק מהבדיקות יהיו רלוונטיות לאוטומציה וחלקן לא, הטבלה הבאה תראה מספר דוגמאות אשר יעזרו לכם לקבוע מתי להעזר באוטומציה ומתי עדיף להישאר בתחום הבדיקות הידניות.

מקרי בדיקה למימוש אוטומטי

מקרי בדיקה  למימוש ידני

בדיקות שחוזרות על עצמן מספר רב של פעמים בגרסא ספציפית

בדיקות שמבוצעות באופן חד פעמי ושלא יחזרו שוב כחלק ממעגל הבדיקות

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

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

מקרים שבהם לא ניתן לבצע בדיקות בצורה ידנית

מקרי בדיקה שהמרתם לאוטומציה יקחו יותר זמן מאשר ביצועם בצורה ידנית

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

כאשר מדובר בפרויקט חדש שאינו יציב

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

בדיקות חקר (Exploratory) לרעיונות שעולים תוך כדי בדיקה.

 

 

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

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

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

יכולת לדווח בצורה יעילה וברורה על קיומן של תקלות - הדיווח יכול להיות בזמן אמת (מייל) או לאחר סיום הריצה (Mail , Log..).

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

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

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

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

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

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

אוטומציה - מחזור החיים

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

שלב 1 :הבנת הצורך ובחירת האוטומציה הרלוונטית :

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

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

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

העזרות בכלים אוטומטים במהלך בדיקה ידנית -  במקרה כזה כלל הבדיקות יהיו ידניות ונשתמש בכלים אוטומטים בכדי ליצור מצבים מיוחדים שעליהם נבצע את הבדיקה (למשל כלי אוטומטי שיצור לנו מבנה תיקיות שישמש אותנו בזמן הרצת הבדיקות הידניות אך אינו חלק מהבדיקה עצמה).

שלב 2 :יצירת מסמכי איפיון :

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

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

שלב 3 : בחירת כלי האוטומציה :

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

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

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

צוות האוטומציה יעסוק ב-2 נקודות עיקריות :

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

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

שלב 5 : סגירת קצוות לפני תחילת הפיתוח

בשלב זה לאחר שניתנו זמני הפיתוח יושבים 2 הצוותים (QA & R&D) וסוגרים את כל הנושאים שנשארו פתוחים, דוגמאות לנושאים אלו :

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

שלב 6 : תחילת פיתוח או רכישת מוצר

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

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

יכולת זו מתקבלת ע"י שילוב בודקים ידניים בעלי היכרות עם תוכנה, ו/או שימוש בכלים המאפשרים כתיבת אוטומציה בצורה קרובה ככול הניתן לשפת אדם – לדוגמא שיטות  KDT – Keyword Driven Testing  למיניהן.

שלב 7 : פגישות שבועיות לליווי תהליך הפיתוח

שלב זה יכול לכלול מגוון נושאים :

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

הערה!

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

שלב 8 : הרצה מלאה של אוטומציות

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

פורסם ב אוטומציה
רביעי, 17 יולי 2013 19:47

כל הכלים באתר אחד- QA Testing Tools

כל הכלים באתר אחד- QA Testing Tools

לינק לצפייה ישירה:

http://qatestingtools.com

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

 

פורסם ב כלים

אל תגיד "אוטומציה זה למומחים באוטומציה",

הכל מתחיל בך! - שאל את עצמך על אילו פעולות אתה חוזר יותר מ-5 פעמים ביום?

וכיצד תביא לכך שלא תצטרך לעשות זאת שוב?

 

טיפים מחברי ITCB-AB

פורסם ב טיפים

במאמר Good Practices For Automating Functional Tests מאת Dave McNulla תמצאו נקודות חשובות ליישום אוטומציה בצורה יעילה.

שימו לב כי Keyword Driven Testing הינה דרך יעילה להפרדה בין הבדיקה לבין הקוד שעומד מאחוריה,

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

ומאפשרות כתיבת הבדיקות אף טרם מימוש תשתיות האוטומציה והמוצר הנבדק.

http://dmcnulla.wordpress.com/2012/01/28/good-practices-for-automating-functional-tests

פורסם ב כלים
עמוד 3 מתוך 3