As a Python web developer you are probably familiar with the paradigms of testing simple web applications. Your test case makes a G ET / POST request, your program responds with an HTML page, and your test verifies the HTML elements. Unfortunately, today's typical web applicati on is not so simple! Since modern browsers support asynchronous JavaScript (Ajax) very well, the HTML response might deliver program code to run on the client's web browser. The browser's runtime environment would then int eract with your server-side Python program and you now have a big problem How does your test suite cover both server-side functionality and client-si de functionality? This talk will use a real Python / Ajax web applicat ion as an example then offer practical strategies for creating a fast, sca lable test suite to help ensure that each release of such an app works as i ntended. It goes beyond just the tools and technologies; it examines archi tectural strategies -- how and when to use stubs, how to design a testable UI, etc -- so that as your application grows in size, your tests remain fast and effective.


Comments are closed.