Take the 2-minute tour ×
Software Quality Assurance & Testing Stack Exchange is a question and answer site for software quality control experts, automation engineers, and software testers. It's 100% free, no registration required.

I have noticed in the last few years that employers are now looking for QA/Developers (QA engineers that have been skilled developers).

I would like to know what others believe are the actually additional activities that these QA/Devs bring to the project.

These are a few that come to mind:

  • Reading code while doing white box testing
  • Creating Unit tests along side the Developers
  • Creating Integration tests

This is not about how development experiences enhances the testers effectiveness in finding defects. But about understanding what those value added activities are, that this type of testing resource can bring to the developers and the project.

Thanks in advance for your feedback!

SQA Stack Exchange responses on value added activities:

  • Providing automation of routine testing, Alan
  • Explore possible software design choices for better code testability, Aruna
  • Perform white box testing, Bruce Mcleod
share|improve this question
1  
You could find more on this if you looked up SDET (Software Developer in Test), Microsoft uses them as Testers on many of their projects for many of the reasons noted below. –  MichaelF May 22 '11 at 20:34

4 Answers 4

up vote 13 down vote accepted

In my experience, the best developer/testers bring what I call the boredom herusitic to software testing. Inother words, they often automate rote tasks so they can focus on testing and analysis of the software.

An example I use often is the "add contact" feature in an instant messaging or email client. To test the feature, I'd need to try long names, localized names, blank names, etc. I'd also need to test adding and removing a contact. The matrix of test ideas could expand pretty quickly...and I'd get bored trying all of those things - and worse, I'd never try the perf / stress scenario of adding and deleting a contact 500 times (nor would I automatically check disk and memory status during the operations).

In short, good test developers look at the testing problem, then figure out how they can use a program or automation to help them solve the testing problem efficiently.

share|improve this answer
1  
Great example! I think the value added activity you are describing is providing automation of routine testing, a test/developer would be motivated by the desire to have greater test coverage and probably more capable because of their programming background. I have added this to my question above. Thanks! –  John Burley May 20 '11 at 2:00
4  
+1 for the boredom hueristic concept. In addition to automated testing, a developer/tester is more likely to see the opportunities to build helper tools -- a javascript favelet to reveal hidden information on a web page, or a SQL script to help validate back-end data. –  TomG May 20 '11 at 2:48

I've had success using tester/developers for code review of production code. I've found that developers review code thinking, "Will this work", while testers review code thinking "In what ways could this not work". I've also found that most testers discover new test ideas while reviewing production code.

I wrote a paper on the experiences of our team in this area.

share|improve this answer
1  
That goes back to the question sqa.stackexchange.com/q/545/453 of how testers and developer mindsets differ. Again, a tester could have a developer mindset as well and vice versa. What this means is that BOTH mindsets are necessary to build good, robust, full-coverage tests. –  TristaanOgre May 20 '11 at 20:45
    
Yes - I agree with this comment completely. –  Alan May 20 '11 at 21:33
1  
Also testers tend to perform code coverage analysis when they look at the code to check if they have reached the target test coverage and analyze if the uncovered code poses any risk to the end-customer –  Aruna May 21 '11 at 0:23

Personally I find that tester who codes in addition to great testing skills is much more effective than the non-technical equivalent.

A techical tester can esentially bring more "weapons to bear" on testing problems than you could without those skill sets. Some examples:

  • Need to generate some test data? Write a tool to do it.

  • Need to check security access when logged in as certain users? Write some automation to do it.

  • Need to automate the deployment of your application? Write some scripts for that.

  • Need to influence the way developers perform their unit tests? Show them how or build them a unit test framework.

  • Need to perform white box testing? You have the skills to check out the code and start reading.

However, a word of caution. It is easy for testers who can code to only want to code. The real skill in being a QA Developer is knowing when it is appropriate to develop and when to put the tools down and just test it manually.

share|improve this answer
3  
Good point on the need for the QA/Developer to realize that their job is first to be a great tester. Their development activities should be, just the extra help needed at the moment and no more. –  John Burley May 20 '11 at 3:39

A tester can add value to the product and development team by making/influencing key software design choices even before coding starts.

Testers with programming background can understand and explore possible software design choices for better code testability and they can determine "if the code is fit for use?" Design choices like "Dependency Injection" and "Decoupling" can make the code robust and flexible enough to absorb future changes in customer requirements.

Code with lots of dependencies violates the "Law of Demeter" or the Hollywood principle. With dependency injection the code becomes loosely coupled and there is an article explaining how test automation is connected with this at http://technologyandleadership.com/is-your-code-fit-for-testing/

Regards, Aruna

share|improve this answer
2  
+1 for code reviews / testability awareness! –  Ethel Evans May 20 '11 at 19:08

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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