The goals of Quality Assurance (QA) are to increase efficiency, make effective decisions, and ensure high quality services are provided to customers. QA requires high levels of interaction and an ability to understand the needs of the multiple people, groups and stakeholders involved in the project. It also requires enforcing the standard process and measurable procedures that are put in place, and providing corrective action or follow up as deemed necessary.
The QA Analyst is involved at every stage of the software development life cycle, from concept inception to completion of the project. They work with project teams to analyze and provide input to both business and software requirements. QA Analysts develop test plans on what to test and how, ranging from high-level test cases covering general processes to detailed test scripts to perform data validation. The QA team publishes test cases for the project team as a quality control checkpoint, and performs gap analysis between the requirement and design implementation to confirm whether development is proceeding according to stated business needs and to ensure project deliverables are met.
QA Analysts perform many varieties of testing, including smoke testing (to validate core functionality), integration testing (testing multiple modules together), system testing (of the entire application), and regression testing (after changes have been made) for each stage of the software development life cycle, logging and tracking any issues they find.
Towards the end of development, QA works with the client's training team to develop quick reference cards and training documentation. They work with the business to develop and execute User Acceptance and Market Acceptance Tests. Through the entire process, Quality Assurance Analysts serve the client to make sure the products developed are according to plan, on time, and of excellent quality.
The Quality Assurance Analysts at TDK Technologies have the skills and experience to quickly adapt to the client's environment and assimilate into the project team. They possess the ability to break down the requirements of the project to define the appropriate tests utilizing both manual and automated testing, depending on the client's requirements and environment .