April 2, 2015
Selenium is a widely used open source tool used for software testing. In this article, Brian Van Stone provides some best practices on how to successfully leverage Selenium for broader test coverage, produce re-usable code, and write more efficient and effective test cases.
In the software testing services business, we have encountered many challenges throughout the years in regards to best practices in software testing approaches. This is especially true when utilizing test automation tools like Selenium, which are free and open-sourced, and therefore may not have the most comprehensive, straightforward “Bible” of documentation. Like we mentioned in our last post , there is usually never a “one-size-fits-all” approach; you have to understand your organization’s needs, and evaluate the best methods for your requirements. This is why we never provide an off-the-shelf software testing service; we always perform significant research to best understand our client’s individual organizational and industry needs to provide the best services and tools.
With that being said, there are always basic guidelines that can be established for tools. In fact, Software Testing Magazine approached QualiTest to get our thoughts on best practices in Selenium. Brian Van Stone, a test automation developer and automation framework architect at QualiTest, provided them with the article Considerations for Best Practices with Selenium, which was published in this month’s release. The article covered the following points:
Consider Organizational Standards – Ensure that Selenium is the right tool for your organization’s requirements. This involves evaluation of the feasibility of Selenium’s features, current resource capabilities and technology changes.
Construct a Framework – Always construct a framework for your test cases! This includes authoring a script for every test. A solid framework will ensure that tests that are more stable, faster to develop, more consistent, more readable, and more change tolerant.
Create Code Standards – Maintain standards surrounding code quality, adhere to already existent naming and documentation conventions, and produce reusable code.
Externalize Configuration – Attempt to make test automation self-aware, expose configurable values whenever possible, apply naming conventions and other standards, and always remember that hard coding is easy coding.
Implement Logging and Reporting – The lack of logging and reporting is perhaps regarded as the largest disadvantage of Selenium, but test automation is nearly useless without test results. Through logs and reports, we can determine the pass or failure status of tests, assess test coverage, analyze failures, debug automation scripts, collect debug information to file with a bug report, make screen captures accessible, and so much more.
To read the whole article and learn more about some best practices for consideration in Selenium, check it out here. Happy coding!