sonarLint

SonarLint

המונח Code Review (בעברית – סקר קוד) בא לתאר חקירה של גורם צד שלישי על קוד תוכנה שנכתב וזה מגיע כחלק מביקורת עצמית \ צוותית \ מחלקית על המוצר שאנו כותבים, בין אם המוצר שלנו הוא אפליקציית פייסבוק, לינקדאין, גוגל מפות או מוצר בדיקות אוטומטיות שכאמור זה פרוייקט תוכנה לכל דבר. החקירה הזו על הקוד […]

design-patterns-test-automation

תבניות עיצוב בעולם האוטומציה

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

understandDev1

להבין את המפתחים, חלק 1

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

טעויות נפוצות בפרוייקט אוטומציה

טעויות נפוצות בפרוייקט אוטומציה

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

findAllvsFindBys

FindAll vs. FindBys

את הפוסט הנוכחי החלטתי לכתוב מכיוון שכבר כמה תלמידים שלי נתקלו בבאותה שאלה שנשאלת בראיונות עבודה , זוהי השאלה המעידה על הבנה ב- Page Objects Pattern והיא הולכת כך: מהו ההבדל בין אנוטציית ה-FindAll לבין אנוטציית ה-FindBys ב-Page Objects  ?     אז כל מי שאי פעם התעסק עם Page Objects באוטומציה, לבטח יכיר את […]

WarOfTheWorldsa

מלחמת העולמות, חלק 2

לאחרונה התחלתי סדרה של פוסטים בהם אני סוקר פריימוורקים מובילים באוטומציה (שאינם מושתתים על ה-WebDriver API) תוך כדי השוואתם, יתרונות מול חסרונות. בפוסט הקודם לא הצלחתי להגיע להצהרה על הזוכה הגדול ולמען האמת, אותו כלי שאסקור היום הוא אינו הכלי הטוב ביותר באופן גורף לכולם. אבל כן ארצה: א. להציג אותו בפניכם, מכיוון שהוא יחסית […]

WarOfTheWorlds

מלחמת העולמות, חלק 1

אז מה ? אוטומציה, הא ? סלניום, כן ? בטח, רק סלניום. אין אוטומציה בלי סלניום… גישה זו רווחת בקרב לא מעט אנשים בתחום ולצערי גם אנשים שמתיימרים להיות "מומחי אוטומציה". אז בואו נשים את העובדות על השולחן: כיום סלניום הוא הפריימוורק הפופולרי והנפוץ ביותר באוטומציה, בטח ובטח אם אנחנו מדברים על אוטומציה על ה-Web. […]

cucumber

מבוא ל-Cucumber

ה-Cucumber הינו פריימוורק אוטומציה המממש את שיטת ה-BDD, או בהרחבה ה-Behavior Driven Development. זהו פריימוורק שנכתב במקורו בשפת Ruby וכותבים איתו כיום במגוון של שפות תכנות, ה-Cucumber הוא המקביל ל-SpecFlow שחי בעולם ה-NET. אך לפני שנצלול אל נבכי הפריימוורק והקוד, בואו נבין קודם כל מה זה בכלל אומר Behavior Driven Development ? ה-BDD הינה מתודולוגיה […]

mega_function

Mega Function

בשלהי העשור הקודם, כשנחשפתי לראשונה לתשתית אוטומציה (עוד בימים התמימים והעליזים של QTP ו-VB-Script), נחשפתי לראשונה למתילדה. מתילדה הייתה שמה של Mega Function, פונקציה אחת שעושה הכל ! בפרוייקט שלנו, כל מה שנרצה כל מה שנבקש – מתילדה תספק. כיום, עפ"י Design Pattern שונים ומתודולוגיות פיתוח מודרניים (לדוגמא – SOLID), אנחנו לומדים שבשביל לכתוב תשתית […]

smartWait

המתנה חכמה

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

shadowDOM

אוטומציה עם Shadow DOM

כשאנו כותבים אתר מסויים, אנחנו בסופו של דבר מייצרים קובץ HTML (הגי'נרוט של קובץ זה יכול להגיע מכמה טכנולוגיות מאחורי הקלעים, אך כאן זה לא המקום  להרחיב עליהם). הדפדפן שאנו עובדים עימו (גוגל כרום \ מוזילה פיירפוקס \ אינטרנט אקספלורר) יודע לתרגם את תוכן ה-HTML לתוכן מסוג DOM (ראשי תיבות של Document Object Model). ה-DOM […]