Quality Assurance
Swipht utilizes a “test-driven development” (TDD) model when using the Drupal CMS. Test-driven development is a technique using automated tests to drive the design of software and force the decoupling of dependencies. Our QA approach was modeled after our years of experience with custom development in Rails and .Net. The result of using this practice is a comprehensive suite of unit tests that can be run at any time to provide feedback.
- Test-driven development forces critical analysis and design because the developer cannot create the production code without truly understanding what the desired result should be and how to test it.
- We can spot design flaws sooner rather than later.
- The suite of unit tests provides constant feedback that each component is still working.
- Testing time will be reduced and therefore we spend the significant majority of time developing new functionality rather than debugging existing code.
- The test suite acts as a regression safety net on bugs: If a bug is found, the developer should create a test to reveal the bug and then modify the production code so that the bug goes away and all other tests still pass. On each successive test run, all previous bug fixes are verified.

