We have just released SpecSync for Azure DevOps v3.2.0 which has been one of the most exciting releases so far. In this email please let me guide you through the most important new features. You can check the complete list of features, improvements and fixes in the Changelog page of our documentation.
Implement decent living documentation with SpecSync: Iteration and step result details
Synchronizing your feature files and scenarios are an important step for implementing traceability in your development process and for being able to present all quality-related artifacts (tests, BDD scenarios, etc.). But in order to achieve full transparency and “living documentation”, it is essential to register test execution results. Since the suite-based test execution feature in Azure DevOps (ADO) is limited to .NET (MsTest) tests, we introduced test result publishing in v2.1 to be able to allow publishing test results of arbitrary BDD frameworks. But until now this has supported SpecFlow results only and the test result details have not been displayed in ADO
The new release improves test result publishing so that you can turn your ADO project into a usable living documentation source.
The results can be published from many test result files and BDD frameworks. SpecSync v3.1 supports SpecFlow with TRX result file or NUnit XML result file, Cucumber Java/JavaScript/Ruby (with JSON result), Cucumber Java with JUnit XML result, Python Behave, PyTest.BDD, Cypress and Cucumber Studio. The list of the supported frameworks keeps growing, but you can also implement support for your own proprietary tool using SpecSync plugins. We are also happy to support you with your test result files.
The test result details are now displayed in the ADO test result page.
- You can browse the iterations of Scenario Outline examples and get feedback about each example.
- The concrete parameters used for the Scenario Outline placeholders are displayed in the iteration comment and also at each step that uses the parameter.
- If the BDD framework and the result file supports it, you can even see the individual step results!
- The files (e.g. screenshot images) created by the test are attached to the test result.
- The standard output of the tests is also attached, so that you can dig deeper into the details.
In order to keep your ADO test result up-to-date, you should integrate the synchronization and the test result publishing SpecSync commands to your build or release pipeline. Please check our guide that describes the step-by-step instructions to achieve this, regardless of whether you use classic or YAML pipelines.
Run SpecSync from any platforms: Support for .NET 5
In v3 we have completely renewed our platform support as from that version on, we natively support .NET Core 3.1, .NET Framework 4.6.2 or newer. We have native binaries for Linux and macOS and also introduced the official SpecSync Docker image that can be used to perform synchronization tasks from any platform that supports (linux-based) Docker containers. (We have a detailed guide about the Docker support in the documentation.)
With SpecSync v3.2 we extended our platform support with .NET 5, the new cross-platform framework of Microsoft .NET. .NET 5 support means that you can perform synchronization tasks on systems that have only .NET 5 installed. If you install SpecSync as a .NET Core tool, the installed .NET SDK will automatically decide whether to run the .NET Core 3.1 or the .NET 5 version of SpecSync, so you have nothing else to do.
Using the .NET 5 version of SpecSync is optional, you can still use all other install options that were available in the previous version.
Support for your custom process with SpecSync: Reset Test Case state customization
There is no unified way of handling software projects. Every company and team has to make their own agreements and strategy how they manage requirements and how they prove (for themselves and for the stakeholders) that they have been fulfilled.
The core features of SpecSync allows you to integrate BDD scenarios and test results to the most of the development processes, including different synchronization format options, managing the state, the area and the iteration fields of the created Test Cases and linking the created Test Cases to other work items, for example bugs or product backlog items.
In order to support special process requirements, SpecSync provides a couple of customizations. You can find customizations that help you to create custom mapping between the scenario tags and the ADO tags, update or initialize custom Test Case fields or publish test results to multiple Test Suites in one run.
In v3.2 we extended the customizations with a few feature called “Reset Test Case state”. Together with the improved Setting Test Case state on change feature, you can support processes where the approved scenarios (scenarios with an @approved tag) can be synchronized in a way that the created Test Case state is set to “Ready”. Since the reset Test Case state customization updates the state as a separate work item update, this works even if the Test Case fields are set read-only in “Ready” state by the ADO project process.
Another improvement you can find in the new version is that you can now link pull requests as well to the synchronized Test Cases.
Check it out live: Webinar – How do we test SpecSync?
We use SpecSync for the development of SpecSync and the features of SpecSync are described as BDD scenarios. We do eat our own dogfood! (And it is tasty!)
I would like to invite you to our webinar on 19th February 2021 at 14:00 GMT where I make a walkthrough on how SpecSync uses SpecSync!
You will get an overview about the testing strategy we use to ensure quality and we show how we support traceability by synchronizing our scenarios and test results to Azure DevOps. You will also see the new features of SpecSync v3.2 and of course you’ll have a chance to ask questions.