Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

What are the differences between automation testers and developers?

share|improve this question

closed as primarily opinion-based by gnat, GlenH7, Bart van Ingen Schenau, MichaelT, Kilian Foth Aug 25 '14 at 10:11

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise.If this question can be reworded to fit the rules in the help center, please edit the question.

up vote 16 down vote accepted

There is no objective answer - just try to do what you like and are good at.

There are slightly different traits and skills that are needed for both. An automated tester needs to be inquisitive, obsessed with quality, be ok with not creating anything new and not being in a spot light like a quarterback would. Their code need not be super-fast, unless tests get complicated. It should be well organized, readable, commented. Otherwise, when the tests can get out of sync with the product, it would be difficult to maintain. Now, some automated tests can get complicated - multithreading, distributed systems, real-time, statistical - you name it. So, the tester's job can be quite hard intellectually, but not all of the time (although same can be said about a developer :)).

Good tests are short. They are broken down into small logical units. It is ok for tests to overlap when they test slightly different things. Developers can have much more stringent constraints, such as: keep it real time, keep the database load light, etc. Develop it on time and on budget. Sometimes they have little choice, but to leave a working, but cluttered and hard to understand code behind them. If code is like a monastery, then tests are like wooden scaffolding necessary to build and maintain it. The later can be easier to produce, but it must still be done in coordination.

However, the tighter the system is, the harder it is to test. Look at the hardware that guides astronauts back to safety. Some of it is from 80s! I imagine that it underwent an insane amount of creative testing.

As I mentioned before, great developers are like quarterbacks or astronauts - they rush to the goal and score, but there is an army of support behind them.

A good software tester is someone with a mindset that, they would rather fix a parking problem in downtown before they send a man to the Mars. I think there is a PERSONALITY difference. As far as coding and other technical abilities, they can be the same. A "Developer" is a general term, which includes web developmnet, desktop development, mobile development, game development, embedded development etc.

I think it can be equally difficult or easy to be either one. The trick is doing what you love and are good at. If you suck at singing and writing and acting, then do not do that. It would be immensely difficult for you. But, for someone else doing these activities is a piece of cake, while passing a physics class is next to impossible.

There is no objective answer - just try to do what you like and are good at.

share|improve this answer
+1 nothing to add, @Job has said it all for me - good answer – Gary Rowe Nov 28 '10 at 17:28
By the way, if you work for a small company or do agile properly, then you would have to wear both hats. – Job Nov 28 '10 at 17:37
I work as an SDET. This is a good answer. – Ethel Evans Feb 10 '11 at 18:42
@Ethel Evans, thanks. Did I miss anything? I think I like tasks of software developer in test, but have not done it for more than 1.5 years total in my career 9we do not have such position). So, I described my own limited experience, but I am sure it is not a complete picture. – Job Feb 10 '11 at 18:57
I think you covered the key points. The first chapter of "Beautiful Testing" talks about some of the differences between developer and tester personality, and might be good for the OP to look at. SDETs can be more developer-like than other testers, depending on their exact role and if there are other testers in their company - I spend 50% of my time developing test tools and am currently focusing on raising my developer skills, because I'm finding that those are the bottleneck for me right now. – Ethel Evans Feb 10 '11 at 19:31

Depending on how you choose to define it an automation tester could also be a developer. I come from a C++ background and I have been using unit testing frameworks like boost, cppunit, cpptest and google-test for automating regression and to use each of these frameworks effectively you need reasonable programming capabilities.

share|improve this answer

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