Test Automation Frameworks
Test Automation Frameworks
In order for us to discuss test framework and test automation frameworks we need to first define what a framework is. A test automation framework is the environment that automation tests are built in. For example a framework could be Selenium WebDriver Java-based using IntelliJ. This framework could be testing a Node.js website, and uses Jenkins for the CI, with SauceLabs as the cloud based testing systems that RemoteWebDriver uses to execute tests. Now there are many more parts to this but basically this is a description of a framework. Some groups my use SitePrism, with Capybara, Selenium WebDriver on a Ruby-based script. Describing your environment and what tools and techniques you are using is your testing framework. Now that said there are almost countless options for a test automation framework/environment. If you are looking to have a resume builder in today’s market for late 2016 you simply add JavaScript, Clojure, and Selenium to your resume and BAM! You will start getting calls left and right. Please take note I am in the Phoenix, AZ area so my view of the market is from a certain perspective and this will differ depending on where you are in the country.
In order to build out the right environment one must take a number of things into consideration. In our case the Phoenix market is currently very low on QA resources. There are far more jobs available then there are people able to fill them. As such I am now starting to see 100% remote resourcing starting to take hold. This can be good but there may be something lost to the distributed teams dynamic. In either case having Github oversee your version control, with a solid IDE, and a good CI builder will get any software group started in the right direction.
As an automation engineer the next thing is your environment. Are you working on desktop applications, web apps, or mobile apps? Obviously Selenium is not a good choice if you are focused on a desktop application, or in the case where you are using only mobile applications then you may want to look at Appium (a Selenium based interpreter for mobile apps).
From this point you will need to look at your existing resources. So if you have mainly Java Developers and your budget is low I would suggest Selenium with a Java-based style, and wrapped with TestNG for annotations. However in the case where you have Ruby developers and JavaScript front end, you may want to use Capybara with SitePrism on Selenium for test automation. Almost all CI tools work with these other tools. If you are a Microsoft shop and you love your Team Foundation Server with Visual Studio and Telerik then you have an advantage where you have support and a complete eco-system for development, test, and ops. You will inherently have DevOps with QA/Testing integrated. In the open source world management has seen the short term benefits of no upfront cost to tool purchase with Java and Clojure type of platforms. Of course, over time these can be difficult to maintain with turnover. Too many cooks in the kitchen if you will.
In the end it's a good idea to surround yourself with smart people, similarly minded, and passionate about what they are doing. With those things the Framework will work itself out. Make no mistake there will be hurdles and bumps along the way, but if it was perfect then we would have no new software tools.
Entrepreneur, President and Contract QA Consultant
8 年... for Open Source environments only,