Check out any job seeking web site for open tester positions. I doubt you will see at list a single one not saying something about automation skill, automation tools and agile team. The problem here is in the fact that knowledge of automation tools does not mean a person knows a technology which he is supposed to test. Lets go deeper. Back in the days when Selenium was still not very known tool and you stated it as something you worked with there was a frequent question occurring during the interviews: What is Selenium and how it works? If the first part of the question is easy for modern automation engineers I doubt that even half of those are able to answer how does Selenium work. How is it capable of clicking all that stuff on the page? How does it navigate? How does it connect to browser? A lot of automation engineers just don't know. They know only code samples that they need to execute in order to make selenium driver to do something. And if you don't know how your testing tool works how can you know if that does your actions as it is intended? Is it the same click a human will do or just a navigation to the attribute value of an html tag?
Diving deeper not many testers know how all this internet shit works. How the packets are delivered to your computer. How your browser is able to show all that stuff to you. Again and again you see a question on forums about what programming language to learn for a beginning tests engineer. There is no point in knowledge of the programming language if you just don't know how your stuff works. Programming language allows you to convert mathematical equations to a binary code only, not more. That is why again and again forums are polluted with questions like: Why my test tool does not start? Why selenium does not open a browser? Why does updated browser break all my tests? All that is because you just don't know things you should know. Some try to defend their point of view by a sentence: The fewer I know the more I look like a real user and the higher the chance I could find the same bug he will encounter. You see, there are two problems here. First is that at this point you position yourself as beta tester and beta testers work free of charge, while you probably get some salary. You should be paid at this point according to the rules of bug bounty programs - 1 bug = 1 payment with a size that depends on the severity of the bug. Second problem is actual severity. "Real" users usually find bugs in the user interface, lack of some functionality, etc. Those bugs usually does not cause any serious consequences, only some small damage to your reputation. While a technically skilled person looks for a bug that can be used to make the system work for him which causes company's private information to be altered and shared with anyone in the world which could cause destruction of huge number of human lives. When you act like a "real" user you will never find this bug. And now we have a situation when a company invites 2 people for an interview for a position of an automation engineer in tests. Guy A knows Maven, Selenium, Jenkins, Webdriver, NUnit, JMeter. Guy B says he does not know any of those tools and for testing purposes of the web application he used some easy scripting with sockets or manual tricks with Telnet, tcpdump, mitmproxy, Fiddler, WebScarab etc. At this point HR put plus next to each of the skills of guy A as this is something that was stated in a job description created by another guy of type A. And HR puts 0 points to a guy B as all those skills are meaningless words for him and he has no idea how to even spell those words correctly. Definitely guy B gets rejected by an HR and guy A gets a job. And one year later guy A creates 100 automated tests, 20 of which finds some bugs in functionality that could be found by a more attentive developer if he check his code before committing or by a group of a targeted users that will participate in a system test that will take place one month before UAT (and they will work free of charge as customer will be glad to spare some employees for a week to try out new product). And after release guy B spends 1 hour to figure out that user name does not get sanitized in login form (because sanitation was not part of the requirement documentation for a functionality testing), injects a shell and now owns the customer. Do you see a problem here? HR just rejected some guy whose name looks like: Petter Van Eeckhoutte, Tavis Ormandy, Kevin Mitnick, Mark Russinovich. And accepted A guy... like thousands of guys out there in the wild doing everyday job without knowing what they are actually doing. So that is why I declare myself a heretic of modern testing approaches. That is why I stand in line with a guy B ready to protect his point of view, his style of professional life, his methods, his good name. That is why I will not touch automated testing topics here. But what I will be posting is how to use your brain and technology knowledge to do your job.
0 Comments
Leave a Reply. |
NoticeI have removed Russian content from my website and now will post articles in English only. This is not because of some politics, Russian speaking people you are great, but just it is very hard to support bilingual web site in Weebly. For those who read my articles as usual I ask to click on a single advertisement banner on my web site. This gives me some credits and is free of charge for you. Archives
August 2016
Categories
All
|