This page contains posts by Jayme related to influencing and controlling the quality of software development at a company. Quality assurance comprises a wide variety of activities.
In many companies that deliver software, a separate team responsible for the quality of deliverables manually performs tests to ensure that the software works properly. This is a costly approach that increases the time between releases of software delivered to customers quite dramatically.
In some other companies, tests are created using technology that can be run any time a new release of the software is ready for inspection. This requires a different set of skills than “manual” testers have, and can often be done by the software developers themselves. When creating automated tests as a specification for how the software should work BEFORE building the actual change – this practice is known as Test-Driven Development.
Finally, companies may have specific quality guidelines that cover a variety of checks and balances that must be met before a release is suitable. These can be agreed upon percentages of the code that must be covered by testing, performance requirements that the software must meet, security standards, or anything else deemed important to the overall quality of the product.