How do we build & test Alteryx? Thanks to Linda, we have a nice script that runs the Alteryx build every night, but building it is not enough. We have a great Core Development Team here at SRC that I am proud to be a part of, but we're still human and we still make mistakes. Generally the thing to do is to have a test that runs every time a build is done (which is every night) that verifies that what is built actually works. There are lots of tools out there for help developers with testing their software in an automated way, but they generally involve either custom code or very fragile GUI scripting.
We decided to go a different way. We use Alteryx to test itself. Every single tool in the toolbox has a macro that knows how to test all the functionality of that tool. Generally they use the test tool to verify results are coming out as expected, although we have other techniques for verifying that errors happen and such. We then have several aggregated tests that bring all the macros together into a single module that we can run. It is not too uncommon to wake up to an email saying that last night's build broke the regression test. This really enhances our productivity, because the changes we made are still fresh in our mind.
Here is a screenshot of the main regression test module:
![](http://community.alteryx.com/legacyfs/online/images/regressiong-testing.png)