During the software development process, a quality assurance professional participates in the design process to understand how the software will function. S/he then designs, revises and verifies quality standards for the software design. After implementing and designing quality standards, testing procedures are developed to ensure the software runs effectively.
During and after the software has been developed, a quality assurance professional uses software testing tools and programming to test the software for validity of results, accuracy, reliability, and conformance to the established quality standards. This involves monitoring program performance throughout the testing process to improve or modify software until it is operating properly. This entire process is documented to describe software evaluation, testing and corrections. The documentation is presented to software designers, and the quality assurance professional may propose development enhancements to further improve the software.