Building Quality Software

Building Quality Software Sessions

Ajax-based development brings efficiencies and benefits from a user perspective – and new performance and testing issues from YOUR perspective. Hear about current and emerging tools for monitoring, optimizing and debugging Ajax-based apps – including Selenium; YSlow; and Firebug. Browse all Building Quality Software sessions, or select a title:

Ajax Performance Analysis: Employing the Latest Tools to Get the Job Done with Ryan Breen, Vice President of Technology, Gomez

Ajax continues to raise user expectations for interactivity and performance, and developers are increasingly treating Ajax as a must-have component of their web applications. As more code is moved client-side and the network model changes, the community is responding by building open source and commercial tools to address the unique performance challenges of Ajax . In this talk, Ryan discusses tools and techniques for managing the performance of Ajax applications along the lifecycle of the product: at development time using tools such as Selenium and Firebug and once the application is in production via JavaScript instrumentation (such as Firebug or Dojo profile calls) to pinpoint bottlenecks in code running within the end user's browser.

•Aptana IDE: Your Unfair Advantage for Ajax, iPhone and Adobe AIR Development with Chris Williams, Lead Developer, RDT Project, Aptana

The Aptana IDE is a free, open-source, cross-platform, JavaScript-focused development environment for building Ajax applications. It features code assist on JavaScript, HTML, and CSS languages, FTP/SFTP support and a JavaScript debugger to troubleshoot your code. With nearly 1 million downloads to date, the Aptana IDE is fast becoming the standard way Ajax developers build their Web 2.0 applications.
In this session, Chris, Lead Developer on the RDT (Ruby Development Tools) Project, will review all of the major features of the IDE.

In this session, you will learn about:

  • • Firebug integration;
  • • Ajax library support;
  • • iPhone development support;
  • • Adobe AIR support;
  • • Integrated documentation and dynamic code assist.

•Looking for a Fix? Ajax Debugging and Quality Assurance with Dave Johnson, CTO, Nitobi and Andre Charland, co-founder, President, CEO, Nitobi

Building high-performance, robust Ajax applications is challenging at the best of times. But, without proper quality assurance and testing techniques, it can be treacherous.

Testing, QA and performance optimization is more important today than ever because of the large increase in Ajax user interfaces and the growing number of developers who have recently started using Ajax. Once Ajax developers have mastered using a popular framework they will need tools and techniques to ensure they are delivering a quality product into the marketplace. Properly tested and tuned Ajax applications will mean a reduced number of bugs, shorter QA cycles, faster websites and better user experiences.

In this session, Andre and Dave show you how to set-up a reliable test framework, methodology, and build process that automates much of the tedious, manual effort that comes with browser-based development.

This session will cover JavaScript unit testing, functional testing for your web application, automating the testing process, and debugging JavaScript and debugging server responses. Learn about testing and debugging with current tools such as FireBug, YSlow, JSUnit, Selenium and CruiseControl, as well as how to find memory leaks and increase performance with JavaScript optimizations. Andre and Dave will walk you through the debugging and testing tools available for Ajax developers, and how to use these tools to minimize bugs and build better Ajax applications.

In this session, you will learn:

  • • Testing tools and concepts for Ajax;
  • • Debugging techniques and tools;
  • • How to implement a solid QA strategy for your Ajax team.

Performance Analysis with YSlow for Firebug with Tenni Theurer, Performance Technical Evangelist, Yahoo!

Through a series of research studies, Yahoo!'s Exceptional Performance Team has identified 14 best practices for making web pages faster. These best practices have been proven to reduce response times of Yahoo! properties by 25-50%, and focus on the front-end - for example, you’ll hear why it's bad to use "@import" for including stylesheets and why ETags disable browser caching.

This session will go in-depth on these best practices with the research team that discovered them. This talk also demonstrates Yahoo! performance tools developed in Firefox, namely a new internal tool called YSlow, which was developed as an extension to Firebug and analyzes web pages according to the performance best practices. Steve does a live debugging session to evaluate the performance of popular web sites using YSlow. In this session, you will hear performance benchmarks and best practices that will allow you to:

  • • Build faster web pages;
    • Reduce your end-user response times;
    • Get the most potential for improvement by focusing on the front-end.

Performance Tune Your Ajax Application with Bob Buffone, Chief Architect, Nexaweb Technologies

As Ajax matures as a technology, its use in large applications has increased significantly. But large applications require more extensive amounts of code, which leads to the inevitable performance bottlenecks and memory constraints associated with non-trivial application development. In this session, Bob provides detailed information on how to performance-tune large Ajax applications using a variety of available tools and techniques.

Drawing on the experience of having developed large Ajax frameworks, Bob looks at a variety of performance bottlenecks that can occur within an application, paying special attention to systematic techniques that yield the biggest return in the shortest amount of time.

In this session, you will learn how to:

  • • Use Mozilla's Rhino JavaScript engine as a complete performance-monitoring tool capable of monitoring complete Ajax code bases;
  • • Inject monitoring code into every function of JavaScript within an application to create a complete performance picture;
  • • Locate performance issues through drilldowns of function call counts, total time spent, average time per call, and call stacks and start time optimization using Dojo, Gzip, Compression.

Strategies for Testing Ajax with Selenium with Patrick Lightbody, QA Solutions Product Manager & Chief Open Source Evangelist, Gomez Inc.

Selenium and related tools are important because they provide a simple yet powerful mechanism to test developing application functionality across virtually any web browser.

This session will cover testing methodologies for common Ajax toolkits, such as Dojo and Scriptaculous. Speaker Patrick Lightbody dissects how automated testing of Web applications has gone from a "page-centric" approach to a much more granular one, where every testing event can now potentially cause large amounts of logic and data to be processed in the background. You’ll also learn how testers and developers can change their habits to make automated testing of Ajax applications easier - no matter what testing tool you use. This session explains:

  • • Why testing in the browser is so important;
    • Strategies for using Selenium with various JavaScript frameworks;
    • Strategies for building Web applications to be easily testable;
    • Techniques for re-factoring tests as product code evolves;
    • How automated tests in Web 2.0 is very different from Web 1.0.

Using Firebug for More Than Just Development with Patrick Lightbody, QA Solutions Product Manager & Chief Open Source Evangelist, Gomez Inc.

Today’s web applications have a lot more logic and content assembled at the end user’s desktop. This makes it harder and harder to support them, both in terms of active support as well as proactive monitoring and measurement of user populations. Firebug is a tool widely used by developers for building web applications, but it can also be used to assist with QA and support. Being able to measure end-user experiences is critical, and doing it with tools developers already love makes it all the more likely that the developers will be excited to focus on the end-user experience.

In this session, Patrick looks at all the capabilities of Firebug, the “Swiss army knife” for most Ajax developers. Patrick will cover inspecting live DOM structures, debugging JavaScript, capturing performance metrics, and identifying critical paths of rich code via instrumentation. Then, Patrick will show how some of the under-utilized features of Firebug, including logging, instrumentation, and grouping, can be used to not only make development easier, but actually assist once the app is live. Finally, Patrick shows how one could build on top of these measurement features that Firebug provides and build end-user experience instrumentation directly into their apps.

In this session, you will learn:

  • • How to sharpen their tools and more quickly develop rich web applications using various features found in Firebug;
  • • How to use some of the features and techniques supported by Firebug in a production environment to better measure the end-user experience;
  • • How to take these concepts even further and use them to help call centers and other support operations help users in new and unique ways;
  • • How to capture JavaScript logging and browser performance metrics in production;
  • • How to take advantage of Firebug features even in browsers other than Firefox;
  • • Techniques for using Firebug to help streamline CSS and JavaScript development;
  • • Basic overview of all Firebug features, including little known tips and tricks

Using Eclipse to develop Ajax Applications (ATF and JSDT) with Michael Kaply, Software Engineer, Emerging Technologies Division, IBM

Are you still using Emacs and Firebug to develop your Ajax applications? You need to take a look at the Ajax Toolkit Framework (ATF). http://www.eclipse.org/atf/
ATF uses Eclipse and Mozilla technology to provide an all-in-one environment for creating, debugging and deploying Ajax and other DHTML applications. Along with the standard tools like a DOM Inspector, CSS Explorer, JavaScript debugger and browser console, you get a full featured JavaScript editor (JSDT) including code completion and syntax checking as well as the ability to integrate Ajax runtimes into the framework.

In this session, you will learn:

  • • How to use the Ajax Toolkit Framework to make creating AJAX and DHTML applications easier;
  • • How ATF provides an all-in-one environment for creating, debugging and deploying Ajax apps;
  • • How ATF gives developers the ability to integrate Ajax runtimes into the framework.


Back to top of page