30.01.2015 Views

u3Zgz

u3Zgz

u3Zgz

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

These materials are the copyright of John Wiley & Sons, Inc. and any<br />

dissemination, distribution, or unauthorized use is strictly prohibited.<br />

Chapter 3: Looking at PaaS as a Development Platform 31<br />

Test and automation tools<br />

Testing services can be built into the PaaS platform or provided<br />

by its ecosystem of services. These services can include User<br />

Interface testing or load testing. Access to these tools is beneficial<br />

to companies of all sizes; however, the impact on small<br />

to midsize companies can be huge. Smaller companies may not<br />

have the resources to purchase and maintain the state of the<br />

art tools designed to improve the quality of the development<br />

process. These smaller teams can use PaaS to have access to<br />

the same best practice environment that many of the larger<br />

competitors have built in house at a very high price.<br />

Test and automation tool examples include the following:<br />

✓ Jenkins: Most widely used continuous integration server;<br />

initiates build jobs as developers check-in code, works<br />

with Maven, and contains many plug-ins to customize<br />

how and why the builds happen, and to connect to various<br />

supporting systems<br />

✓ Selenium: Designed for testing how your software performs<br />

with multiple browsers, such as Safari, Chrome,<br />

and Firefox<br />

✓ Sonar: Provides feedback on the quality of your code<br />

Performance analysis tools<br />

A limitation exists on how many different kinds of tests can be<br />

applied to the code in the developer’s own local environment.<br />

Performance analysis, including production profiling and load<br />

testing, is hard for the developer to do on his own. The developer<br />

may not be able to replicate the wide range of machines<br />

and networks that may be found in end-user environments.<br />

Examples of cloud-based tools designed for this purpose include<br />

✓ SOASTA: Leverages clusters of cloud machines to simulate<br />

user load on your application based on a number of<br />

criteria (number and type of clients, geographical location,<br />

load pattern, and so on)<br />

✓ New Relic: Designed to provide insight to end-user behavior,<br />

monitor server behavior, and identify bottlenecks

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!