Testing 2018-02-12T18:42:22+00:00

Flipping the testing pyramid

The introduction of Agile and DevOps has brought about some simple truths in regards to software testing, the need to “flip the testing pyramid is no longer some utopian view of testing, it’s become reality and required. As companies have started the movement to continuous integration, continuous deployment/delivery and DevOps, some simple truths have emerged, the days of long manual testing cycles are simply not possible, cost effective and lead to poorer quality software.

Traditional test automation has looked at unit testing, functional web and windows clients, but in today’s world of automation companies need to look at the full spectrum of test automation in order to improve quality and shorten development cycles.

Testing Quadrants

The move towards open source test tools has allowed for the opportunity to plugin additional testing types into the automated test framework in order to increase testing coverage. Among the testing types that can be plugged into your automated test framework is services testing of both REST and SOAP protocols. An added bonus of integrating services testing into your test framework is the ability to quickly create and insert test data that can be used by other testing types such as functional web testing.

Most backend/database testing can be incorporated into the ATF allowing integration into the ATF as either a separate test phase or by pulling verification data from the backend while inside a Selenium functional test. The ATF uses simple JDBC connections inside the architecture to connect to the SQL database and allow SQL scripts to be run.

The Selenium WebDriver browser automation tool provides a lightweight and elegant way for testing mobile web applications through Appium. The Selenium WebDriver tests are end-to-end tests that can exercise web application, native applications or hybrid applications in Android or iphone just like a real user would. WebDriver models user interactions with a web page such as finger flicks, finger scrolls and long presses.

When it comes to performance testing many companies have some form of load or stress testing, but where they fall short is in their coverage of middleware and front end performance testing. By combining test tools like Selenium and JConsole you now have the ability to monitor and measure your JVM performance. Measuring frontend web performance is one of the missing links for most companies doing software development, at ATF we can show you how to rectify this through the integration of Selenium, firebug, Netexport and HAR.  At ATF we are big proponents of integrating all of your test tools inside of a single automated test framework, because of this we highly recommend that companies use a combination of JMeter and BlazeMeter for all of their load/stress testing needs. JMeter and BlazeMeter can be integrated and run as part of your continuous integration process and the performance metrics can be easily viewed in SonarQube.

One of the best returns on automated testing is through the use of the Galen Framework for all of your web consistency testing. Imagine a tool that allows you specify exactly how your web pages should look and then automatically test them against various browser and versions to confirm that the look and feel is consistent across all of these browsers and versions.

Among the other types of automated testing that our coaches at ATF can instruct you in, are security testing through the integration of OWASPS’s Xelenium project with Selenium, accessibility testing via Selenium and WAVE and unit testing with traditional xUnit tools and javascript unit testing with tools such as Jasmine.

Please refer to our Automation for Engineers course outline for more information