1

I want to learn Selenium web driver (or JUnit), but I'm hesitating on whether to learn it or not because my work is not focused on testing. I do maintain and develop Java web based applications and as a part of my job and I do manual testing on applications before I send it to Production.

Should I spend my time learning some of the automation testing world? Or should I spend time learning topics related to development software?

3 Answers 3

1

Depends on a lot of variables for your situation, knowledge is always something most people would strive to expand. Take into consideration some of the following.

  1. How is your current work being tested? If you have a QA department for member of your team, they should be responsible to test it with Automation and the necessary Manual testing.

  2. Unit Testing is going to be the biggest value you can add to your company, and it saves people a lot of money by writing quality unit testing.

  3. If you are required to conduct all of the testing on your code before it is release ready, then I would suggest you learn some automation skills to make your time testing your code more efficient.

These are just a few points that I would like to make here, but the most important thing that a developer could do for the code that they write is Unit Testing not necessarily automation with selenium.

2
  • Thanks for listing those things to considerate. I will take your advice to get into unit testing because is something i've heard some teams use here in my company.
    – Misael PS
    Jun 22, 2015 at 19:32
  • Whether unit testing or integration testing is the best way to provide coverage is situation dependant. The point make in 2 and conclude with is simply not true. Jul 9, 2015 at 0:57
2

Automated tests are software. Writing tests is programming. The difference is which libraries you use and what problems you are trying to solve.

But you need to distinguish between the needs of your company (where you work), and the needs of your career. How does your current work align with your interests, and where can you see yourself in the future? Talk to your manager about how you can contribute to profits of your company. Maybe the company will pay you to get training in QA test automation - take the opportunity.

But if the company is not paying for classes (or at least giving you time to learn new skills on your own while paying you salary), do what is best for your career.

To improve your skills as a software developer (regardless of the area you will apply your skills), IMHO the better return on time invested would be to learn more languages (especially if Java is the only language you are proficient in, as the title of your post suggest). Top candidates would be a dynamically typed language like Python, and Javascript for front-end development. And at least basics of CSS.

TL;DR: Yes, learn test automation if you are interested in it, or if the company pays you to do it. If not, you can gain more skills (better return on time invested) learning something different from your current skillset.

2
  • I appreciate your advice. I will learn unit testing because that is used by other teams here in the company and I agree with your point about learning something related to my current skill set. Thanks a lot!
    – Misael PS
    Jun 22, 2015 at 19:29
  • No, my point was about learning something orthogonal to your current skillset. :-) To expand your mind as developer. Jun 22, 2015 at 19:55
1

Automated testing is software and needs developers. If you write good integration tests all day you're a developer by any reasonable standard.

I would be sceptical if someone told me automation was the domain of the manual testers. You may find Qa teams staffed by developers, but that's a different thing. Definitely learn about automation, it is a core developer skill.

You also may be aware of test driven development, where you write the unit tests first then the code. You can do the same thing with automated integration tests, and it's pretty useful trick to have up your sleeve.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.