Do automation testers wanna gain some knowledge in hashmaps, linked list, queue, sorting and searching algorithms , systems design like developers? If so why?
It would make sense if they are looking to transition to developer role. Also useful to know in case these types of knowledge questions are asked at interviews. Test automation engineer interviews sometimes are treated like software engineering/development interviews, depending on the interviewer.
- System design gives you an understanding of how systems work internally. If you know it - you can predict where can be potential bottlenecks and areas of problems.
- Data structures and algorithms allow you to write more efficient and robust automation code. I know many examples, where automation code was not optimized and was full of thread.sleep() - as a result this test suite takes hours instead of minutes.
- Knowing the technical stuff allows you to get credibility from the developers and to talk to them in their language.
- Data structures/algorithms - can be asked at many interviews with QA Engineers. As a first way to check whether you have skills in tech or not.
- Some domains require more in-depth tech knowledge just to perform even basic tests. E.g. in blockchain, you need to know hashing, digital signatures, public key cryptography, distributed systems and a bunch of other things just to do day-to-day MANUAL testing right.
As someone who moved the other way, I’m going to state the exact opposite. As a test coder, if you are unable to work with huge data sets and with filters, you are not testing your product at scale. Architecting of non-trivial and large test systems in my books is what ranks you as a Senior test engineer, so for me, the why is to be able to find defect types that only your more $$$ valuable and bigger customers will experience. Bugs that get the CEO heated because your biggest customer account wants to cancel, those are the good ones that get you a noticed.