At Arxxus, our consultants drive quality at all stages. We are constantly on the lookout for better ways to do things. We look for solutions of elegance that are Faster, Higher, Stronger. Our project delivery engines support this drive for quality by providing constant and reinforcing feedback from experiences in delivering enterprise software.
Our core delivery methodology rests on being relevant to customer needs, being accurate in problem identification and resolution and finally, in being consistent and regular in customer engagement.
Where possible we drive Test Driven Development (TDD) at all levels. This approach validates the build at all times, ensuring correctness of the solution at a fine-grained level.
From a unit testing perspective, TDD relies on the philosophy that tests should be created before code is written:
If you write a block of code that you think will be difficult to test STOP AND REFACTOR to reduce that block to smaller testable blocks. The same principle of validation applies to requirements analysis, where User Acceptance Test Cases can be used to validate the requirements.
Smaller code blocks, i.e. smaller classes and smaller methods are, as a rule, easier to test than larger ones. Also, following the Single Responsibility Principle while designing code eases testing since the code block then has exactly one reason to change, thereby reducing the number of tests required to ensure its correctness.
Some general guidelines for writing easily testable code: