Quality Assurance starts with a solid understanding of the requirements. Our Business Analysts working with the functional users generally develop functional test cases. In the Agile environment, these tests are often automated are executed with every build. Each incremental user story that is developed has a test component tied to it and tracked through SDLC. Teams can group test cases together into categories (unit tests, core product tests and supporting functionality tests) and set up a testing schedule to address problems with code in a regulated way. Doing so involves running unit tests first, then core product tests, with supporting functionality tests coming last in the process.
Our goal is to have automated test suites available for all applications deployed into production in Engineering, Manufacturing, Services and Finance for our projects. We focus on functional testing so that the entire application is tested as opposed to testing at the unit level. All changes involve enhancements, patches, configuration changes, bug fixes and more are tested. Automated testing is a key part of the software development process because it allows for extensive, repeated and automated testing of the entire software package. This is a critical component of the Software Development Life Cycle (SDLC) where the end result is improving application uptime and availability while maintaining application output quality.
Adherence to the process ensures the correctness of the program as well as tracking the quality of the output. It ensures that the revised application / environment produces the same results as the base cases proper problem identification, optimal solution design and development and ensures that testing validates that the solution meets the need of the end users.