Quality Assurance Test Engineer
Job Title: Quality Assurance Test Engineer
Type of Company: I work for a Charitable organization that enables people to donate money and then easily send the money to their specific charities. (donor endowed fund).
Education: BS in Computer Science, University of Illinois
Previous Experience: My career began as a computer programmer. I have worked in all aspects of computer projects, including programming, testing, design, business analysis and management.
Job Tasks: My job is to test web sites to ensure that they work properly before customers use them.
The main responsibilities are:
- understanding the new functionality (features) to be delivered (new page on site)
- writing test cases that will:
- verify functions work correctly
- verify that invalid entry receives nice error messages
- verify that customer cannot break the functionality (receive nasty message or shut down the browser)
- execute all the tests, reporting any functionality that does not meet the original documentation. Also review work flows to ensure that they make sense and will not confuse the customers.
- when the issues are resolved - retest and ensure no new issues are discovered.
- after the functionality moves to production (where customers can use the functionality) verify that functionality continues to work the same as it did in the testing environment.
Best and Worst Parts of the Job: The best: Learning new business processes and helping to test. The satisfaction in knowing that the customers will be able to confidently use the web site is wonderful.
The challenge: Designing test coverage in an efficient manner - this is a puzzle that needs to be solved for every piece of new functionality. There are always more tests than there is time to execute the tests, so we are always looking at the following factors to determine the best use of time and resources.
-criticality of tests
-what order of testing makes the most sense, what tests can be dropped?
Because of this, the job is not boring, but challenging.
1. It may seem that testing is a solitary job. However, you are constantly meeting with people - to learn the functions, to ask questions, to resolve issues. Communication skills (both verbal and written) are critical to the success of any software tester. Learn how to improve these skills - tactfulness is essential.
2. To be a good tester, you need to modify your thinking to:
- pretend you are your grandmother or grandfather - how would they react to an odd situation on a web site?
- pretend you are a computer geek - what you they do to get around the security measures in place on a web site?
- what will be the most used flow of the functionality - does it work easily?
- what are the other flows - what roadblocks exist that will frustrate a user?
3. Project management is also critical - learn how to set up a timeline, attempt to stay on the timeline. You will also need to learn how to react to problems, be flexible and learn how to prioritize.