Are coding or testing skills more important in the corporate world?

Are coding or testing skills more important in the corporate world?

Which is more important in the corporate world: testing or coding?

    Requires Free Membership to View

    When you register, you'll receive targeted emails designed to keep you informed of the most relevant information on Agile development, application security, testing & QA, software requirements, and more.

    Hannah Smalltree, Editorial Director

    By submitting your registration information to SearchSoftwareQuality.com you agree to receive email communications from TechTarget and TechTarget partners. We encourage you to read our Privacy Policy which contains important disclosures about how we collect and use your registration and other information. If you reside outside of the United States, by submitting this registration information you consent to having your personal data transferred to and processed in the United States. Your use of SearchSoftwareQuality.com is governed by our Terms of Use. You may contact us at webmaster@TechTarget.com.

The short answer is: Both! If you are working as either a developer or a tester on a software development project, it's helpful to have both coding and testing skills.

Of course, if you're a developer, it is probably more important that your primary skills are with coding. However as a developer, it is important that you unit test your code thoroughly. The earlier in the cycle that defects are discovered, the better the ROI, so developers should not wait until their code is passed along to someone else to start testing. Developers should learn to think like testers, questioning requirements, testing suppositions in the design stage and continually looking for ways to ensure their code not only meets business requirements, but is also coded for testability. Test-driven development can help in that regard.

Likewise, testers would benefit greatly from having coding skills. In a world where there is more and more automation, testers should, at a minimum, be familiar with scripting languages to help automate repetitive tasks. Testers benefit from becoming skilled in the programming languages used for the application under test. With these skills, they are better to catch bugs even during the early inspection phases and work much more closely with the developers in not only finding bugs, but in troubleshooting them.

In my opinion, the most skilled software development team members are those that have spent some time in both development and test. You look at the application from a different viewpoint. In spending time in each role, you have more empathy towards the pressures and challenges that your teammate is undergoing. By developing both your coding and your testing skills, you are able to work in both areas to ensure the code is written cleanly and delivered with high quality.

Trends in agile development and application lifecycle management (ALM) show that there are fewer boundaries and silos. Roles are more blurred as teams work more closely together. It is becoming more and more prevalent for employers to expect software team members to develop both their coding and testing skills.

This was first published in October 2010