Archive for May, 2008
As you might know, one of my favorite sayings that does not involve colorful metaphors, is I’m not perfect; I’m just better than you. I use this riposte whenever a developer or designer or someone whose work I scrutinize catches me in a typo or sometimes in an outright error. Let’s face it, I may be persnickety about grammar enough to use capital letters, punctuation, and full sentences in instant message conversations, but sometimes I slip up a bit. Who doesn’t?
Then a developer pounces with glee. A-ha! You’re no better than the rest of us! Why should I listen to you when you tell me that the right combination of events causes my application to dump a stack trace after charging $2,000,000 to a random credit card number in the database when you cannot even remember to include the to in every infinitive instance.
Ha! Just kidding. Developers don’t know what infinitives are. They do catch some mistakes, though, and then accuse QA of being imperfect.
That, my friends, is the ad hominem fallacy known as tu quoque. Whereupon every issue logged is ignorable because the person who logged it is infallible.
Nice try, developer, and I know that logic isn’t something you’ve learned anywhere, but the fact that I, flawed being, point out that something is wrong doesn’t make it any less wrong. And you will fix it, or you will face my flawed being wrath.
That’s today’s Latin lesson, kids. Remember the words tu quoque and whip them out the next time a developer taunts you for a mistake. If you pronounce them just right, they sound almost like you’re swearing in Spanish.
And remember, you’re not perfect. You’re just better than they.
You know, ungentle reader, that I recommend you enter the longest possible string into any edit box (this is called the Hamlet test, yes?). That’s going to blow out the application where it allows too much information for the database to handle, but when you fill the string to its maximum, unbroken string or broken string, you’ll get a good glimpse as you run through the application of how wide data displays.
Kind of like ego-stroking titles render in the AJAX pop-ups on LinkedIn.com:
Remember to review how the data you put into the system displays when your application parrots it back to you.
Your 404 errors should never look like stack traces. If you’re using Apache Tomcat, like FoxBusiness.com, it might:
Ensuring your Web server throws up an error page with relevant navigation and your logo on it would make this so much easier for the user, and it wouldn’t make it look like your Web site just crashed.
In another vein, you know, if I were in charge of QA for a heavily-trafficked, constantly updated site, I’d have more than one automated link checker running constantly on the pages. Sure, you get a performance hit as your spiders troll the sections, but you ought to have bandwidth to spare for it, and it would hopefully find broken crap before your users saw it. Or before many, anyway. Just one spider per section on constant rotation to make sure your links are as fresh as possible.
Of course, some intern is in charge of QA for most of these places, and by QA, I mean making photoQApies. Isn’t that how college students spell it these days?
Primo 106 marketing has chosen to enumerate the images that compose its home page:
That should greatly amuse people with screen readers. Perhaps they should have numbered them in reverse order, so that it provided a countdown to the end of the things on the page.
Also, perhaps you might have wanted to throw in your tagline in that alt text somewhere. Just sayin’.
A mysterious software bug in 17 lottery machines used by the D.C. Lottery and Charitable Games Control Board in Washington left several dozen winning instant ticketholders unable to immediately cash their prize tickets last week.
The problem, according to Jay Young, chief operating officer of the lottery board, was tracked to the proprietary software that validates instant tickets with winning numbers, but the exact cause hasn’t been determined. The lottery board’s other 523 ticket machines were not affected, and winning ticket holders could cash their tickets at those machines. The problem occurred April 30 but was resolved by Monday.
The lottery machines hereabouts never seem to award me cash prizes; must be a software defect. Of course, I don’t tend to play the instant games. As fatalistic as I am, I just cannot put down my money on a ticket which is either a winner or more probably a loser at the minute I buy it. I prefer to wait a couple of days before losing.
I’m into delayed mortification, I guess, which is why I got into IT instead of something with more immediate negative result feedback, such as being a stuntman or bull riding.
Friends, I think we’ve moved enough from dumb terminal mainframe applications that most modern users do not expect the ENTER key to move them from one green- or amber-hued field to the next. Ergo, perhaps it’s time to establish, yea verily, a best practice for what the ENTER key should do in your application or form, especially when an edit box has focus.
Now we all know how it works when a radio button, checkbox, or button has focus: the ENTER key activates the button, toggles the checkbox, or sets the radio button. Okay, cool. But the whole ENTER key while in a text box thing seems to have a random number generator attached to it. I’ve seen the ENTER key do the following:
- Act as though the user clicked SUBMIT/SAVE or what have you.
- Act as though the user clicked the first button on the screen layout, which happened to be the CLEAR/RESET button (which the application set focus to on page load for some reason).
- Make the Internet browser trigger the DING! sound.
- In the case of the 2008 Subzero Dream Kitchen Sweepstakes, it identifies that data is missing if there’s no data in the field:
I think we can agree that validating the presence of data in only the field with the focus is not what we wanted. If you have some data in the field in which you press ENTER, the form sounds the DING! for you without providing other messages.
In absence of any other prevailing reasons why not to make the application behave in a reasonable fashion
* Note to designers, project managers, developers: “Because I want it like that” or “Because it’s already like that” are not inherently reasonable answers.
Sometimes, even well-intentioned designers and developers errantly use the old cut-and-paste trick to replicate existing things, such as table rows in layouts such as we see in this e-mail:
Sadly, though, even well-intentioned designers and developers are only designers and developers. In this case, no doubt the person cloned the first row in the table and used it as a microtemplate for all others in the table. Unfortunately, that person forgot to change the alt text for the Gifts image.
That’s why you have to test every thing, every time, QAsmonauts. Because this time it’s the alt text, but next time it could be the image filename (resulting in the wrong image or a broken image) or it could be the target of the link.
When you’re designing a form (I’m using the general you, QA; I realize that designing is actually done by a 23 year old fresh out of college whose previous credits include a MySpace page and a Web log that ran for two weeks during the designer’s junior year of high school), you should put some consistency into your default values for your drop-down lists/combo boxes. Of course, since you (I mean the specific you, QA) have insights into best practices (at least those identified here), you should have something to say when the designer does something based on his or her whim.
I’m sure I’ve mentioned this before, but come on, designers and developers, you do know that it’s very poor form–and it’s likely to be very abandoned form/promotion/application when your site relies on pop-up browser windows that the browsers themselves block.
I mention it again because the news flash hasn’t made its way around the Internet yet. In the last couple of days, I’ve found a couple of sites using Flash that try to open a new window from within the Flash, and in both cases Firefox and Internet Explorer 7 say nuh-uh, girlfriend.
The first is the home page for Graco Baby Products. The first time you visit it, and only the first time you visit it apparently, it displays a sweepstakes program of some sort:
If you click that Enter Now button, you’re done. The pop-up is blocked and the page won’t display the link again the next time you reload the page. Which makes the odds better for the people who actually get to it, I guess.
The Best Buy Hang with Hancock Better Summer Sweepstakes does the same thing. Here’s the page with the Flash-based Enter Today link:
Click that link, and:
I told you guys once, I told you a thousand times about that pop-up blocker. Watch your AJAX, watch your plugins, and freaking test the thing before you send it to QA or put it live. But QA is a tell you once, tell you a thousand times sort of job.
Memo from reader Isarian:
Found a bug you might want to feature on QAHY – it affects E*Trade Financial’s IRA sign-up process. To reproduce:
1) Navigate to https://us.etrade.com/e/t/home/transacct
2) Click on “Apply Online”
3) Enter test user information, enter CAPTCHA string, select “Individual Account”, set Account type to “Individual Retirement Account”, click on “Continue”
4) Enter test user information, click on “Continue”
5) Select “Cash Account”, click on “Continue”
6) “How did you hear about us” field shows test fields left behind, see screenshot
I’ll be sending the same on to E*Trade – I’m guessing that it affects all of their referral menus since it’s likely they all populate using the same fields.
Note that QAHY does not actually endorse following those steps, as using junk data on production servers violates federal law if prosecutors are done working on their campaigns for attorney general or governor or reading Perry Mason novels for practical insight.
Isarian sends along this screenshot:
This drop-down list is probably managed administratively through an interface accessible to E*Trade staff, including testing. Remember what I said about trusting administrators? Yeah, that applies, although these test entries probably conform to applicable data entry.
I doubt that testers were conducting this sort of testing (checking to see that dynamic entries appeared in this list)–or at least, I really hope not. Instead, this might have happened when deploying code from a staging environment and just copying up the database.
It’s never a bad idea to buzz through dynamically driven items like this to make sure that test data doesn’t crop up as part of your deployment testing. If you’ve got time, the wherewithal, and access, it wouldn’t hurt to review the admin data through the admin interface to ensure that the administrators’ fat fingers hit the right keys before they clicked Save.
And as for Isarian’s comment I’m guessing that it affects all of their referral menus since it’s likely they all populate using the same fields, well, Isarian is young and has not seen the Web application administrative interfaces that I have, where the individual dynamic tables and the interfaces for entering them are added exactly as they’re needed, meaning that a drop-down list like this might have its own administrative screen somewhere whose data only shows up in this one place. Sad, but true. Check every thing, every time, you know.
Philosophical musings present in alt text in the Ballard 25th Anniversary Sweepstakes.
Am I an istant winner? If so, what does it mean to my existence and consciousness that I crave istant things? Are istant things the opposite of extant things?
Of course, it could be a typo, but why remove the mysteries from the everyday world?
Don’t you hate it when your slam glam new newspaper site redesign, now with its extra blinky ads crammed into it and 30 second home page load times on broadband connections, leaks its navigation all over the text?
If so, do not apply at StLToday.com.
Because I don’t think they mind a bit over there.
Also in this month’s Software Test and Performance, Edward J. Correia talks about his experience with a Web site that’s suddenly national in scope, leading to a huge spike in visitors/users:
Watching the Today Show one morning in late January, I saw a segment about Rottenneighbor.com, a Web site relatively new at the time that lets people identify and rate their neighbors—good or bad— and post comments about them. The idea is to give people about to relocate a semblance of who lives nearby.
Those media blasts will spike your load far beyond what your normal operating parameters would indicate. The site normally runs 100 concurrent users and has tested out okay at 200 users will get to drink from the firehose after a piece on a morning program.
You’d better keep aware of whatever other marketing or PR is going on with your site to know when to worry.
I once worked on a site with rich media that was getting the full court press, including a Good Morning America segment. You’d better believe that your Director made sure that ship weathered the storm, including rejecting an ill-conceived “optimization” at the end of an all-nighter, werd.
(For a comment on another program that failed, see the post on the Simpsonize Me thing.)
Also, take note in Correia’s column about what application behavior he expects under load, and make it so.
Using sex to sell an automated testing product or service with a comely lass in a pink cocktail dress lying before an open laptop? They thought it couldn’t be done, but Gomez.com disagreed!
On the other hand, it’s better than looking at that TestComplete fist-through-the-laptop guy in another ad.
(Ad seen in this month’s Software Test & Performance magazine.)
To keep myself up to date with all the latest movings and shakings in the industry so that I can mock them appropriately, I subscribe to a number of the free industry magazines. Hey, if someone wants to send me a magazine just because I’m the owner of a small business in the IT field, all the better. However, every couple of months, the publishers like to poke me into “renewing” my free subscription, which means that I have to go back and fill out three or more pages of survey forms. Survey forms I’ve already filled out when I subscribed and when I resubscribed every quarter since.
They don’t bother to prepopulate my previous answers, oh no. Instead, I get pages of checkboxes (check all that apply) to identify what portions of the company I manage. As a small business owner, I manage them all, but there’s no “All of the above” or “Any of the above if I need to.”
So I get frustrated with them and rely on random answers. But enough about that. Let’s talk about InformationWeek‘s problematic renewal forms.
When you complete an entry to the Hungry-Man Lucky 07 Sweepstakes, it offers you a chance to print a coupon:
The coupon, and the rest of the page in solid black. Hewlett-Packard and all of the Cartridge Worlds/Walgreens in the world thank Launchpad for its efforts to stimulate the demand for toner and ink cartridges around the world.
You want to know how this sort of thing gets through? In most cases, coupon printing runs through a third party ActiveX widget or whatnot, so it’s not the agency’s problem when they go awry or it’s not the agency’s problem that the customer/user is printing a black field; that waste comes out of someone else’s pocket. There’s no responsibility in for the agency when their team can point fingers at third party integrations or whatnot.
However, it looks like this thing uses technology developed by Launchpad, so the problem is that the company just didn’t test it. Also, another problem is that you can print the coupon as many times as you want. Traditionally, programs of this nature are limited to a distinct number of coupons and somehow try to limit individual users or computers to a single coupon. If that’s a requirement here, Launchpad has failed miserably.
If you’re like me, you’re printing out hundred just in case Hungry-Man coupons become the money after the apocalypse.
The headline would seem indicative: Apple’s Safari, Mozilla’s Firefox lose market share:
Apple Inc.’s ploy to gain browser market share by pushing Safari to users with an update tool normally used for security fixes failed to boost its overall share, a Web metrics company said yesterday.
Instead, Safari’s share fell last month to 5.5%, down from March’s 5.8%, while Microsoft’s Internet Explorer increased its dominance by growing to 76% from March’s 74.8%. It was the first time Internet Explorer (IE) gained share since October 2007.
Firefox’s share also fell in April by nearly a percentage point from the month prior. The open-source browser, which had accounted for 17.8% of the usage market in March, dropped to 17% last month. It was the largest one-month drop in the browser’s market share since May 2007, and put an end to a run of five consecutive months of gains.
Developers and designers will remain oblivious to the implications, however, and will continue to test their work only in their preferred browsers, ensuring that Web sites and applications remain quirky, to say the least, in the dominant Web browser.