Recently I was reading an article that divided software development/testing people into four camps; Developers, Developer-Testers, Tester-Developers, and Testers. We are all familiar with two of these categories, Developers and Testers. In the traditional sense, Developers develop the code and pass it along to Testers who test it. So, what about the other two categories?
Developer-Testers: This category is best described as Developers who are fervent about testing. They are usually proponents of TDD (Test Driven Development). They understand well the merits of unit testing. They are developers who are proud of their code quality and will invest extra time on creating tests, as they understand the longer term benefits that tests deliver. However, being a developer and under time pressures to deliver their code, they are interested in efficient test creation and test automation.
Tester-Developers: These are your “technical” testers. They understand the basics with programming. They understand testing inside and out, best practises, best approaches etc. They are not afraid to get their hands a dirty on the programming front. However, they have also been very badly served by the tools on the market. I’ve worked with many testers like this, and I’ve seen their best intentions turned into career crushing moves by the tools – even the popular ones.
So, what is the relevance of this, and why am I blogging about it? Because until now, these 4 groups have all been living in a separate world when it came to trying to achieve the same goal. There has been a dividing line drawn by the tools available. Developers and Developer-Testers are interested in Developer tools first and foremost. They don’t have the time nor the interest in learning the quirks of yet another scripting language that has limited overall value outside it’s narrow scope. Testers and Tester-Developers are in the same situation. They want tools that are great for testing applications first and foremost. These team members need a tool that requires a minimal amount of technical knowledge (for non-technical test team members) whilst still being a fully functional and powerful testing tool.
This is where LiquidTest fits in. LiquidTest appeals to all 4 groups. By basing LiquidTest in a popular IDE (Eclipse, with more to follow), LiquidTest’s user interface appeals to Developers immediately. LiquidTest also writes test cases in languages developers are familiar with, such as Java and C#, so there is no need for days spent training. And how does this affect the Tester and the Tester-Developers? LiquidTest has a Record & Replay function that works (most don’t!). The most novice tester can be creating test cases in minutes, whilst the Tester-Developer could also continue to get his hands dirty with the code produced if they feel so inclined. The less technical of the Test team have the option of simplified coding options, such as LiquidTest Script a Groovy derivative. LiquidTest is a unique tool that helps to bridge the gap between the Test and Development teams.