בדיקות server (צד שרת)

L2010

New member
בדיקות server (צד שרת)

שלום לכולם,
רציתי לשאול אותכם איזה בדיקות יוצא לכם\נהוג לעשות על השרת (לאתר Web רגיל למחשב).
אז Gui אין,
אני מתאר לעצמי שיש: 1. בדיקה בבסיס נתונים לראות שהנתונים שנרשמו איתם לאתר (ועוד), נכונים.
2. מתאר לעצמי שבדיקות עומסים יש על השרת.
מה עוד? functionality?......................אני צריך את כולם.
- שאלה נוספת, מקווה שהיא לא טיפשית מידי...באיזה סביבה עושים את בדיקות ה-server? או שיש רק סביבה אחת לשרת ובה עושים, כי אפשר לעשות שינויים בטעות.
(ב- client אני יודע שיש 3 סביבות, ואת רוב הבדיקות עושים בסביבת הפיתוח וגם בסטייג'ינג כדי לא לגרום לשינויים בפרודקשן)

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

עמית ו

New member
באיזו מסגרת בדיוק עלתה השאלה הזו?

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

L2010

New member
אתר פורומים עם מספר נושאים - דומה לאתר הזה

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

עמית ו

New member
נו, שוין. שיהיה.

התשובה הכללית שלי לכל שאלת "מה היית בודק", היא "אני לא בודק שום דבר, זה עובד סבבה".
כדי לבדוק באופן שמעניין מישהו צריך להבין כל מיני דברים - למה האתר חשוב לחברה שמפעילה אותו(ברוב המקרים - איך האתר הזה מכניס כסף)? מה המשתמשים מצפים לעשות באתר הזה? כמה זמין צריך להיות האתר? כמה מידע נמצא בו? כמה משתמשים סביר להניח שיגיעו אליו בזמן עומס? מה יגרום לנזק לחברה שמפעילה את האתר?
&nbsp
אם ניקח למשל את תפוז, אני יכול לנחש חלק מהתשובות האלה. עיקר ההכנסה שלו היא מפרסומות, המשתמשים מגיעים אחת לזמן מה כדי לדון על נושאים שמעניינים אותם, ולא סביר להניח שיהיו יותר מאשר אלף או אלפיים משתמשים מחוברים בו זמנית. לעומת זאת, כמות המידע שהאתר מחזיק בצורת משתמשים רדומים, הודעות פרטיות, הודעות פורומים, בלוגים וכו' היא לא קטנה.
&nbsp
מבחינת השרת, דברים שהייתי בודק:
1. בדיקות פונקציונליות: כל מיני דברים כמו "אני מבקש דף ומקבל אותו","הודעות שפורסמו נשמרות במסד הנתונים", תקשורת עם שרת הפרסומות, האם דוא"ל נשלח כשאני מקבל הודעה פרטית חדשה? האם הגדרות המשתמש נאכפות כהלכה (למשל - משתמש שביקש לא לקבל דוא"ל, לא אמור לקבל דוא"ל)? דברים כאלה. כמובן, זה סט קטן של מה שצריך להיעשות, ובגדול כל יכולת של המערכת צריכה לקבל תשומת לב - אני לא מכיר את סט היכולות של השרת ולכן היקף הבדיקות שלי יהיה מצומצם (לפחות עד שאקדיש זמן ואגלה את הפיצ'רים השונים)
&nbsp
2. ביצועים, עומסים וכו' - כמה זמן לוקח לי לקבל תשובה למגוון בקשות שונות, עם כמה בקשות בו זמניות השרת יכול להתמודד? האם ההחמרה בזמן התגובה היא ליניארית (או טובה יותר) ביחס לגידול בכמות הבקשות? האם יש לי יותר משרת אחד? איך מחולק העומס בין השרתים? כמה זמן לוקח לי לחפש משהו בהתאם לכמות התוצאות החוזרת ולכמות הנתונים במסד הנתונים?
&nbsp
3. אבטחת מידע - סט הבדיקות כאן יהיה בעדיפות נמוכה אם בכלל, כי בכנות - אתר ששולח את שם המשתמש והסיסמה על גבי HTTP ולא HTTPS לא שם קצוץ על אבטחת מידע (אני מקווה שאתה לא משתמש בסיסמה של תפוז גם באתרים אחרים שחשובים לך, אם כן - זה הזמן להחליף).
&nbsp
כמובן, חלק גדול מהבדיקות שצריך לבצע לתפוז מתבצע דווקא בצד הקליינט - צריך לבדוק כל מיני דברים כמו התאמה לדפדפנים שונים, גלישה מטלפון, שימושיות, נגישות, דברים כאלה.
&nbsp
מעבר לכך, כיוון שתפוז הוא אתר מצ'וקמק, הוא לא צריך הרבה בדיקות - כל עוד הוא מתפקד, בערך, זה מספיק.
&nbsp
 

עמית ו

New member
ועוד נקודה אחת

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

L2010

New member
אגב, בנוגע למה שכתבת על אבטחת מידע...

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

עמית ו

New member
ועכשיו, כשתפוז חזר לעבוד - מה שאתה רואה זה בסדר גמור.

כשעובדים עם fiddler, מתוך הנחה שביקשת ממנו לעקוב אחרי תנועת HTTPS, מה שבעצם קורה הוא שאתה שובר את ההצפנה בעזרת מה שנהוג לכנות "man in the middle" - כלומר - מצד אחד, הדפדפן שלך פותח הצפנה מול fiddler, ואילו זה האחרון פותח את ההצפנה מול ג'ימייל.
לכן אתה מסוגל לראות את הפרטים שלך.
דרך קלה לבדוק את זה היא להסתכל על הסרטיפיקט, תוכל לראות שמי שחתום עליו זה איזה משהו בשם DO_NOT_TRUST_FIDDLER.
 

halperin

New member
מנהל


 

halperin

New member
מנהל
עקרונית לשרת יש API דרכו ניתן לפנות אליו ישירות

כלומר ניתן לעיתים קרובות לעקוף את הצד האיטי והלא יציב של אוטומציית GUI כמו סלניום,
ולפנות ישירות לשרת ע"י בקשות REST וכד' - בכדי לבחון את האספקטים הפונקציונליים של המערכת הממומשים בו (כמו גם שאילתות ל-DB כפי שציינת).
לעיתים לשרתים יש הירארכייה , הגנות, פרוקסים וכד' - ואז רצוי גם לבחון התנהגויות של אספקטים אלו.
 

עמית ו

New member
שום דבר לא מבטיח לך את זה

לחלק מהשרתים יש API, חלק אחר הם שרתי HTTP בלבד - מה שלא מחייב בדיקות UI, אפשר לשלוח בקשות HTTP בדיוק כמו שאפשר לשלוח בקשות REST (למעשה, בקשות REST הן בדיוק בקשות HTTP, רק שהתשובות אינן בפורמט של דף HTML).
 

L2010

New member
תודה רבה על התשובה המושקעת

קראתי ואקרא עוד, יותר בעיון.
:)
 

L2010

New member
כללי זה בדיוק מה שרציתי

ככה הוא כיסה הרבה ולא התמקד במשהו
 

halperin

New member
מנהל
אם תעלה עוד רעיונות - נוכל לדון בהם (אתה ושאר החברים)

 
למעלה