הפרק הרביעי והאחרון בסדרת המדריכים שלי "להבין את המפתחים" שנועד לאנשי הבדיקות לקבל מושג על הכלים \ פריימוורקים וספריות הקוד עימם המפתחים עובדים כדי לבנות את התוכנה אותו אנו בודקים. בפרקים הקודמים למדנו על ההבדלים בין ספריות קוד לבין פריימוורקים , על עולם פיתוח ה-Web , וכן על עולם ה-Mobile.
הגיע הזמן להתקדם קדימה, או במקרה שלנו אחורה אל מאחורי הקלעים לעולם ה-Back end ולהכיר גם את ה-Server side של המפתחים.
בפוסט זה אנו נתמקד בשלושת הכלים המובילים כיום בפיתוח צד שרת והם: Node.js , Rails ו- Django , שני מוצרים נוספים הרבה פחות פופולרים שלא ייסקרו כאן בפוסט (אך עדיין שווים איזכור) הם: ASP.net ו-PHP הדי מיושן…
תחילה בואו נשים לב לפופולריות של כל אחד מהכלים הללו, לקוח מתוך Google Trends:
ניתן לראות כי Node.js ניצב בראש הפופולריות (באופן לא מפתיע) כאשר כמות החיפושים עליו בגוגל היא בערך פי 2 מ-Django ובערך פי 4 מ-Rails
Node.js
ה-Node.JS הינו סביבת הרצה Open source שהיא גם Cross Platform המיועדת להריץ קוד הכתוב ב-Java Script שלא דרך הדפדפן, בד"כ אנו משתמשים ב-Node בכדיי לכתוב אפליקציות בצד השרת, נקראים גם API (קיצור של Application Programming Interface) – אלו הם השירותים שעובדים מול אפליקציות הקליינטים שהיוזר עובד איתם, אפליקציות שרצות על דפדפנים (אותם כיסינו בחלק השני של סדרת המאמרים) או על מכשירים ניידים מכשירים ניידים (אותם כיסינו בחלק השלישי של סדרת המאמרים).
Node.js הפך להיות מאוד פופולרי בעולם הפיתוח כי בעזרת כלי זה ניתן לבנות שירותים סקלבילים תוך עבודה עם כמויות מידע גדולות, כיום בשל נפיצותו הרבה ניתן למצוא בו כיום את המגוון הרב ביותר של ספריות קוד פתוח שמתממשקות אליו – מה שהופך את ה-Ecosystem שלנו לעצום.
בין היתר, תוכלו למצוא את האפליקציות הבאות שנכתבו עם Node.js
Rails
או בשמו המלא: Ruby on Rails הינו פריימוורק לכתיבת שרתי Web, הוא נכתב בשפת Ruby בשנת 2006 , הפריימוורק נכתב כ-MVC (שזה קיצור של Model View Controller) המספק איזשהו שלד של מבנה נתונים, שירותי Web ודפי Web.
Rails שיהה בעברו אולי הפריימוורק הפופולרי ביותר אומץ ע"י החברות הגדולות בתעשייה , אם כי כיום השימוש בו ירד בעולם, אך עדיין ניתן למצוא אתרים מוביילים שמשתמשים בו:
Django
Django הוא פריימוורק לאפליקציות Web הנכתב בשפת Python, היתרון הגדול שלו הוא מהירות הקמת הסביבה, הפשטות שלו, וזמן הלימוד עליו הוא מהמהירים שיש. הפריימוורק שנכתב בשנת 2005 הוא אחד מהפריימוורקים הפופולרים ביותר שיש כיום, וניתצן למצוא את האפליקציות המובליות בשוק שנכתבו עם Django, ביניהם:
וכאן נכנסת האוטומציה לתמונה…
אז איך למעשה אנחנו בודקים צד שרת ? מכיוון שלשרתים אין GUI , בעולם הזה אין לנו כפתורים \ שדות טקסט \ שדות בחירה מרובה או צ'ק בוקס… אנו פשוט נשלח לאותו API קריאה (Requests) עם רצף של פרמטרים ונצפה לקבל איזוהי תגובה מהשרת שיחזיר לנו, את התשובה הזו (Response) אנו נעבד , נשלוף את המידע הרלוונטי לאינו בבדיקה ונשווה לתוצאה שנצפה מראש.
ישנם כלים רבים לבדיקות API, החל מספריות קוד כמו Rest Assured, httpClient, okHttp ועוד בשפת Java, יש לנו את מודול ה-Requests שב-Python, או את ספריות ה-#Rest וה- httpClient ב-#C , גם Cypress הידוע לטובה מכיל בתוכו ספריות של API עימו נוכל לעבוד.
לבודקים הידניים שלא מגיעים מעולם התיכנות, ניתן לציין לטובה את ה-Postman המצויין ואת ה-JMeter המצויין לא פחות, בטח אם נוסיף מעליו את שכבת ה-Blaze Meter.