Tuesday, June 26, 2007

Testing strategies for Flash movies

During the development of your Flash movies, you might occasionally run into difficulties. This is usually because creating interesting movies and trying out new ideas always involves some experimentation on the part of the author. By testing your movies according to these simple guidelines, you can prevent problems from becoming obstacles.

Test early in development

When you begin a Flash project, plan to start testing the functionality of your movie early in the development process. This will help ensure that you discover any problems while they are still minor. Waiting to test can allow small problems to become larger ones, as you add subsequent features to your movie that depend on problematic functionality implemented earlier. By incorporating testing into your authoring process early, you'll find these problems and have the opportunity to fix them before adding additional features to your movie.

Test often during development

Testing should be an integral part of your Flash development process. Test the functionality of each small part of your movie as you add it rather than waiting until the movie's whole feature set is implemented.

Avoid building features that are interdependent without testing each one before adding the next. If you test this way, when problems arise you'll know that the most recently implemented feature is the most likely source of the problem. If you wait to test one feature until after the next feature is implemented, and one of those features exhibits a problem, you'll have a more complex set of possibilities to evaluate.

Save multiple versions of your movie as you progress. When difficulties arise, compare the current version to the last saved version to help locate the source of the problem.

Test on all target platforms

When you develop a Flash movie, you should spend some time defining who the audience for the movie will be. Part of this process is deciding what the minimum system requirements should be for the computers used by that audience.

Determine the slowest processor speed you want your movie to be able to play on and verify that the performance of your movie is acceptable on a processor of that speed. You should also determine if there is a range of configurations you will have to support (such as Windows NT and 2000, Macintosh) and test on enough of them so that you can infer success on all of them. Be sure to include parameters such as browser software, screen resolution, and memory in your testing.

This approach will help you find problems that are specific to an operating system or configuration, a class of problems entirely distinct from authoring errors.

Testing strategies

Use the following strategies to test your movies effectively:

Be sure to use the Control > Test Movie command. Testing in the Flash application is different from testing a SWF file. The Test Movie command simulates the true behavior of the SWF file.

If you run into a problem, try to isolate the problem in a new Flash file that incorporates only the problem feature or item. Make a list of the minimum steps required to reproduce the problem in a new file. This will usually shed light on the source of the problem in your actual movie. It will also reveal whether the problem is limited to one feature or caused by the interaction of two or more features in your movie.

Try to re-create the problem with different library media. Sometimes the source of a problem is within a specific media item used in your movie.

Try to re-create the problem on a different computer. This will help isolate problems with hardware configuration or with the Flash installation on a specific computer. If the problem exists only when the movie is posted to a server, determine whether the problem exists on only one server or all servers. Occasionally the server's MIME types may need to be edited to include the MIME types for Flash.

When using ActionScript, look for typos, missing punctuation, or inconsistent naming.


1 comment:

sschims said...

Great post. Do you know of any automated testing tools, APIs, etc that can be used to test a flash application?