Software Design Engineer in Test
What is an SDE/T? Lately, product companies like Microsoft, Google et al are coming up with this designation - Software Design Engineer in Test.
An old time tester must wonder- Why do you need a Software Design Engineer in Testing? Shouldn't it be as easy a job of giving inputs and comparing outputs? OK- let us advance it - have a test framework (again - made by developers) and do this automatically?
Software systems are becoming bigger every day - both in terms of their complexity and the data they operate on. Gone are the times when 2 GB HDD seemed big. Let's take an example of Fidelity.com - millions of people access it every day and billions of transactions happen. All of them should be atomic, minimum delay time, should be persistent (for years to come) and so on. Do you believe just testing inputs and outputs will work here?
This was an exterme example -
Let us talk about Google - you want to test strings given as inputs in the search bar and then compare results upto 10000th level. Would a normal input/output function work?
Let us consider a product division in Microsoft - Windows group - and more specifically the OS deployment group. The quality goals of this group will be simple - create a Windows image which is easily deployable across any hardware, should be reliable (setup shouldn't fail), should be able to upgrade from lower OS version, should be fast etc etc etc. No input/output or regular QA strategy will work.
You need specialized domain knowledge on how these setups would be tested each and every day and with every new build coming out due to code changes made by Windows developers.
Essentially, you would need architect level test folks who could design the test laboratories and testing infrastructure that these upgrades, set up tests, component installation tests could happen automatically - every day. You would need Software design engineers to design these automated tests that test each functionality and every scenario in a secure, fast and reliable way.
More product companies are having Software testing to be as big and influencial a stream as development is. Companies are investing more and more money into testing because they know they cant live without it. They need quality people who are as good as the developers - actually who are developers.
I believe the only difference left between Software Engineers and Software Design Engineer in Test is that Test code doesnt ship. The complexity remains the same. That's how I define SDE/Ts - design engineers - just that they are in the test stream.