Friday, August 26, 2016

Best complete testing suites available online


In Testers toolbox - an alternative guide post I listed various sites which you may use for testing skills improvement. Today I'd like to show you something totally different - complete end-to-end testing suites which are open sourced and freely available for study/fork/reference. They may not be easy to understand at the beginning, but once you delve deeper you will notice how they take advantage of various frameworks. Reserve yourself some free time and try to investigate them fully - don't get discouraged at first obstacle. Imagine today is the first day of your new job and you want to run them locally.

Word of warning at the beginning: number of tests isn't too big. Probably that's because those companies follow test pyramid pattern (ThoughtWorks example below). You should follow it too. E2E test may be cool, but they always require maintenance. No exceptions from that rule I'm afraid.


1. Wikia 


Classic Java project with Gradle build tool. Updating almost in daily manner. Must see for everyone writing in Java.

2. WordPress


Awesome JavaScript testing suite announced in may. Nodejs and Calypso (Mocha) are used here. There is also support for various resolutions and test notifications on Slack (with screenshot). Fantastic overall. Interesting quote explaining why tests were open sourced:
The quality of our code and our product depend on the amount of feedback we get and on the amount of people who use them. If we’re developing behind closed doors, we are putting artificial limits to both.
Matt Mullenweg, CEO Automattic

3. NASA


E2E Protractor tests written by NASA. Interesting usage of static waits. Perhaps I was wrong in my post? What do you think?

4. Jenkins


Acceptance Tests for Jenkins. Interesting mix of Java tests using JUnit or Cucumber and Groovy tests using Geb/Spock.

5. Mozilla - Moztrap & Socorro


Probably the most famous open source advocate - Mozilla with two Python open source projects using pytest.

6. Optimizely (Mobile)


End to End black-box tests for the Mobile iOS and Android SDKs written in JavaScript. Test are prepared to run on Appium server.


Did I miss something? Please let me know in the comments :)