Difference between Software Test Engineer, Test Automation Engineer and SDET?
Software Test Engineer usualy performs “manual” testing (without spending time on automating and supporting the tests). Usually is responsible to find all (as more as possible) critical bugs in the software. In other words, the Software Test Engineers are responsible to find and provide the information how the software works on different dimensions and should have some domain knowledge to perform appropriate judgment. Software Test Automation Engineer and Software Developer in Test (SDET): 1) Are there a difference between those ones? 2) Should SDETs perform manual testing activities? Test Automation engineer is responsible for writing the automated verification. 3) Are they responsible on finding issues in the product or they just responsible to create and maintain the test automation code? 4) Do STAE and SDET require application domain knowledge or they just have to automate manual testing scenarios provided from different people? 5) Does the STAE and SDET job is only writing automated verifications?
- Are there a difference between those ones? The Australian IT industry still views testing as a job that anyone can perform with minimal technical skills. A quick search on a leading recruitment site has a number of advertisements for Testers with requirements similar to the following: At least 3 years experience in a Tester or Test Analyst role with demonstrated experience in planning and executing functional, systems and regression tests. Excellent written and verbal communications skills will be a must for this role – the right candidates must be able to develop clear and concise test cases and test scripts Some previous experience using Test Director or Quality Center – any exposure to automated test tools (particularly QTP) would be a benefit Experience of various software testing approaches and SQL in oder to extract data for tests. A methodical nature and high levels of attention to detail. (Extra points to those of you who noticed the spelling error in the advertisement = “oder” instead of “order”.) This ad is typical of those here in Australia for testing positions. No programming skills required, no industry specific knowledge, just X number of years in testing, good communication skills and some experience with a particular test tool vendor’s product. What is an SDE/T? An SDE/T is one of the common, technical testing roles at Microsoft. Their testing careers page has the following description: Software Design Engineer in Test Tests and critiques software components and interfaces in more technical depth, writes test programs to assure quality, and develops test tools to increase effectiveness. Generally SDE/T's use the same tools, knowledge and experience, as all the other “developers” on the project. The key difference, however is they have a different focus, and have different goals. However we aren’t any less capable at writing code that the “developers” on the project. Software Test Automation Engineers (STAE's) are more specialised roles that typically is a less technical version of an SDE/T as they focus on automation using off the shelf tools like QTP. So the key difference between a STAE and an SDE/T is that a Automation Engineer normally uses tools, and an SDE/T writes them as he needs to to get the job done. 2) Should SDETs perform manual testing activities? Does the SDE/T perform manual testing, well they CAN, but normally DON"T because they will write tools to do it for them. 3) Are they responsible on finding issues in the product or they just responsible to create and maintain the test automation code? Any tester that is not finding issues, regardless of role is not a tester. They are a tool developer. So yes, they need to find bugs. 4) Do STAE and SDET require application domain knowledge or they just have to automate manual testing scenarios provided from different people? The shouldn't require it as a pre-requsite, but they should be required to develop it as they automate. If they don't then a) they are not testers and b) they won't be effective. 5) Does the STAE and SDET job is only writing automated verifications? No. They need to do everything a tester does, plus build or use testing tools. Their main focus will be on writing automated checks, but they could also be generating test data, building test process tools, test harnesses, performance testing, security testing etc. Some of this answer is based on a blog post I wrote ages ago here..