Home » TDD » The Proper Function of QA

The Proper Function of QA


With all this talk of test driven development, one has to naturally ask, “Where does the QA department fit in?  Do they even have a role in the organization any more?”

Well, the answer to that is, “absolutely but probably not the role they think they have.”

QA People Are Not Programmers

Once again, as I visit organizations, I find that they are trying to use automated testing tools to script their test.  This ends up being a fool’s errand because most QA people are not programmers and to create a script that is actually going to work reliably, that is going to take a programmer.

Jr Programmers Are Not QA People

The other related problem I frequently see is that organizations tend to put junior programmers in the QA department to handle this “trivial programming task” when what they really ought to be doing is placing senior level programmers in the department because they are more likely to be able to predict what could go wrong.  But I digress.

By moving to a test driven development process, you actually end up solving the problem of QA needing programmers because you’ve moved the creation of the scripts away from the QA department and back on to the programming staff where it belongs.

So what is the point of having a QA department if they are no longer going to create test scripts?

The Proper Role of QA

They have the same function they’ve always had.  Their job is to try to break the program.  To find all of the conditions the programmers left out when they wrote the code and to report those problems back to the programming staff where they can write a test for the problem and fix the bug.

This may sound like a job that anyone can do, but remember that once they’ve broken the program they have to document how they broke it in a way they can repeat so that when the problem is reported to the programming staff, the error is easy to find.  This requires an attention to detail that few people have.


Other post in TDD

Related Post

  • Determine The Role of a User in ASP.NETDetermine The Role of a User in ASP.NET There are several controls that allow you to display content based on the role a user is in, including: - LoginView - LoginStatus And the web.config file allows us to control which […]
  • When You Really Need All Of Your NUnit Test In One ClassWhen You Really Need All Of Your NUnit Test In One Class Last week I proposed a structure for unit test that follows the pre-condition, action, post-condition workflow.  Basically what you would see in a Use Case document. The result of […]
  • TDD Saves Time – A StoryTDD Saves Time – A Story I recently had an experience writing code that proved to me, once again, that using Test Driven Development really is faster than the way I have been working.You will remember a couple […]
  • Excuses For Not TestingExcuses For Not Testing As I started my own journey into unit testing, I slowly began to realize that it was really easy to come up with reasons to NOT test my code as I was writing it, even once I understood […]
  • TDD Isn’t All About TestingTDD Isn’t All About Testing While the artifact of Test Driven Development is test code, what you get out of test driven development far exceeds the test themselves.  Maintainable Code By writing test first, […]

About Dave Bush

Dave Bush is a Full Stack ASP.NET developer focusing on ASP.NET, C#, Node.js, JavaScript, HTML, CSS, BootStrap, and Angular.JS.Does your team need additional help in any of the above? Contact Dave today.

One Pingback/Trackback