Robot is a keyword-driven framework available for use with Python, Java, or .NET. It is not just for web-based applications; it can also test products ranging from Android to MongoDB. With numerous APIs available, the Robot Framework can easily be extended and customized depending on your development environment. A keyword-based approach makes the Robot framework more tester-focused than developer-focused, as compared to some of the other products on this list. Robot Framework relies heavily upon the Selenium WebDriver library, but has some significant functionality in addition to this.
We've emphasized the importance of getting everyone involved in automation. Here's how it works in my department. An integral part of each development team, the DevTester writes and executes manual test cases for the team's user stories. The tests are written using a methodology (see connect manual tests with automation using a clear methodology) that clarifies how to automate them later on. Once a feature is stable, the DevTester writes the actual automation tests. Then, there's the Developer. In addition to developing the application, the developer works with the DevTester to review both the test's design and the testing code itself. The developer's involvement in the automated tests increases his or her engagement in the automation efforts, which also means the DevTester can help with test maintenance should the need arise. The QA architect is an experienced QA professional who is instrumental in deciding which feature tests should be automated. This is the person with the higher-level view of the overall testing effort who can understand which test cases will yield the best ROI if automated. With a broader view of the application, the architect is also responsible for cross-feature and cross-team QA activities to make sure that end-to-end testing can also be automated.