Thursday, August 4, 2016

האם בודקי תוכנה צריכים ללמוד אוטומציה?

As a software tester, do I need to learn about automation?

English first, as this is (sort of) a response to something I saw.

The answer to this question is NO. In fact, I would say the answer is "Don't you dare doing that". Instead, learn to program (or, if you insist, to code). 
I have encountered this post, and at first I thought to myself: "great, here's another one who calls test programming 'automation' ", when I saw this: "You don’t need to complete all of the lessons unless you want to. You’re not trying to become a developer, you need to know ‘just enough’ to be getting on with for now."
And this is why I don't like the "automation skill" talk. A test code project is a coding project in every aspect, and taking part in it does require being a decent programmer. Otherwise, you'll be digging yourself a hole that will be quite difficult to get out from - It could be poor infrastructure that will bite back in a 6 months time, it could be weak automation that only moves the browser around since this is all you've learned. Heck, it might even be that you need to write a multi-threaded test, only you have never before encountered the concept of threads since you were learning "automation" instead of programming. 
So yeah - programming is not difficult, and every tester would benefit from having some programming skills, just stop blinding yourself by calling it automation and regarding it like 2nd grade programming.

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

No comments:

Post a Comment