Monday, August 29, 2011

How to record synchronization points from the GUI?

An eValid user wrote:

I need to make a good recording of an AJAX app, but I need to know how to record synchronization points from the GUI. I don't want to have to manipulate the script at all, please!

That's actually very easy.

The most common synchronization point is "Validate & Synchronize on Selected Text." This is 99.99% reliable even for AJAX applications (there are always 0.01% where you have to resort to "structural commands").

The protocol is simple to follow:

On each page, as you make your recording, select a piece of visible text with the left mouse button so that it is highlighed. Then click eValid: Record > Validate > & Synchronize > Text String, or simply press Ctrl-Y.

You'll see eValid record a command in the Script Window.

Now, knowing that the synchronization logic will wait for the highlighted text that you chose to show up on the screen at playback time, you can then take the next action. Click on a button, click on a link.

Then, wait for the application to settle down and repeat the sequence.

Simple enough. Just remember: Wait --> Sync --> Act, [Wait --> Sync --> Act, --> ...].

Thursday, August 25, 2011

Advanced Structural Testing Webinar Movie Available

The "movie" recording of the eValid Webinar, Advanced Structural Testing of Mobile/AJAX/Web 2.0 , that was given on 17 August 2011 by Dr. Edward Miller & Ms. Rita Bral, is now available. To view the movie simply click Request.

Wednesday, August 24, 2011

Selected User Forum Posts

Beginning in mid-2010 we have directed all technical support questions to the eValid User Forum. We have learned that when one user has an issue, all users can profit from the answer.

Here is an additional selection of some of the posts that we think would be of general interest.

Wednesday, August 17, 2011

How long do you think it will take me to learn to do a very complex AJAX application, starting from scratch with eValid?

An eValid user wrote:

How long do you think it will take me to learn to do a very complex AJAX application, starting from scratch with eValid?

The answer depends on what kind of web application you are testing.

(1) If you are driving a "conventional" (non-AJAX, see below) website, then eValid orginarily has sufficient internal automatic playback synchronizations built in so that you don't need any extra steps. Just type and click and eValid will record what you've done and will play it back, no problem.

Standard advisory note: If you record logging in to an application and then play back that script withOUT having logged out, then it's likely the playback will fail. You're still logged in! Of course it will fail. Good practice says, either record after having logged in and don't log out, or record the login and make sure you end with a logout.

(2) For AJAX applications the situation is more difficult. Because of AJAX activity in the browser, you may not get an accurate playback because the time that AJAX takes varies with web load and other factors. The "out of the box" recording with no special steps may or may not fully synchronize at playback time.

However, there is a very simple recording protocol that we recommend to use when you are dealing with an AJAX application. The basic idea is to use the eValid: Record > Validate > & Synchronize > Text String sequence from the eValid GUI to create synchronization logic as you make the recording. The sequence is simple: Act, Wait, Sync, [Act, Wait, Sync]...

The steps are simple enough: (a) navigate to the next page in the test plan, (b) wait until it is fully loaded, (c) highlight a piece of text on the page, then (d) execute the above command sequence (or use the Ctrl-Y shortcut). The resulting script then has a synchronization step that has to be satisfied before every action -- and this will assure fully synchronized playback.

Additional Note: In certain rare cases for AJAX applications you may need to resort to other, more powerful, DOM-based synchronizations if the recording protocol described above doesn't work. Just look up "Synchronization" in the eValid User Manual for complete details on this.

Wednesday, August 10, 2011

Selected User Forum Posts

Beginning in mid-2010 we have directed all technical support questions to the eValid User Forum. We have learned that when one user has an issue, all users can profit from the answer.

Here is an additional selection of some of the posts that we think would be of general interest.


Monday, August 8, 2011

What is the best way to record a test that you know will run when you play it back?

An eValid user wrote:
What is the best way to record a test that you know will run when you play it back?

The answer depends on what kind of web application you are testing.

(1) If you are driving a "conventional" (non-AJAX, see below) website, then eValid orginarily has sufficient internal automatic playback synchronizations built in so that you don't need any extra steps. Just type and click and eValid will record what you've done and will play it back, no problem.

Standard advisory note: If you record logging in to an application and then play back that script withOUT having logged out, then it's likely the playback will fail. You're still logged in! Of course it will fail. Good practice says, either record after having logged in and don't log out, or record the login and make sure you end with a logout.

(2) For AJAX applications the situation is more difficult. Because of AJAX activity in the browser, you may not get an accurate playback because the time that AJAX takes varies with web load and other factors. The "out of the box" recording with no special steps may or may not fully synchronize at playback time.

However, there is a very simple recording protocol that we recommend to use when you are dealing with an AJAX application. The basic idea is to use the eValid: Record > Validate > & Synchronize > Text String sequence from the eValid GUI to create synchronization logic as you make the recording. The sequence is simple: Act, Wait, Sync, [Act, Wait, Sync]...

The steps are simple enough: (a) navigate to the next page in the test plan, (b) wait until it is fully loaded, (c) highlight a piece of text on the page, then (d) execute the above command sequence (or use the Ctrl-Y shortcut). The resulting script then has a synchronization step that has to be satisfied before every action -- and this will assure fully synchronized playback.

Additional Note: In certain rare cases for AJAX applications you may need to resort to other, more powerful, DOM-based synchronizations if the recording protocol described above doesn't work. Just look up "Synchronization" in the eValid User Manual for complete details on this.




Wednesday, August 3, 2011

Webinar: Advanced Structural Testing for Mobile/AJAX/Web 2.0

Run Functional/Regression Tests on
Complex, Dynamic AJAX/Web 2.0/Mobile Applications
Extremely Robust Tests Are Based on Structural Page Features

Register
Wednesay, 17 August 2011
2:00 PM Eastern Time / 11:00 AM Pacific Time

When web applications change in subtle ways, your functional/loading/monitoring tests may begin to fail if your test scripts are "brittle" -- i.e. break easily. eValid's advanced structural testing commands overcomes the "brittle test" issue to help you achieve tests that survive page changes -- but still validate performance.

The eValid structural testing command set makes it possible organize tests entirely around structural properties of a page that don't change over time. A test done with structural testing methods can handle any AJAX/Web 2.0/Mobil application reliably and efficiently. Even when page structure and details (but not essential functional intent and effect) -- change substantially.

Learn how to achieve greater productivity with smaller budgets, maximize your IT investments, and get more work done in less time with less energy.

Build reliable, robust AJAX/Web 2.0/Mobile tests once -- and you won't have to worry about them again.

Webinar Outline
  • Introduction to eValid's Architecture.
  • Functional Test Creation: "What you see and do, is what eValid records, is what eValid reproduces".
  • Methodology Overview: Record From Life, Adapt From Page Facts
  • Index/Motion (Algorithmic/Structural) Command Summary
  • Typical Script Passages: "Recorded From Life" and Structural Versions
  • Script Enhancement for AJAX/Web 2.0: Bullet-Proofing Your Playback
  • Practical Experience & Recommendations

You are cordially invited to attend this free Webinar.
REGISTER NOW!

Tuesday, August 2, 2011

Page Performance Optimization Methods

There has been a great deal of interest in the web community recently about how to speed up web page delivery. At least some of this discussion is prompted by the increasing sizes of web pages, particularly for AJAX and Web 2.0 applications. For example, a few years ago a 100 KByte page would be considered "large," but now we see some pages that download 1 MByte, and these are considered "normal". Some website, e.g. the CNN site, regularly download 1.5-2.5 MBytes -- and that's not counting videos. In earlier times web page component counts could be in the low tens, now the component counts are 100+. On a recent day, CNN's page had 113 individual URLs involved.

To improve average download performance you have to buy your customers more bandwidth (this could be expensive!), or you need to figure out how to reduce the size of your pages (tedious, but very effective). But to fix something you have to understand it, and that's where a couple of eValid tricks come into play.

Page Metrics Popup

This is an eValid feature that runs along with your browsing activity.

As you navigate through a website, after each page is fully downloaded you see a simple popup like the one at the right (click on the image to see the full picture).

The data extracted by eValid includes the size of the base page, the total number of URLs involved, and all of the details about the internal structure of the page including the total size of the download.

Here are the details on eValid's Page Metrics Popup feature.

PageSpeed Process


The eValid PageSpeed Process uses the "detailed page timings" feature to collect page component byte-count and download times, in the order in which each component is recovered and rendered.

The resulting "stack chart" reveals detailed the download time and size of each page component, by simply hovering your mouse over the display bars. This way, you know which element is the bottleneck.

Bottom Line: eValid gives you all the details on what's what about your page. It's up to you to fix the problems eValid analytics reveals. That's a lot easier to do if you know what's wrong.