Archive for June, 2008

Showing The Data Expectation

Monday, June 30th, 2008 by The Director

g33klady passes along along a Web site for our mockery:

Funny, I thought it was posted on dd mmm yyyy.
Click for full size

Apparently, she was looking for credible information about Web QA.  Somehow, showing the format in which the data should display instead of actual, you know, data sort of ruins that credibility.

We’ve seen that sort of thing before.  How hard is it to add a conditional to a template that says “If there’s no data to display, don’t display the block of text”?  It must be harder than it appears if it takes a committee of developers and project managers to determine that it’s too hard or expensive to bother.

 

Perfection, Denied

Wednesday, June 25th, 2008 by The Director

Well, all right, it wouldn’t have been perfect even if it hadn’t had this mistake, but here’s a Disney e-mail with a subtle flaw in its alt text for the text images:

The apostrophe budget was exhausted
Click for full size

Look closely at any e-mail, and you’ll find at least one typo most of the time.  If you’re in QA, you should look more closely than that.

 

Sending the Wrong Message

Tuesday, June 24th, 2008 by The Director

Kohl’s is running another sweepstakes, and this one includes an object lesson about testing ancillary elements of your promotions.

The problem doesn’t lie with the form itself; you fill it out, and on the thank you for entering page it allows you to send a friend a link to the sweepstakes.  That’s becoming pretty standard fare, and I didn’t get an error with the tell-a-friend form.

However.

(more…)

Making The Unintended Political Statements

Monday, June 23rd, 2008 by The Director

A company uses an open source control and finds that its default options inflame political sensitivities of users:

 My wife is in charge of online donations for a large international relief agency, and she recently received a strongly worded e-mail from the leader of a pro-Israeli group accusing her organization of anti-Semitism and anti-Zionism, and threatening to spread the word among potential Jewish contributors–not a good thing.

I’ll spare you the rant, but the upshot was that we learned that the “country” drop-down menu on one of her organization’s donations pages omits Israel as a country and includes “Palestine.” Among other things, this means that Israelis can’t donate to the organization from these pages.

This isn’t the case on the agency’s own site, but it was the case on the pages for Causes, which puts widgets on social networks like Facebook and MySpace that let members donate to their favorite charities (including my wife’s).

When I got a hold of Sean Parker and Joe Green (the co-founders of Project Agape, which created Causes), they tried to fob me off with a “Thanks, we’ll look into this” response. Not what I was looking for.

I pointed out that this isn’t just any omission and addition. When you omit Israel and add Palestine (which is not even recognized as a country by the United Nations) to a country drop-down menu, you seem to be making a very loaded political statement.

This reiterates two points I’ve made previously:

  • Never trust software (or libraries, or sample code, or snippets, or whatever) that you get from somewhere else.  Always vet it as you would your own code.
  • Be aware of political situations, particularly country names that can change through government change, declarations of independence, or whatnot, and know what message your software sends when you omit some or include some.

(Link seen on Instapundit.)

Adding Firefox 3 To Your Browser Compatibility Testing

Thursday, June 19th, 2008 by The Director

As of Monday, the Mozilla organization released Firefox 3 to the world. If your organization build Web sites or applications, you’re going to want to download it posthaste and add it to your browser compatibility tests.
Based on a couple of go-rounds with new browser releases, here are a couple of bullet point hints to help you accommodate this release in your plans:

  • Firefox, unlike Internet Explorer, will have a rapid adoption curve. People who use Firefox tend to lean to the technically savvy, and businesses who let their users install their own browsers won’t block the upgrade. That means you won’t have to test side by side Firefox 2 and Firefox 3 for as long as you would IE. I’d recommend planning on a couple of months anyway and reviewing the Web traffic numbers after that.
  • It never hurts to keep the installer for Firefox 2 around or a machine running Firefox 2 just for investigations into what the problem is when users complain.
  • Once you’ve installed Firefox 3, test your already completed Web sites and applications in it to keep ahead of any problems users might see when they adopt it.
  • If your organization has ongoing maintenance contracts with clients, make sure the maintenance includes time to run through the site with new browsers and fixing issues that might occur in the future.
  • For fun, don’t forget the Firefox on Macintosh and Linux.

Good luck.

Loving What You Do Vs Pride In Your Work

Wednesday, June 18th, 2008 by The Director

I was offering some confidential counseling to a former co-worker last night, Jake over at ThurisaTech who hates his boss Stan and who thinks the lead developer over there, Rick, deserves a beating, when I again alluded to the fact that technology is almost a vocation for certain elements of the IT world, namely the developers and designers who’ve been sold for the last ten years or so that IT is a vocation, not a job, and they love what they do, but not necessarily what they build.

A bunch of them over at Thurisa love what they do, but they don’t take pride in their craftsmanship, which results in shoddy applications delivered at the deadline, with about the maximum number of known issues that the client will accept before signing the check and with a vast number of other issues that the client doesn’t know about but will soon find out. Of course, those developers over at Thurisa who build those shoddy applications love what they do. They work with the latest hip technologies and they get to spend time on their own pet projects (just like Google!) and they have LAN parties on the company network. It’s just the pesky demand from clients that cuts into their enjoyment, so the real paying work has to get done quickly and sloppily. They don’t care about the ultimate workmanship in their product.

If these guys were in the manufacturing world, they’d be all agog about the new drill press machine or deburring equipment. “Look, I’m learning C# on Rails Extreme!” they say happily. “I’m punching holes in metal!” “The coffee machine here is still only a quarter!” “We could build a Web service to handle that query and expose it, enabling us to build a Facebook app that uses it!” “Oooh, a new lathe!”

A real craftsman, on the other hand, prefers to do things right and likes to have a finished product that reflects the best he could do (without the normal IT rationalizations of timeline or budget, such as “We did the best we could do with the application given our short timeline and the fact that the customer didn’t want to pay for quality.”) A craftsman recognizes the tools for what they are and knows that his skills are demonstrated not in what tools he can operate without sawing off his own thumbs, but what he can make of them that won’t fall down in a crosswind of greater than 2 miles per hour or can withstand forces of greater than 2oz per square foot no matter how cool the thing is or how quickly he built it. The IT world sadly lacks craftsmen, and it makes QA’s job that much more difficult. (Just kidding! It’s logically fallacious to assert one can make the impossible more difficult.)

Sadly, the vocational enjoyment that developers and designers live for don’t pay the bills, and without some pride in workmanship or at least the drive to do things right instead of the drive to do things cool, a company’s going to run into some trouble when its clients figure out they’re being given short shrift to technical faddery.

However, by that time, the developers will have moved onto cooler pastures without learning a lesson, and the next projects will begin with the same fundamental flaws.

Call In The String Terminator

Tuesday, June 17th, 2008 by The Director

TradeMarkets.com tries for the World Record in JavaScript errors on a page:

Fifteen, sixteen, seventeen...not the record!
Click for full size

However, as we all know, the world record is 25, and TradeMarkets comes in at only 17 (by my count) unterminated string constants.

Given that this happens on every page, I’m blaming the template and probably navigational items or other page elements again. Which goes to prove, you need to be very careful with your templates or other things where your mistakes will appear on every page. Especially when you copy and paste defective elements so they appear more than once on each page.

Gimme 4 Steps, Not 3

Monday, June 16th, 2008 by The Director

Opting out of a Wall Street Journal junk mail list looks to be pretty easy, but the technical writer in me recognizes a missing step:

Gimme 3 steps, and you'll never see me no more
Click for full size

If each individual question is a step, so is clicking the Submit button.

Also, the QA guy in me points out that e-mail displays inconsistently as email in the title and e-mail in the form. Poor form, Peter.

Getting Code In Touch With Its Feminine Side

Friday, June 13th, 2008 by The Director

The Wall Street Journal reports that a developer poobah in Silicon Valley who happens to be a woman thinks that coding best practices are feminine by nature:

Emma McGrattan, the senior vice-president of engineering for computer-database company Ingres–and one of Silicon Valley’s highest-ranking female programmers–insists that men and women write code differently. Women are more touchy-feely and considerate of those who will use the code later, she says. They’ll intersperse their code–those strings of instructions that result in nifty applications and programs–with helpful comments and directions, explaining why they wrote the lines the way they did and exactly how they did it.

Men, on the other hand:

Men, on the other hand, have no such pretenses. Often, “they try to show how clever they are by writing very cryptic code,” she tells the Business Technology Blog. “They try to obfuscate things in the code,” and don’t leave clear directions for people using it later. McGrattan boasts that 70% to 80% of the time, she can look at a chunk of computer code and tell if it was written by a man or a woman.

The solution is best practices, filtered through the lens of femininity:

In an effort to make Ingres’s computer code more user-friendly and gender-neutral, McGrattan helped institute new coding standards at the company. They require programmers to include a detailed set of comments before each block of code explaining what the piece of code does and why; developers also must supply a detailed history of any changes they have made to the code. The rules apply to both Ingres employees and members of the open-source community who contribute code to Ingres’s products.

Also, Ingres has abandoned programming languages that use he as the pronoun placeholder in method calls (no more he.Close() for them).

Heavens to murgatroid, don’t we have enough problems getting developers male and female to not be stupid without having to turn adoption of best practices as some front in the gender war?

(Link seen on Michael Williams – Master of None.)

The Google Vector

Thursday, June 12th, 2008 by The Director

Sure, you think you’re pretty smart. You’ve got a workflow outlined with some handy validation and logic that ensures that the user goes through the workflow in order and does what you intend. Say, for instance, you’re Wine.com. Here’s the home page; note how it loads a modal thing to force the user to select a state to ensure that he or she can actually buy wine online:

Choose your state.
Click for full size

What happens if you click continue without making a selection. Why, it gives you a handy message that indicates the very necessity of choosing a state:

A validation message!  Our work here is done.
Click for full size

Our work here is done, right? Well, no, you’re not accounting for the Google vector. (more…)

Decipher the Code Words

Thursday, June 12th, 2008 by The Director

What do you suppose Mozilla means by this? Mozilla says Firefox 3.0 bug-free, launches RC2?

Do they mean:

  • They have only tested enough to find the easy problems and have fixed those that they found.
  • They have not tested at all (the no testing=no defects philosophy).
  • They have reclassified all issues as known issues or have marked them as not reproducible or user error in the defect tracker.
  • They do not believe that it’s an issue if a workaround, however convoluted, exists.
  • They explain that only an experienced QA person would find the issue, so it’s not worth fixing.

Because, frankly, if there aren’t any open issues, you’re not trying hard enough.

I Want One

Wednesday, June 11th, 2008 by The Director

I’ve never gotten one of these before:

Most of us web developers will never encounter an HTTP 414 Error. According to the W3C, 414 means:

Request-URI Too Long – The server is refusing to service the request because the Request-URI is longer than the server is willing to interpret. This rare condition is only likely to occur when a client has improperly converted a POST request to a GET request with long query information, when the client has descended into a URI “black hole” of redirection (e.g., a redirected URI prefix that points to a suffix of itself), or when the server is under attack by a client attempting to exploit security holes present in some servers using fixed-length buffers for reading or manipulating the Request-URI.

But I’m putting one on my Amazon wish list as of now.

I Guess They’re Looking For Volunteers

Wednesday, June 11th, 2008 by The Director

A QA job posting on craigslist offers an interesting compensation package:

Compensation: N/A

Another job listing (not in QA) offers an unprecedented benefits package never before seen on this planet or elsewhere!

We offer unprecedented benefits to our employees. In addition to a fantastic salary base and compensation plan for all of our positions, we offer an excellent career path. We offer one of the best available benefit programs for small businesses, including healthcare plan, 401(k), long-term and short-term disability, life insurance and 3 weeks paid time off plus holidays.

Actually, I think the precedent has been set that a job has to offer these things to attract anything but unpaid interns.

I haven’t done my post on craigslist job postings for IT yet, have I? Let me put it on my to-do list.

QAHY Gets Mail

Wednesday, June 11th, 2008 by The Director

As QAHY.com grows in popularity, we’ve started getting correspondence from around the world about quality matters:

Incoming!
Click for full size

I want to thank all of you for your kind words and offers. Also, although I’m not interested in quality replicas, I would shell out for a good quality replicant or two, Nexus-6 models or later.

QA Is Not Every Thing, Once

Monday, June 9th, 2008 by The Director

It’s every thing, every time. As this high school principal and his minions discovered:

Westlake High School officials misspelled “education” on the diplomas distributed last weekend. It’s been the subject of mockery on local radio.

Principal Timothy Freeman says he sent back the diplomas once to correct another error. When the diplomas came back, no one bothered to check things they thought were right the first time.

In information technology, that happens most frequently with version control problems (in design) or new code that doesn’t play well with the other code. You need to test it (or proofread) it all from scratch every iteration; if you only check resolved issues, you’re going to be embarrassed.

(Link seen on Electric Venom.)

WashingtonPost.com Danged If It Doesn’t, Danged If It Does

Friday, June 6th, 2008 by The Director

Problems with ad serving software on WashingtonPost.com. Sometimes, on the home page, there’s a missing object:

The object isn't there.
Click for full size

And even when the object is there, it has problems:

Hah!  This is an object, but a broken object.
Click for full size

I assume this is the ad server since the problem doesn’t happen on every page load and when it appears with the missing method argument, it leaves an empty spot marked Advertisement.

You should know by now, fellow QA, that when you have to integrate your company’s product with third party code, you do test that code out as thoroughly as your own company’s code, don’t you? Don’t leave that testing to the hands of your development staff, since they’ll be even less rigorous with it than they are with their own stuff. You have got to identify the gotchas so you can work around them and prevent them from spoiling your user’s experience.

The Return on Non-Investment

Thursday, June 5th, 2008 by The Director

It’s hard to justify QA expenditure and effort with clear ROI sorts of metrics. Unfortunately, as this case from The Daily WTF indicates, you can sometimes very easily show what happens when you don’t invest in QA and proper testing:

It was the calm before the storm. Brokers were sitting at their desks in silence, watching the clock. The market was going to open in minutes, and huge volume orders would start pouring in. The developers working for the firm – a mid-size proprietary trading outfit on Wall Street – were already busy; an order from the previous day should’ve expired automatically, but didn’t. It was manually fixed moments after it was discovered.

“Huh,” Daniil shrugged, “I wonder if this has anything to do with the latest release.” They’d just rolled out a minor update to their proprietary trading system. Daniil had overheard his boss barking at a junior developer that they needed the feature in two days – testing, review, standard processes be damned. “Done” had a higher priority than “working.”

Unfortunately, when you can attach a monetary value to a bollix, the normal scapegoats in the testing department are already cleaning out their desks.

Local Roads = No Checkpoints, Mostly

Wednesday, June 4th, 2008 by The Director

Target’s Find a Store feature offers limited usability for its Get Directions feature, since it obviously lacks insight into inconsequential details like street names:

Local Roads?  Where we're going we don't need Local Roads
Click for full size

That’s a mapping utility of dubious usability. Now, if you wanted to go Southern, I guess they could insert landmarks properly:

  1. Y’all go down to the old Phillips station that’s now a used tire shop and turn RIGHT (West).
  2. Go over the crick and on the little dirt road by the magnolia tree where Bud Walters crashed his bike and turn RIGHT (North).
  3. When you get to the pole where Jeb’s scarecrow used to be, turn RIGHT (North)….

Nah.

Instead, we’ll launch this application with a couple of known issues.

A Government Whitewash, Or Poor Browser Compatibility?

Wednesday, June 4th, 2008 by The Director

The interior pages of the Web site for the City of Black Jack, Missouri (in reality, a small municipality well within the suburban borders of metropolitan St. Louis) has some problems with Firefox:

A government whitewash
Click for full size

If it was developed by government employees, they probably haven’t heard of Firefox yet.

The Star Must Mean The Image Is Important

Tuesday, June 3rd, 2008 by The Director

A Men’s Wearhouse e-mail apparently indicates this image is important by giving the image an asterisk as its alt text:

You're gonna like how this image looks in a screen reader
Click for full size

As a reminder, if you don’t want to include alt text with an image, the proper and Section 508 compliant way to do so is with an empty alt attribute, not with random characters in it.