< Back

Frequently Asked Questions 16


Posted by Lawrence Sinclair on 20 Nov 2009 at 23:14

 Testing & QA

How do you test your applications? What QA processes do you have? How do you handle issues discovered during user acceptance testing? Are these fixed promptly at no additional cost?

Testing drives our development process. We follow rigorous Test Driven Development (TDD) methodologies. Before we write code for any feature, developers first implement tests, then they write code to make their tests pass. Both tests and code are constantly refactored during development. Typically for each 1000 lines of code there will be a 1000 lines of associated tests. A wide range of tests are created during development, including tests of user interface functionality using Selenium. Tests are run continuously throughout the day as part of the development process. Writing the tests first helps us better understand how to write strong code. All testing is done by the developers who test the code. 

User (client) acceptance testing is a continuous part of our development process.  After each feature in a project has been implemented, it is submitted through Pivotal Tracker to the business/product manager at our client. The client reviews the live, working feature and determines if it meets the original business requirements and either accepts or rejects the feature. If it is rejected, feedback is provided and the feature is returned to the development queue to be restarted. This feedback loop is a natural part of the development communication process and not a sign of gross incompetence that should not be billed. Both parties work to confirm agreement and ensure what was "meant" is implemented, even when that is not what was "said" or "understood". This process is fully billable.


Leave a comment