BETA
This is a BETA experience. You may opt-out by clicking here

More From Forbes

Edit Story

Is Software Testing Easier Than Software Development?

Following
This article is more than 8 years old.

Is software testing easier than software development? originally appeared on Quora: The best answer to any question.

Answer by John L. Miller, PhD, Software Developer at Microsoft, Amazon, Google, Oracle for 25 years, on Quora:

Software testing is different from software development, not easier. At least for SDET's.

To use Microsoft parlance: Software development is done by software development engineers (SDE). Software testing is done by software test engineers (STE), and software development engineers in test (SDET). These functional divisions are mostly gone now, but still apply elsewhere.

STEs tended to do manual testing that was too expensive to automate. For example, configuring a set of 20 machines in a variety of different network topologies, and testing their end-to-end connectivity with scriptable tools, manually, or with tools SDETs wrote for them.

SDETs wrote code to test programs. For example, if someone wrote an API set, an SDET wrote exhaustive tests for the API individually and collectively. They'd also write stress tests, performance tests, check resource consumption, correctness, and so on.

SDEs write code that ships to the customer, or that runs in services used by or on behalf of the customer.

SDET code is written as 'happy case' code. If it hits unexpected conditions (like out of memory), you just re-run it. SDE code, on the other hand, is often expected to run indefinitely without restart, to survive unexpected problems, and to behave in a proscribed way in each circumstance. SDET code is closer to prototype code quality, while SDE code is expected to be bullet-proof.

Which of the two tasks below is harder:

  • (SDE) Write a file system driver for windows
  • (SDET) Verify a given file system is working correctly in all cases.

Yeah, I don't know either. But I'd tend to think writing the actual driver. Which of these is harder?

  • (SDE) Write an API that returns a pseudo-random number.
  • (SDET) Determine whether that API is doing its job.

If you didn't answer the SDETs job for this one, well, that's why you're not an SDET and why you need one.

Developers generally go deep in one area. Test developers generally go broad and to medium depth, though they sometimes go deep just for fun.

Neither job is intrinsically harder. They require different sorts of thinking and different emphasis in code artifacts. Any difficulty is more about the specific technology (e.g. file systems vs. script interfaces) than the general role.

This question originally appeared on Quora. Ask a question, get a great answer. Learn from experts and access insider knowledge. You can follow Quora on Twitter, Facebook, and Google+. More questions: