We have just released SpecSync for Azure DevOps v3.4.15 and SpecSync for Jira v1.3.2. This update includes support for Reqnroll (SpecFlow fork) and a few authentication improvements. But it is worth highlighting that since our last announcement we have also added .NET 8.0 support. You can find the full change log in the SpecSync for Azure DevOps and the SpecSync for Jira documentation.
Azure DevOps: Test result overview from the Test Case details page
But before going into the details of the improvements, let’s start with an exciting improvement in Azure DevOps that improves the traceability of requirements and test cases a lot.
Although I could not find it in the release notes, I noticed that the Test Case screen of Azure DevOps screen has been improved recently. You will see a few smaller changes, but for SpecSync users probably the most important is that a new tab “Test Results” has been introduced. This tab contains the latest test results of the test case in the test plans and test suites where it is included. If you use different Test Configurations, like we do, you can even see the latest results per test configuration. The picture below is from the SpecSync project itself, where you can see that one of our most important scenario (“A new scenario is linked to a new Test Case”) is passing on all supported Azure DevOps versions and also on Jira.
The improvement is currently only available for the cloud service of Azure DevOps, but hopefully it will be included in the next update of the Azure DevOps Server as well.
Support for Reqnroll
If you use SpecFlow, you might have noticed that the project activity has been suspended by Tricentis and there has not been any new public release since May 2022. If you have invested time & effort into a testing solution based on SpecFlow, this might sound worrying. It was worrying for me as well, so being the original creator of the SpecFlow project I tried to convince Tricentis to find a solution for the problem. Unfortunately I failed with that so in January 2024 I decided to fork and reboot the SpecFlow project under a new name: Reqnroll. You can check the announcement post for further details about the decision. The announcement was just a month ago, but the community has waken up very quickly, so you can see an incredible activity on the GitHub project of Reqnroll. I am very thankful for everyone supporting this project.
SpecSync is now also fully supporting Reqnroll projects with the latest update.
If you currently use SpecFlow, you can consider migrating to Reqnroll. This will be required once your project targets .NET 8.0 as SpecFlow does not fully support that platform. There is a migration guide that contains only a few simple steps. We have already migrated all SpecSync internal testing solutions from SpecFlow to Reqnroll and it works fine.
If you have questions or need help, you can now also use your SpecSync support contract and online consultancy for Reqnroll related topics as well.
Authentication improvements
Azure DevOps has introduced a few new authentication model to make API access more secure. For SpecSync, the most relevant is the Service Principal authentication that allows you to create application-specific (in our case SpecSync specific) access control and provide authentication credentials with client secrets or certificates. With the new update, the Service Principal authentication is also supported by SpecSync. You can read more about the SpecSync support of the Service Principal authentication in the SpecSync documentation.
Also there are some smaller improvements for the authentication. You can now explicitly select the authentication method. By default SpecSync detects if you use a Personal Access Token (PAT) or user name & password authentication, but now you can force the selected method or configure other methods, like Service Principal.
In order to increase security, SpecSync provided an option to use environment variables in user name & password settings using the “%VAR_NAME%” format. Entering “%” causes problems in some shells, so we have extended the support for environment variables using the “{env:VAR_NAME}” format that was already available in other SpecSync settings as well. From this version on, we recommend using the new format, but the old format is also available, so the improvement will not break your existing settings.
Have you got an idea?
SpecSync has been growing out of the needs of the customers and we keep focusing on these needs with the improvements. So if you have an idea how SpecSync could do a better job or a feedback about any of the existing features, please let us know.
Happy synching!