While It’s Compiling is a series of interviews with experts across a range of bleeding-edge technologies and practices, exclusive to Skills Matter. Be sure to subscribe to this blog for future interviews, or follow us on Twitter.
Find out who we’ll be interviewing next, and get a chance to put your questions forward with the hashtag #whileitscompiling.
This weeks interview is with Gaspar Nagy, who is speaking at CukeUp! 2014 tomorrow. Tickets are extremely limited, but you can check availability and book here.
1. CukeUp! is taking place for the 4th time in 2014 – what importance does it have for the community?
I think the conference provides a lot to the Cucumber community, as it is the yearly meet up of users and contributors for Cucumber on all different platforms. It’s the place to be for getting the latest news about the Cuke ecosystem, straight from the horse’s mouth.
I’m excited for this year because I’m going to introduce the new SpecFlow logo, which will better show its affiliation with the Cucumber tool family. SpecFlow has picked-up a lot of traction since its birth in 2009: we have now over 60.000 installations and 16.000 users, who are using SpecFlow regularly and provide a significant share in the Cucumber community.
The other announcement that I’m involved with this year is the Gherkin3 project, where I’ve implemented the parser generator (berp) that will allow to create much faster parsers on the different platforms. The new parser generator will also simplify adding new dialects and variants to all Cucumber tools using Gherkin3.
The event is also a good meet up for the whole BDD community, as Cucumber is also the only BDD tool I know of with a yearly conference.
2. What topic are you presenting at CukeUp! this year?
Recently we’ve had several projects with a lot of financial or engineering calculations, and we’ve been struggling with transferring the knowledge and examples between Excel (used by the customer) and Gherkin feature files. Therefore we’ve created a tool for SpecFlow and Cucumber that automates Gherkin example scenarios described in Excel. In my talk, I’ll show a few examples (with SpecFlow and also with Cucumber) and how this approach supported our collaboration in these complex business domains.
3. What attracted you to BDD?
BDD was a kind of missing link for me. I was looking for a method that helps to integrate functional testing, especially automated functional testing, into the development process. I realized that even with the best intentions, test methods tend to get obscure easily, and if one of them turns red after 6 months, you’ve no chance to figure out quickly whether the problem is in the test (the requirements) or in the application. So I’ve started to discover ways for describing these tests in a higher abstraction level that finally led me to Cucumber, Gherkin and BDD. This ended up in creating SpecFlow, the Cucumber variant for .NET, which became much more popular than I’ve ever thought.
4. What projects are you currently working on?
I’m doing a lot of coaching for development teams, which is very important for me, as it gives me continuous stimulation for improving the tools and methods I’m affiliated with.
The SpecFlow core is pretty stable, but in the meantime we’ve implemented plenty of ideas around it to get out even more value from BDD. We‘ve built up an ecosystem of tools around SpecFlow, that we’ve now named SpecFlow+.
Automated BDD scenarios are usually integration tests, so environment setup complexity and execution speed are problems that every BDD practitioner has to face sooner or later. As part of SpecFlow+, we offer a test runner tool that can run tests in parallel and takes off the burden for configuration and deployment from the developer’s shoulder. One of my next major goals is to extend this parallel execution capability to multiple machines that can be also hosted in the cloud.
Another topic is web applications testing in .NET, which has an inherited mortgage: ASP.NET, the foundation of almost all .NET web frameworks, is very strongly bound to IIS. Therefore it’s not easily possible to host an instance of a web server for testing. We put together our experience with the test execution infrastructure of SpecFlow+ and this ended up in a powerful web test automation framework. It’s still in alpha testing phase, but I hope to be able to show something from it in the upcoming months.
5. If you had one piece of advice to younger programmers, what would it be?
Forget about F5! (F5 is the keyboard shortcut for the “Start Debugging” command in Visual Studio).
6. What would you like to ask the community?
What causes the biggest pain for you in testing web applications? What do you think about the idea of parallel test execution in the cloud or on idle machines in your office?
7. What other talk/session at this year’s event are you especially looking forward too?
I like the format of CukeUp! with the short sessions in two tracks. It’s easy to grab valuable content from these. Steve Freeman’s talk and the “C# Cookware” talk from Manuel Pais will be surely in my plan, but I’m really looking forward to joining the workshops too!