We make use of both Acceptance Testing and UI Testing.
Acceptance Testing
We use SpecFlow to perform BDD style acceptance testing. The AcceptanceTesting solution is where these tests can be found. We are continually adding and improving these tests. Currently these tests cover all the tools as well as using the tools with each other as if a service was manually created and run. This includes testing the debug output that is generated when the tool or service is executed. There is a feature per tool and then the WorkflowExecution feature has tests which uses the tools together, as if they were a composed service. The Security feature which details the permissions that should be returned given a specific security setup. Language Parser feature details what is correct and incorrect Warewolf syntax for variables.
UI Testing
We have implemented CodedUI tests to test various functions of the Studio. We are currently porting our classic CodedUI tests that made use of maps and other CodedUI test elements into SpecFlow UI tests that makes more use of the UIAutomation instead. The SpecFlow UI tests are based on automation id’s and as such can be extended to work with any WPF UI that has automation id’s attached to the UI elements. See CodedUI. Specs project for implementation.