Test automation tools for WinForms desktop applications

For a client in the financial services sector, I recently had to identify some candidate products for use in automating the testing their WinForms and VC++/MFC Windows desktop applications. The applications are used for trading financial instruments, so correct operation is absolutely essential.

UPDATE: this 2019 post from Joe Colantonio has a newer list of testing tools for Windows Desktop apps. WinAppDriver, Winium, and White Framework seem to be the best options.

Drop Test by Christoph Bauer - http://www.flickr.com/photos/h34dy/
After a bit of investigation and digging round in the more murky reaches of my memory, I came up with the following list of  test automation tools for Windows desktop  applications:

Continue reading Test automation tools for WinForms desktop applications

Improving page speed: CDN vs Squid/Varnish/nginx/mod_proxy

Too few people understand the benefit of using a caching reverse proxy server to improve web page delivery speeds, and instead go straight to a CDN solution, which can be costly and complex to administer.

Continue reading Improving page speed: CDN vs Squid/Varnish/nginx/mod_proxy

Verified by Visa Confirmed Dangerous

New research from the University of Cambridge supports the view that Verified by Visa is deeply flawed and unsafe. I first came across this mess of an implementation a while back, and the situation has only become worse since then:

the scheme has become a target for phishing, partly because inconsistent authentication methods can leave customers confused.

It’s time to insist that Visa, MasterCard and other payment gateway providers take some responsibilty for this, and stop pushing risk onto the customer.

Improving broadband speed with BT

If you are not one of the lucky ones to have received a recent cost-free upgrade from BT to 20MBit/s ADSL, and your broadband speed is less than good, here are some steps to diagnose the problems.

First we’ll check the actual line speed.

Go to http://bthomehub/ or maybe http://bthomehub.home/ – note: no “www” or “com” in there. If you get a status page then you are looking at the modem/router (BT Home Hub). It should give some stats like these:

My broadband connection
Your broadband line is connected.
Broadband connection details:
Downstream 15,323 Kbps
Upstream 888 Kbps
Connection time 3 days, 22:58:21
Data transmitted 166.57 MB
Data received 3.21 GB

It’s the Upstream an Downstream values which you need to record somewhere. The values should be at least 2,000 Kbps Downstream (“2 Meg”) and at least 200Kbps Downstream for a basic broadband service (these speeds will soon be mandatory).

If your speeds are less than or close to these values, you can try some of these steps:

1. Get a BT Broadband Accelerator – basically a better microfilter.

http://www.productsandservices.bt.com/ consumerProducts/displayTopic.do? topicId=25075&s_cid=btb_FURL_accelerator

Go here, and select “Yes” in response to “Do you have more than one working phone socket in your home?” Then choose the socket which matches your “master socket” – hopefully it’s like #4. Sockets #1-#3 do not work with the Accelerator. Then you pay the P&P and BT deliver it – no other charges.

Installation should be simple. Do this first (or else establish that your socket is incompatible), and then (if the speed does not increase) try option 2 below.

2. Run the BT speed test wizard: http://bt.custhelp.com/cgi-bin/bt.cfg/php/enduser/cci/bt_adp.php? p_sid=&cat_lvl1=346&cat_lvl2=401&cat_lvl3=407&cat_lvl4=753 &p_cv=4.753&p_cats=346,401,407,753&p_faqid=12666 or here: https://bt.custhelp.com/cgi-bin/bt.cfg/ php/enduser/doc_serve.php?&5=7. This asks you some questions about your connection.

This page also contains some good advice, which you can check, particularly around faulty wiring:
http://bt.custhelp.com/cgi-bin/bt.cfg/ php/enduser/cci/bt_adp.php? p_sid=bgLqHKKj&p_faqid=9611&cat_lvl1=346 &cat_lvl2=401&cat_lvl3=407& p_cv=3.407&p_cats=346,401,407

e.g.

Check for faulty home internal phone wiring

Poorly-installed home phone wiring or poor quality phone extension leads (often with a flat rather then round cable profile) are the most common causes of slow broadband speeds. This is because they are more prone to electrical interference, which causes BT Broadband to reduce data speeds to compensate. You can test for this as follows:

  1. If you have a phone master socket like the one in the photo here (that is, square with a horizontal groove halfway down it, and removable upper and lower cover), we recommend you remove the lower cover as shown, taking care not to dislodge any wiring. Do not remove the upper cover. This will reveal a test socket on the right-hand side. This connects directly to the exchange, bypassing your home phone wiring and extensions.Phone master socket
  2. Plug your router or modem directly into this test socket via a microfilter.
  3. Recheck your connection speed as per Step 2 above, ensuring you refresh your browser page first. If your connection speed has increased significantly, this indicates a likely fault or interference source within your home wiring. If it remains unchanged, this indicates either no fault, or the fault or interference is more likely to be in BT’s wiring or in your local exchange.

Re-run the line speed checks (at http://bthomehub/) and check the new Upstream and Downstream speeds. Are they significantly different?

3. Finally, if the above do not fix the issue, BT have a “Broadband Accellerator” service where an engineer comes to the house:

http://bt.custhelp.com/cgi-bin/bt.cfg/ php/enduser/cci/bt_catpage.php? cat_lvl1=346&cat_lvl2=1282& cat_lvl3%20=1859&p_cv=3.1859&p_cats=346,1282,1859

The work we do on your home wiring should increase your connection speed by at least 1Mbps” – if your current connection is only 2Mbps, this would represent a 50% speed increase.

If your Internet connection speed (independent of the broadband network speed) has not increased by at least 0.5Mbps, you are entitled to claim your money back.

It’s not clear how much this service costs, but I think it’s about £80.

Your final option is… move to the city!

Disappearing text in IE6

I have just found a work-around for a strange bug in IE6, when rendering empty paragraph elements. It seems to be related to this ‘Peekaboo’ bug, involving SPAN elements within styled containers, but only the pathology is similar, not any obvious causes.

Basically, an empty <p></p> would cause IE6 to mis-render entire sections of the page, making them flicker in and out of visibility when the chrome was resized, or when the text was highlighted. Firefox rendered the original text without problem.