In software testing you have many key essentials, testing is done to verify and validate that a software application or program meets the business and technical requirements that guided its design and development. By software testing you are able to identify important defects, flaws, and/or errors that must be fixed in order to run the application. Defects must be categorized because the way the application is operating and certain types of defects may cause you to stop software testing immediately due to improper functionality of a program. When you are verifying this software testing ensures that the program meets all technical specifications and when validating you are making sure that the programs meets the business requirements. Defects are found and they are to be categorized as a variance because it is the difference between the actual and the expected performance of the software. Software testing is very important because it gives answers that coding will not hinder because you are actually running a program to figure out if it test out as if it was in production. When software testing you are able to figure out is the program working as suspected, does it meet the users’ requirements, is it what users expect, do they like it, the compatibility to the other programs, does it need more work, and is it ready for release. The answers to these questions can be of great help it saves us time and money by identifying early defects in which tester’s get out to software developers that go in and fix these defects can provide better customer service by building a better application. Identifying areas in which software testers need training is very important as this to goes hand in hand with saving time and money because the shorter time it takes to develop this application could mean more testing to ensure a more efficient application. There are key roles that are given out in the software testing process and first off there must be a business sponsor and partners to provide the funding, specific deliverables and requirements, and also approve changes and some test results. The next in line is the project manager which provides a strategic plan on how the processes will be followed in order to ensure that the proper work is getting done on time. The software developers design codes and build the applications they are there throughout the entire process because these are the individuals that go back in to fix defects and bugs so that the testers can run the application until all the fixes are completed. Test coordinators then come in and create test plans based off of requirements from both technical and functional documents. The software testers are the final and last piece to the matrix, but the most important because they are left to execute test and document the results any negative results will be forwarded back to software developers for a fix and pushed back out for more testing until it is passed to be set up for release. In conclusion the processes we go through in software testing are to ensure that we have satisfied all needs of the applications and customers.