את RedwoodHQ אני מכיר כבר כמה שנים טובות, עוד משלהי שנת 2014… דיברתי עליו המון, המלצתי עליו רבות ואפילו גם קיימתי עליו סדנא באחד המיטאפים המוקדמים שערכתי.
הגיע הזמן גם לכתוב עליו פוסט משל עצמו בבלוג שלי.
במה מדובר ? בתשתית אוטומציה מהסוג הזה שבקלות ניתן לחשוב שהוא כלי מסחרי על פי כמות הפיצ'רים שהוא מכיל (מזכיר את ה-Katalon Studio הצעיר יותר בהיבט הזה), כלי האוטומציה הזה, מתוצרת חברת PrimaTest, יכול להוות פתרון טוב למי שמעוניין להכניס בדיקות אוטומטיות אצלו באירגון על קליינטים מסוג Web / Mobile, במיוחד אם רוב אנשי הבדיקות שלו אינם בעלי רקע תכנותי. נכון, יש לו גם מגרעות – אותן נכסה גם כן בפוסט זה בהמשך הדרך.
אז מה יש ל-RedwoodHQ להציע לנו ?
* התקנה פשוטה וחלקה
* כלי מעוצב כהלכה, ברור וקל לעבודה
* יכולות יצירה וניהול בדיקות אוטומטיות וסוויטות של בדיקות אוטומטיות
* אפשרות לבניית מקרי בדיקה אוטומטיים ללא צורך ביכולת קידוד (עפ"י שיטת ה-KDT)
* אפשרות להוסיף יכוללות קידוד למי שמעוניין להרחיב את התשתית הקיימת שמגיעה כבר Out of the box
* מערכת דוחות מושקעת הכוללת גם צילומי מסך
יאללה, בואו נצלול לעומק יותר, אך לפני שנתחיל, בואו נבין מה ה-RedqoodHQ יודע לבדוק ?
1. API Testing , Soap / REST
2. בדיקות פונקציונליות מעל ספריות הקוד של Selenium WebDriver / Appium
3. CLI Commands
4. בדיקות DB
באילו שפות תכנות ניתן לעבוד עם RedwoodHQ ?
1. #C
2. Groovy
3. Java
4. Python
התמשקות ישירה למנועי ההרצה והבדיקה:
1. TestNG
2. Junit
התמשקות ישירה לכלי CI:
1. Jenkins
2. TeamCity
עבודה עם RedwoodHQ מתבצעת באריטקטורת Server – Client , כך שצוות של בודקים יכול לעבוד עם Redwood מבלי לדרוך על האצבעות אחד של השני. הכלי מגיע עם הרשאות שונות למודולים השונים בכלי
כאשר עובדים על סלניום \ אפיום הכלי מגיע כבר עם מגוון של פונקציונליות ממומשת Built-in כפי שניתן לראות בדוגמא כאן – מימוש של פעולת ה-double click על אלמנט מסויים, המימושים מגיעים בשפת Groovy וכמובן שניתן ליצור מימושים משלנו בכל שפה הנתמכת בכלי (ומוזכרת למעלה)
את הפעולות האטומיות הללו ניתן לאגד למקרי בדיקה בצורה מאוד נוחה:
ניתן כמובן להשתמש במשתנים (variables) לעבודה נוחה יותר וצימצום השימוש Hard Coded בערכים שמשתנים:
וכמו הרבה מאוד frameworks אחרים, גם הפתרון כאן יתן לכם את היכולת להריץ במקביל בצורה מאוד פשוטה ונוחה:
ולהרצה על מכונה מרוחקת נוכל להשתמש בחיבור VNC שמוטמע כבר בתוך Redwood:
מערכת הדוחות (Reporting) שלהם מוצגת כך:
ויש להם גם אגרגציה של הרצות עם ניתוחי תוצאות:
מערכת Git מובנית:
זיהוי אלמנטים מובנה עם כלי: Looking Glass מאוד נוח לעבודה:
שיכול לבצע גם הקלטות של מקרי בדיקה מעל הדפדפנים:
וגם אפשרות להתחבר ל-Mail Server בכדיי שנקבל את דו"ח התוצאות למייל שלנו בצורה אוטומטית עם סיום הריצה:
מלהיב נכון ?
ועכשיו לדברים הפחות כיפים של הכלי הזה :
1. תהליך ההתקנה אמנם Straight Forward אך יזגול כ-40 דקות מחייכם
2. בשביל לעבוד עם Redwood תאלצו להיפרד מבערך 2GB מהדיסק שלכם
3. הכלי מגיע עם IDE מובנה , והוא לא מגיע ברמתו ל-IDE הפופולריים שאנו רגילים לעבוד איתם (נרגיש בהבדל בעיקר כשנרצה לדבג את הקוד)
3. תחילת עבודה עם מול דפדפנים תארך בסביבות ה-30 שניות (פתיחת סשן לדפדפן ועבודה מול הדרייבר שלו)
4. אין מספיק דוקומנטציה באינטרנט על הכלי הזה, הקהילה שלו מאוד מוגבלת, התמיכה של PrimaTest (האחראים על הכלי) מגיעה בתצורה של הטמעת עובדים מטעמם (בכל זאת, חברה מסחרית שמביאה לנו מוצר חינמי…)
5. לאלו העובדים מול בדיקות API , יש מגבלה של מספר התווים שניתן להעביר
6. כמות העידכונים של המוצר אינה מספקת. העידכון האחרון שיצא, התרחש בחודש אוגוסט 2017 (והיום אנחנו בסוף ינואר 2018…) – כמעט חצי שנה ללא עידכונים זה נצח בעולם התוכנה שדוהר קדימה.
אני מזמין אתכם לקרוא את הפוסט שאלי אלימלך העלה בקבוצת הפייסבוק אחרי מחקר שלו (מול חברה העובדת בכלי הזה כמה שנים): https://www.facebook.com/groups/QA.Test.Automation.il/permalink/447044572357807/
בשורה התחתונה, הפוטנציאל הטמון בכלי הזה הוא אדיר, רק חבל ש-PrimaTest לא השכילו לעבוד במודל שונה כמו הרבה מאוד חברות אחרות, אני לא יודע עד כמה ניסו לדחוף אותו קדימה, אבל מבחינת הפופולריות שלו ברשת הוא די מדשדש מאחור. עוד בשנת 2014, חשבתי (או קיוויתי נכון יותר) כי הכלי הזה הולך להיות להיט בכל חברת תוכנה הזקוקה לבדיקות אוטומטיות…
אני באופן אישי לא חושב שהמודל הזה נכון ("קח מוצר בחינם – שלם על התמיכה") בימינו, בעולם הרווי הזה של עודף Frameworks באוטומציה. בינתיים הוא לא מוכיח את עצמו (דוגמא נוספת היא -Serenity שבעתיד אולי אכתוב עליו פוסט נפרד).
אבל בכל זאת, הוא נותן פתרון סביר לחברות שאין להם אנשי קידוד בצוות הבדיקות והם צריכים פתרון אוטומטי לאפליקציות Web לא מורכבות מידיי, שזה אומר שהם יסתפקו בתשתית הפונקציונליות הקיימת של Redwood מבלי הצורך להרחיב אותה (אגב, התשתית הזו תיתן מענה של למעלה מ-90 אחוזים מהפעולות על דפדפנים).