Automated Testing Delphi Style

Back in 1994-95 a group of Borland QA engineers built a GUI automation framework based on this idea developed by Ramin Halviatti who was the Delphi QA manager for versions 1, 2 and 3. Nearly 11 years later this test framework is still alive and well despite it’s internal name being “Zombie”. IMO, Zombie is to GUI test automation what VCL is to Windows app development, yes, it’s that cool. You’re probably wondering if it’s that cool then why hasn’t it ever been included in the box? Well, that takes some splaining.

The first problem was that R&D management at the time didn’t have a whole lot of faith in automated testing. Strike one. Next, there is the slight problem that there was no recorder that could be used to record tests and simply play them back. Strike two. Lastly, there was the minor issue that if QA was spending time working on an automated test framework who was actually testing the product? Strike three.

Thus, Zombie languished in QA for years and earlier this year nearly suffered a fatal blow a when Borland acquired Segue. However, it not only managed to survive the acquisition it’s recently been folded into the R&D build tree and has gotten some much needed attention. As I mentioned here we’re now leveraging Zombie right on our R&D build machine and with each checkin a Zombie smoke test is executed covering:

  • Delphi Win32 VCL and Visual Form Inheritance
  • Delphi for .NET VCL.NET, WinForms, ECO WinForm and ASP.NET
  • BCB VCL/Console applications
  • C# WinForms and ASP.NET

So, long story short, you don’t want to mess with a Zombie. Rather apropos it being Friday the 13th with Halloween approaching.

2 thoughts on “Automated Testing Delphi Style

  1. When you say Zombie has been folded into the build tree does that just mean the tests run as part of your build process or that Zombie itself has become a part of the BDS product? Or put more bluntly: Will us mere mortals outside DevCo ever get a chance to use this as well? 😉

  2. Hi Oliver,
    Previously the QA testing tools themselves were in their own repository and with this release of Highlander we’ve pulled them into the BDS repository. The test suites themselves are still in their own repository and are not part of the build process. At present, Zombie has not become part of BDS and therefore isn’t currently planned to be included in Highlander. As for whether or not it will ever be included I certainly hope so but that decision does not fall under my control though I’ll certainly be pushing for it.

Comments are closed.