10

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?

2
  • I think this whole question depends on the context of the organization. Many companies might not even use these titles. Then what? Commented Sep 26, 2013 at 19:05
  • 1
    …then the people from such organizations may not answer on this question. Commented Sep 29, 2013 at 16:52

2 Answers 2

19

1) 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..

2
  • I'd vote this up further if I could - it covers everything I could think of to answer the question
    – Kate Paulk
    Commented Jul 12, 2013 at 16:36
  • Glad I could help. Commented Jul 13, 2013 at 6:36
12

I agree with Bruce in general; however,

1) Are there differences between a STAE/STE and SDET role? Maybe...it depends on the company. Some companies to not differentiate roles based on title. For example, at Microsoft we used to have both STE and SDET roles and titles. When I started in '94 only people whose primary job was to build and maintain test infrastructure were called SDETs (because even STEs were expected to be at least somewhat proficient in coding...even the career profiles stated that STEs were expected to be able to debug code). Today all testers at Microsoft have a title of SDET and are expected to be proficient in at least 1 programming language.

When you are looking at roles at different companies look at the job descriptions. If there are different titled roles, then I recommend that the company does differentiate the roles and have clear career paths for each role.

2) Should SDETs perform manual testing? Absolutely! Every tester (regardless of what their "official title" is performs manual tests. I run a team that focuses on testing the underlying APIs in Windows Phone, so my team spends a lot of time writing automated tests. However, we also spend a lot of time doing exploratory testing because ultimately we need to understand how the functionality manifests itself to the customer and because we want to produce a great product we think our customers would like.

3) Are they responsible on finding issues in the product or they just responsible to create and maintain the test automation code? As Bruce indicated all testers are responsible for finding issues/bugs. In fact, anyone on the product development team is responsible for finding bugs. Even developers write unit tests that find bugs. In companies such as Microsoft that don't differentiate between the roles all testers are required to be capable of creating and maintain test automation code. Again, this may vary in some companies that differentiate between the roles.

4) Do STAE and SDET require application domain knowledge or they just have to automate manual testing scenarios provided from different people? To be a proficient tester (regardless of title) requires some amount of application domain knowledge. If a person doesn't have an understanding of the domain they are probably spending a lot of time guessing (or "trying stuff out") and may completely overlook critical tests.

5) Does the STAE and SDET job is only writing automated verifications? No. Bruce provided a great answer.

For background on the STE/SDET at Microsoft see my post here and a general discussion about tester roles see Alan Page's post here

1
  • 2
    Excellent answer. And as always "it depends on the company" whenever you are discussing job titles and roles. "software test engineer", "test automation engineer", and "software developer in test" mean what each individual company says they mean, nothing more. Commented Jul 14, 2013 at 11:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.