Wednesday, March 28, 2007

Testing Flash Apps: What Do You Want to Know?

Come across this impressive article on Testing Flash Applications as part of Test & QA Report series from BZ Media.

 

Testing Flash Apps: What Do You Want to Know?

By Edward J. Correia

 

Last fall, I received a number of requests at Software Test & Performance for articles about testing applications built using Adobe's Flash authoring and runtime environment.

 

Flash is a compelling environment for building rich-client applications; it supports raster and vector graphics, has a powerful scripting language, can perform video and audio streaming, and uses a widely deployed runtime that works on desktop, laptops and handhelds.

But while Flash apps can be made to look just like the native platform on which they run, testing them poses a completely different set of challenges than, say, Windows apps. 

 

For instance, if you're looking to perform automated UI testing on a Flash application, the tools you own for testing Windows apps obviously won't work. Automated Windows UI tools simulate mouse and keyboard actions by sending messages directly to the controls for those input devices. Flash apps have no corresponding controls, and therefore have to be stimulated directly, with real mouse clicks and keystrokes. This makes automated testing much more complicated.

 

While researching this topic, I came across a nifty  I tester for Flash applications that records and plays back user interactions. It's called AutoTestFlash, it's open source, and is a free download. You can also find a link there that can show you the tool in action.

So what's the best way to test Flash apps? I took that question to Bill Perry, Adobe's manager of global developer programs, who came back with several questions of his own.

 

"What are their existing pain points?" asked Perry of Flash application testers. Perry works in Adobe's developer relations, mobile and devices division, and wanted to know whether testers are working on applications and content created in-house or by others; if they're considering creating mobile applications or mobilizing existing enterprise apps to Flash-based devices.

 

"If you're not currently a mobile developer, have you considered it and why, or why not?" asked Perry, whose responsibilities include supporting the needs of testers and developers, content providers, mobile operators and device manufacturers. "If you're choosing a technology, be it Flash, BREW or J2ME, you're looking at the [total market] for a region. How many handsets offer that technology?"

 

If you've ever developed content for mobile devices, constrained resources, deployment snafus and maintenance are just the beginning challenges. "The main challenge for content publishers is fragmentation," Perry said. Nokia, for example, offers 28 different models with the Flash player installed, each potentially requiring its own port, he said. "Unlike a desktop or Web page, the mobile space has different runtime engines for Java, Symbian, et cetera. Some devices have eight APIs; others have seven. Developers spend about 60 percent of their time testing and porting."

 

Beginning today. Adobe helps address this problem with the release of Device Central, a new component of Creative Suite 3, available now. Device Central allows content creators and designers to build application mockups that adhere to device specs stored within the tool. "Flash content providers said it has helped," said Perry of the tool, which was released in beta late last year. " are able to create apps in about a third the time. The only modification is for screen size," Perry said. The tool also will be included with new versions of Flash, Photoshop and Premiere stand-alone products.

 

"There are thousands of devices out there; one carrier might have 40 to 50 devices," said Perry. "So if you're creating mobile content, being able to physically acquire those devices for testing and tweaking takes time." Device Central will solve that chaos through device profiles. "As a user, I can look up a profile and see video codecs, graphics supported, screen resolution, languages, APIs, HTML support, browser," and countless other device-specific specifications, skins and emulators. About 200 are included initially; free regular updates are promised.

 

Perry said the tool will permit devices to be grouped by screen size, orientation or other physical characteristics, and will help facilitate reuse of elements such as bitmaps, and to optimize them to reduce file size. "Larger file size means more waiting for downloads and higher transfer costs of applications sent over the air," he said. 

 

Your Assignment (should you choose to accept it)
Use the link below to send feedback. Include a list of Flash testing topics that you'd like see covered in an ST&P feature article, an anecdote describing one or more of your worst testing pains, or a rant about how useless Flash is to your organization. Or maybe you'll send all three.

 
Best Regards,
Venkat Reddy Chintalapudi,
 
 

Tuesday, March 27, 2007

Boundary Value Testing

BVA or BVT is considered as Testing/Test design technique in black box testing methodology. Black box testing takes an external perspective of the test object to derive test cases.
 
This is a very good resource on BVA and covers most aspects of the same
 
Best Regards,
Venkat Reddy Chintalapudi,
 
 

The Future of Software Configuration Management:

The Future of Software Configuration Management:
A Sharper Focus on Small Changes

Although today's software configuration management (SCM) systems are good at recording macro-level changes like file check in and check out, there is a profound lack of support for tracking micro-level state changes. In fact, many SCM systems gloss over the importance of tracking change at the micro-level. The next leap forward in productivity will come when SCM provides greater visibility into the change process itself. This white paper discusses the importance of workflow-enabled SCM, which provides both greater visibility and better control over change with less complexity. 

[Download this White Paper Now]

Read These Other featured White Papers

 
Best Regards,
Venkat Reddy Chintalapudi,
 
 

How Do You Think?

What are the attributes of a good tester--of a great tester? As every test manager knows, identifying the right people for a test team can be a struggle. In this week's column, Fiona Charles describes the qualities of mind she looks for in testers, and the interview questions she asks candidates so that she can evaluate how they think.

http://www.stickyminds.com/r.asp?F=W12122

Test Patterns In Java

Abstract

Testing is an important part of software development. Effective testing is a key factor in reducing total cost of maintenance of any application over its lifetime. It reduces the cost and time of development, can increase savings on quality assurance and of course on sustaining. Knowing when to invest in better design, in post development quality assurance, in manual tests or in automatic testing forms a basic difference between successful and unsuccessful software projects in these tough and competitive days.

In this paper we start with general motivation and present automatic tests as a form of functional specification. It will then quickly dive deep down into hardcore JUnit test examples showing various forms of regression tests verifying algorithm complexity, memory management, data structure sizes, deadlocks, race condition behavior and tests randomly generating new test cases, simulating user clicks in the UI, API signature tests, etc.

We assume that you know what tests are and that tests are important and useful part of software development. This presentation will show how it looks when it comes to practical usage of a test framework. You will learn techniques, tips and tricks for testing various aspects of real world J2SE applications. We will also give examples of the savings and improvements that were achieved by increased usage of extensive automatic testing in the development of NetBeans platform and IDE.


http://openide.netbeans.org/tutorial/test-patterns.html