Likelihood to Recommend It is best suited for implementing the automated test cases in a human readable form so it's easy for non-technical members of the team and stakeholders to understand the test cases, features and the functionalities of the application. Automation of Integration tests and End to End tests are good use case. It is less appropriate or situations where the focus is only on the writing and maintenance of unit tests.
Read full review Best suited to smaller unit test or tests broken up, couple of forms at a time Not suited - larger regressions test involving multiple systems. - my main regression involving payments has been unsuccessful for the last 3 years despite all working fine separately and while being watched
Read full review Pros Versatility to be used in combination with different kinds of automated testing like automated performance testing, API testing, UI testing etc. I use JavaScript, Selenium, C#, email testing libraries, database testing libraries in combination with BDD with SpecFlow. I am able to use all these with SpecFlow to make my automation framework to be able to automate any kind of automated testing. It provides different widely used runner options like NUnit, XUnit etc. Before I started to work on establishing proper test automation in my workplace, the previous automation framework (non-BDD based) as well as unit tests used NUnit runner. The transition to using BDD was smooth because we could use the same runner and there were no compatibility issues. The auto-complete feature is good. I use it with Visual Studio as well as Rider and I don't have to recall the entire Gherkin statements. I just type a few words and the entire Gherkin statement implemented in framework is auto-suggested by SpecFlow. It saves time and context switching. Read full review Identifying UI objects and application structure Expandability of tests through scripts and script extensions/plugins low barrier of entry (you can get started quickly, and other's don't need much explanation to contribute on a basic level) Possibility of Jira integration for reporting Relatively few (and usually easy to solve) git conflicts when working simultaneously easy handling of test data, also for iterative tests Read full review Cons SpecFlow does not accepts optional input variables in the methods defined during Gherkin statement implementation. Cucumber supports optional input variables in the methods defined during Gherkin statement implementation. The tests identified while using SpecFlow with NUnit removes all white spaces in the scenario names. It makes the tests less readable. If the white spaces are not auto-removed, it would be much better for readability as well as their actual identification in the repository. Read full review TestComplete could stand to have a simplified view for different types of users. For instance, as a manager/architecture guy, I'm not so interested in getting into the code and am more interested in file-based interactions. TestComplete could use more integration with reporting for things like TeamCity to improve test status visibility. Read full review Likelihood to Renew We have bigger test automation pack using test complete at the same time we also think this is not good performing tool for large number of test automation scripts.
Read full review Usability It is usable when you become accustomed to its quirks. Not using it for two months and then you need to re-learn the quirks for some features (but some quirks are so awful that they will never fade from your memory). So, when using it regularly, it is possible to be quite productive, if no big correction in name mapping is needed.
Read full review Support Rating Some bugs were quickly resolved, but most UX quirks of the tool are just marked "as designed". No follow up for enhancement request.
Read full review Implementation Rating If you develop a mobile application and your testing process goes in cloud, probably you will face a problem - how to implement a stable connection between your mobile devices and testing servers
Read full review Alternatives Considered SpecFlow is .Net based which supports C#. Behave is Python based. Cucumber is Java based.
Ghost Inspector is no-code based but provides very limited testing features. We wanted to implement BDD so we rued out using
Ghost Inspector . Most of the developers in my team are C# experts so it was decided for everyone's comfort to go for SpecFlow rather than Behave or Cucumber. It's import to have technical experts in the language of the automation framework because there are many situations where the solutions to the test automation needs are not straightforward and implementing those requires expertise in the related programming language.
Read full review TestComplete stacks up against them in terms of GUI and seamless performance. It records each and every step and action been performed in the application and produces a detailed report in a well-structured manner. It can connect and access seamlessly among various databases directly to speed up the testing process.
Read full review Return on Investment Everyone stays on the same page regarding the behavior of existing functionalities whether it be technical or non-technical individuals. So there is less need for multiple people to get involved which saves time and thus money. Reusing the same code through the implemented Gherkin statement saves test automation time and thus reduces cost. We combine SpecFlow with other opensource testing technologies to make our automation framework more versatile which further saves costs for us. Read full review Saves hundreds of man-hours with either QA testing or data entry With the small cost of the product, it has saved the company money with both employee costs as well as the cost of mistakes made by human error or software bugs Read full review ScreenShots