Functional testing is the automation of web app testing across several platforms or browsers. In the past, functional testing was less common due to long development cycles and the lack of multiple browser options. It was done primarily in-house via proprietary software like Rational or QuickTestPro.
Today, there are four trends converging to radically change how organizations test web applications:
- Continuous integration – An increased emphasis on performance of the software through the end customer’s perspective is leading agile development. Gartner predicts that by 2012 agile development methodologies will be used by 80 percent of all software development projects. Teams are shifting away from rigid quality control to quality that is demonstrable to the end user. With this shift, comes a need for quick, simple and automated testing tools.
- Open source – Open source tools, like Selenium, are viable for functional testing. Today’s development environment has dramatically changed and a lot more people are contributing than ever before. The major advantages of open-source are speed, time to market, time to value, and the ability to reach and grow a developer and user community. In fact, Gartner predicts that by 2012, 80 percent of all commercial software will include elements of open source technology.
- Cloud computing – Testing in the cloud is an affordable and scalable alternative to testing behind a firewall. It is expensive and time consuming to maintain on site test infrastructures that cover a vast number of browsers (and versions) of operating systems in several languages. The increase in the adoption of cloud computing creates an opportunity to leverage the space for functional testing. We believe the life cycle for cloud-based applications will look different in the future. New solutions that are cloud based will support cloud-base applications.
- Mobility – Websites need to support multiple browsers such as Internet Explorer, Firefox, Chrome, Rockmelt, Opera on various platforms including Windows and Mac. Smartphones only add to this “Browser War 2.0” battle with the plethora of mobile operating systems. These various environments make the infrastructure required more complex and the need for functional testing more relevant that ever before.
Are there other trends beyond continuous integration, mobility, open source and the cloud that will change how organizations test their web applications?
Related posts:
Continuous Try Server Integration
Continuous Deployment—the video

For agile projects, I think you can add BDD or ATDD as trends to the list. The ‘outside-in’ approach that these two processes promote work really well when you have a testing tool, such as Selenium or WebDriver, that can be ‘driven’ by a BDD framework. I blogged about how we do this as part of our agile dev process: http://bit.ly/asSAwM to make our Selenium-based tests much more understandable and maintainable.
Successful Agile Projects and Continuous integration must have Testing and yes BDD is a great way to make sure
that the Agile user story is connected with the testing. Fitnesse http://www.fitnesse.org/ is another example for tools that can help. About ATDD I am not sure, in some cases it might make the iteration time longer.
[...] Trends in Testing:Continuous Integration,Open Source,Cloud | Sauce Labs http://saucelabs.com/blog/index.php/2010/05/trends-in-testing-continuous-integration-mobility-open-s... Share with the [...]
Is there a way to generate testing coverage metrics (and traceability) from say Selenium tests to the original user stories?
Adam your posting on Selenium/JBehave/Maven is excellent – maybe there is a Maven plugin for generating user story test coverage?
Thanks Johnathan.
You can produce reports using the JBehave maven plug-in, although I didn’t cover this in the blog.
Here is an example: http://jbehave.org/reference/examples/jbehave-trader-reports/. I think there is some room for improvement though. The reports generated by Cucumber are better I think (have a look here – http://bit.ly/8YBG4b).