Salesforce Lightning is great at a lot of things... It looks modern, the component-oriented model works really nicely, the builder tool is nice.
But, it puts Salesforce developers into a difficult place regarding testing. Most of our code used to be in Apex, and involved manipulating data in the database. We could write unit tests are run them often.
So, without having a massive QA department, how can we make sure that Lightning Apps and Communities work properly?
Crowdsourced testing looks like a real candidate for solving this problem. You write your tests on crowdsourcing platform (e.g. https://www.rainforestqa.com/), and when you press "Run", they send the tests off to a crowd of testers.
- The tests are run by real people on real browsers, so they don't break as easily as something done in Selenium
- They are run by a crowd, so dozens of man-hours of testing can be run fast and in parallel
- They require none of the management overhead of having an off-shore test person
This could massively improve the reliability of Lightning implementations - allowing us to write a set of functional tests; keep a set of regression tests; and run the whole suite before we release an iteration.
And, since Salesforce themselves aren't able to test how their new releases might affect your Lightning components, you can test each new Salesforce release against your existing code before that release hits production.
Crowd testing has been a great success for us. Best of both worlds of test automation and manual testing