Quality assurance is much more than testing. It's about making sure the entire customer journey, and all the people who operate a product are committed. 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.
All Content about Quality Assurance
In this interview, Scott Nimrod and I discuss dynamics between consultants and hiring managers, career growth, and the direction of the industry.
A team that learns from software project failure produces better software – when you plan to exploit this ability.
To achieve continuous delivery consider “infrastructure as code” technologies like chef, puppet, ansible, docker and the like.
The more configuration settings your application has, the more important management is so you can release your software properly.
To release software to your customers, you’ll need several development environments. They allow a team to make changes without disrupting customers.