Coding “IN” quality

Recently i was talking to my fiancé (another prolific tester) on her drive down to her office. The topic of conversation being the bad quality of development at her workplace. So these are a few thought that came outta it and we decided to jot it down :-)

There are many “maturity levels” that a development practice undergoes. Here is a skeletal framework of that:

Skeletal Development ( Writing & Compiling code)

This is the sort of code that should ideally be seen written by new grads from college or out of High School. Where a snippet of code is deemed to have the pinnacles of quality if it just compiles right without any errors. This is the first stage to being a good developer. Unfortunately this is a “coding standard” that i have found among a vast number of “experienced” developers in the so-called CMMi (deprecated IT standard) level 5 companies in India. This is best described as the infancy of a hacker.

Unit testing

This is when you take that first baby step towards QA. (Yes and we thought that is the height of Software Testing expected of a developer right??? Loooooong way to go…….. ) The practice is pretty prevalent now that the heading is self explanatory. Your write code and you write some unit test cases and then you execute them.

This is where the real game starts ( big boys are found here)…… This is where your code is not just Unit tested but it adheres to the defined for the programming language used. This is important because one of the aspects of Quality code is not just that it performs well and correctly…. but also that it is highly maintainable.

The relevance of this derived from the fact that 70% of the IT world out there are involved not in developing fresh code but in maintenance and enhancement of legacy code. So lack of standards in legacy code makes them un-interpretable and the enhancement code tends to be more buggy.

This is the stage of coding that is often left untouched. This stage comes into picture where your code has been developed, reviewed. Once the review is complete, the developer and reviewer has a sit-in to refactor the code. Now for those developers who are going “Huhh, whats refactoring” check out the following link below:

http://en.wikipedia.org/wiki/Refactoring

“halleluia to agile community for driving this practice…….” :-)

Preemptive Functional testing

Preemptive functional testing is once of the final qualities of a legend class developer. Where he does all the above mentioned stuff and then sits down to do a bit of functional QA himself. He executes “black box” grade critical test cases and ensures that they pass.

The outcome of adopting the above standards are:

  1. Your build “will never break”
  2. Your QA will tear out the hair trying to find a bug
  3. A rookie out of college testing you app will come out with zero defects.
  4. Testing has to reach a new height to beat your code.
  5. A legend class developer is born.

For all those testers reading this send this to your developer friends out there……..

If you enjoyed this post, make sure you subscribe to my RSS feed!

Related posts

Stumble it!

0 comments ↓

There are no comments yet...Kick things off by filling out the form below.

Leave a Comment

*
To prove you're a person (not a spam script), type the security word shown in the picture.
Anti-Spam Image