Methods & Tools - Fall 2012

Testing Performance of Mobile Apps - Part 1: How Fast Can Angry Birds Run? ................. page 16. Test-driven Test ..... Angry Birds (a local mobile native application for the Android platform), the impact on CPU ..... 2.1 Levels of Testing. Testing ...
2MB Sizes 2 Downloads 208 Views
M ETHODS & T OOLS Practical knowledge for the software developer, tester and project manager

Fall 2012 (Volume 20 - number 3)

ISSN 1661-402X

www.methodsandtools.com

Software Architecture: Where is the Beef? In the past 30 years, the hardware infrastructure that supports software applications has changed many times. At the beginning were the mainframes and the minicomputers with dumb terminals. With the arrival of the personal computers, developers started using the power of the user machines and organizations switched to a client server model for large applications. The user interface and part of the logic would be located on the PC. With the web, the processing switched back to servers, especially at the beginning, before JavaScript and AJAX push back some logic towards the browsers that however lacked standard behavior. The current trend is toward mobile applications in a situation where connectivity is not always guaranteed. Software developers try again to use some of the processing power of the device for their application, taking out some code and data out of the servers. They have however to deal with the rapid evolution of devices and multiple operating systems. The Cloud makes the architecture even more complex. What is the impact of such changes for software developers? Modularity is an important concept in software design and architecture. This allows changing the software technology easily or moving part of an application between different material infrastructures. Modularity has its drawbacks with a negative aspect on performance and possible network latency. In an open connected architecture, developers must have contingency plans and mobile apps should thus be able to work even with limited connectivity. As architecture spreads on multiple location, this also increases the needs for security as the application could be attacked from many entry points or during the exchange of data between separated software layers. You have to decide how sensitive information could be distributed on third-party platforms (cloud, mobile networks). What will be the next infrastructure for software? I don't know, but I am sure that software developers will have to think deeper to achieve the sometimes contradictory objectives of software architecture that are evolutivity and performance. Even in an Agile context, software architecture is an important activity for the long-term viability of your software applications.

Inside Getting Testing Done in the Sprint - 5 Method and Tool Tips ............................................... page 2 Testing Performance of Mobile Apps - Part 1: How Fast Can Angry Birds Run? ................. page 16 Test-driven Test Code Development - Unit testing Page Objects........................................... page 28 eFitNesse: A Java Testing Framework for Embedded OSGi Programming ........................... page 33 Flyway - Database Migration Framework for Java................................................................. page 44 Findbugs - Static Code Analysis of Java................................................................................. page 50 PESTT – PESTT Educational Software Testing Tool ............................................................ page 55 Open Twebst - Web Automation for Internet Explorer .......................................................... page 62

Distribution Sponsor

Agile Conference and Better Software Conference - Click on ad to reach advertiser web site

Methods & Tools * Fall 2012 * Page 2

Software Testing in Scrum

Getting Testing Done in the Sprint - 5 Method and Tool Tips Clemens Reijnen, Clemens.Reijnen [at] Sogeti.nl, Sogeti, http://www.ClemensReijnen.nl/ It is always challenging to create a piece of a software system that fulfills a customer need, ready for use. Especially when it should be realized in an iteration of just three weeks, from an idea to a fully functional and tested piece of the application. Achieving