מעבר מעולם התכנות לעולם הQA

yair_p

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

choo

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

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

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

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

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

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

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

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

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

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

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

yair_p

New member
כמה מחשבות:
א. זה לא כיוון שינוי שכיח, אבל הוא קיים.

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

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

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

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

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

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

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

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

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

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