Archive for the ‘Miscellany’ Category

I’ve Tested Those Applications

Tuesday, September 30th, 2014 by The Director

Seen on Twitter:

I’ve tested applications like that, where the Web pages are filled with tabs full of edit boxes crammed into the space with inscrutable labels that, I’m assured, the users know what they mean.

Well, maybe.

Sometimes, these interface designs come straight off of some crowded paper form that a worker would fill out with pen, checking boxes and putting tic marks or numbers in boxes. On paper, this is as quick as moving your eye, moving the pen, and pressing down. With a screen, it’s a little different, as it involves tabbing or moving the mouse and clicking and then typing something, scanning the form, moving the mouse, clicking, typing some more, and so on.

Other times, these interface designs pretty directly capture what the worker saw in a mainframe application or in a terminal window connecting to a mainframe application. With Windows or Web-safe colors instead of amber text on a black background that the worker. A lot of needless tabbing because interfaces could not easily branch. If you check this box, then these blank spaces become relevant. No, paper couldn’t do that and mainframes couldn’t do that, so the new Windows or Web application won’t do that. Because the users are used to it.

However:

  • The workers (“users”) today aren’t the users of tomorrow; if you’re not designing the interface right because it’s good enough for the grizzled greybeard who’s been around forever, you’re not appreciating how much easier you could make the process for n00bs. That is, probably most of the users. Especially if you’re writing software for a company that’s okay with this sort of interface. I imagine it has a lot of turnover and a lot of people getting trained to do it the hard way just because it’s always been done.
     
  • Notice that we use the term “users” a lot in relation to people who work with the software we build. That’s defining them in terms of their relationship with our software, but their main jobs are doing something else. If your software design captures workers and traps them into being users too much, it drags on their productivity. Computer software should make their jobs easier and more streamlined, not slower than working with pen and paper. Sure, you can say that the data collection for analysis on the back-end is the driver for the software, but that doesn’t mean you should ignore other efficiencies you can introduce with a good (or at least better than this) design.

I read somewhere recently about hiring tester with test skills rather than domain knowledge, and sure, that’s the right balance, however, domain knowledge is what allows you to spot these sorts of problems. You might be hired because you’re a good tester, but you ought to study up on the industry whose software you’re testing. Me, I’ve been known to refresh myself on the basics of chemistry to better test chemical modeling software and to grok at least a little bit of the workflow of a warehouse when testing order fulfillment software.

Because otherwise you’re only logging the defects qua defects like “The Tare Weight edit box allows alpha characters” and not the higher level concerns about why you’d expect a worker would enter the total shipping weight before the number of items to ship.

Domain knowledge gives you the insight about the worker’s starting point in your software and what he wants to do to get done with your software. And that will give you the possible paths for his interaction without having to make all the possibilities available on one screen in tiny print.

An Inadvertent Password Review

Wednesday, September 10th, 2014 by The Director

So I’m at a presentation last week, and the presenter’s got his little tablet plugged into the projector. He wanders off and starts talking to someone, and his tablet shuts off automatically after a bit.

So he goes to the tablet and looks down at it. He starts it back up, and he types his password to unlock it, and….

Because it’s a tablet, the keyboard displays onscreen and shows his key taps.

As does the projector.

So we all saw his password. On one hand, it was a strong password. On the other hand, we all saw it.

Don’t do that.

It Shouldn’t Be Any Different

Friday, September 5th, 2014 by The Director

The banner on deals.ebay.com:

The banner rightly sized

The same banner on the eBay Gold store (wait, you didn’t know eBay had a gold store? Neither did its testers!):

The banner incorrectly sized

Now, why would the height of the banner be different on one page?

Because they’re different, no matter how much the same they seem.

One of the tricks of testing is recognizing how things differ in your applications and Web sites. Although the pages and features try to share code and styling whenever possible, they diverge more than it appears. As you test across features, you’ll get a sense of where different code does the same things, so you’ll learn where to test similar workflows whenever something changes.

That includes checking the styling of different pages within your site when a CSS file changes.

The Benefits of the QA Outlook

Tuesday, September 2nd, 2014 by The Director

A Perfect Dose of Pessimism:

Listen up Pollyannas of the world: A dose of pessimism may do you good.

Experts say pessimism can at times be beneficial to a person’s physical and mental well-being. Some studies have found that having a more negative outlook of the future may result in a longer and healthier life. Pessimism and optimism are opposite ends of a spectrum of personality traits, and people generally fall somewhere in between.

“All too often in the literature and in the public conversation, we want people to be more than 90% optimistic,” said Dilip Jeste, a professor of psychiatry and neuroscience at the University of California San Diego. “That’s not good. It is much better to have a balanced perspective and have some pessimistic streak in your personality in order to succeed.”

The sidebar lists four different types of pessimism. Which one is QA’s perspective? Number 5, the classified one.

You’ve Gotten Your Junk Data in My Junk Tests

Friday, August 22nd, 2014 by The Director

One of the recurring pratfalls in testing your integration with third party widgets shared by, and updateable by, others who use it is their test data becomes available to you sometimes.

Take, for instance, testing integration with Google maps. It’s becoming harder and harder to submit a string that returns no results. Search for asdf, for example, an old tester favorite.

ASDF, Ltd.

Someone in testing adding Google Places has added that as test data, and it’s there for all of us to see.

Fingered by an Error Message

Tuesday, August 19th, 2014 by The Director

Why would a user do that?

None of that stopped 26-year-old Diondre J— of Slidell, who checked into Slidell Memorial Hospital on Aug. 5 under the name of her deceased sister, Delores, Slidell Police Department spokesman Daniel Seuzeneau said Wednesday.

When hospital staff attempted to put the information into the hospital’s database, an error message informed them they might have been treating a dead person. The police were contacted, and Diondre J— was stopped in the hospital parking lot.

It’s good to see someone was on the job testing to see what would happen if you tried to enter a patient’s date of treatment after the patient’s date of death.

Because sometimes a user might do that.

The Secret of My Success

Tuesday, June 24th, 2014 by The Director

Haters gonna hate – but it makes them better at their job: Grumpy and negative people are more efficient than happy colleagues:

Everyone hates a hater. They’re the ones who hate the sun because it’s too hot, and the breeze because it’s too cold.

The rest of us, then, can take comfort in the fact that haters may not want to get involved in as many activities as the rest of us.

But in a twist of irony, that grumpy person you know may actually be better at their job since they spend so much time on fewer activities.

It’s not true, of course.

Haters don’t hate other haters.

But the rest could hold true.

You Can Learn From Others’ Failures

Tuesday, June 17th, 2014 by The Director

10 Things You Can Learn From Bad Copy:

We’ve all read copy that makes us cringe. Sometimes it’s hard to put a finger on exactly what it is that makes the copy so bad. Nonetheless, its lack of appeal doesn’t go unnoticed.

Of course, writing is subjective in nature, but there are certain blunders that are universal. While poor writing doesn’t do much to engage the reader or lend authority to its publisher, it can help you gain a better understanding of what is needed to produce quality content.

It’s most applicable to content-heavy Web sites, but some are more broadly applicable to applications in general. Including #8, Grammar Matters:

Obviously, you wouldn’t use poor grammar on purpose. Unfortunately, many don’t know when they’re using poor grammar.

That’s one of the things we’re here for.

(Link via SupaTrey.)

Like A Prometheus of Vocabulary, I Bring You New Tools

Wednesday, June 4th, 2014 by The Director

The Australians and New Zealanders have a word, rort, that we should employ as part of our software testing lexicon.

I’m going to rort this Web site.

Feel free to drop that in your next stand-up. Bad Australian accent is optional.

A Quiz Where I Proudly Scored 0

Tuesday, June 3rd, 2014 by The Director

The 32 Words That Used Incorrectly Can Make You Look Bad.

So much of our written communication, including emails, texts, tweets, and online conversations are informal, but I still take pride in using full sentences, correct punctuation, and the right word for the job. It differentiates me from people who don’t, and I hope it serves me well in picking up clients and contacts.

A Forensic Psychology View of Software Development

Thursday, May 1st, 2014 by The Director

A developer has a bit of a right-on rant about programming is stressful insanity:

Imagine joining an engineering team. You’re excited and full of ideas, probably just out of school and a world of clean, beautiful designs, awe-inspiring in their aesthetic unity of purpose, economy, and strength. You start by meeting Mary, project leader for a bridge in a major metropolitan area. Mary introduces you to Fred, after you get through the fifteen security checks installed by Dave because Dave had his sweater stolen off his desk once and Never Again. Fred only works with wood, so you ask why he’s involved because this bridge is supposed to allow rush-hour traffic full of cars full of mortal humans to cross a 200-foot drop over rapids. Don’t worry, says Mary, Fred’s going to handle the walkways. What walkways? Well Fred made a good case for walkways and they’re going to add to the bridge’s appeal. Of course, they’ll have to be built without railings, because there’s a strict no railings rule enforced by Phil, who’s not an engineer. Nobody’s sure what Phil does, but it’s definitely full of synergy and has to do with upper management, whom none of the engineers want to deal with so they just let Phil do what he wants. Sara, meanwhile, has found several hemorrhaging-edge paving techniques, and worked them all into the bridge design, so you’ll have to build around each one as the bridge progresses, since each one means different underlying support and safety concerns. Tom and Harry have been working together for years, but have an ongoing feud over whether to use metric or imperial measurements, and it’s become a case of “whoever got to that part of the design first.” This has been such a headache for the people actually screwing things together, they’ve given up and just forced, hammered, or welded their way through the day with whatever parts were handy. Also, the bridge was designed as a suspension bridge, but nobody actually knew how to build a suspension bridge, so they got halfway through it and then just added extra support columns to keep the thing standing, but they left the suspension cables because they’re still sort of holding up parts of the bridge. Nobody knows which parts, but everybody’s pretty sure they’re important parts. After the introductions are made, you are invited to come up with some new ideas, but you don’t have any because you’re a propulsion engineer and don’t know anything about bridges.

We’re not a above a bit of absurdist civil engineering metaphors to describe our predicament.

But it’s good to see a developer with a forest level view of the strange nature of software development.

(Link via tweet.)

Recruiters, Explained

Wednesday, April 30th, 2014 by The Director

On Quora, a recruiter explains recruiters.

Question:

Why do recruiters always contact me about jobs that are below me?
I’m a director at a major company, why do I constantly get recruiters contacting me about senior designer and design manager roles, when these are clearly below my skill set?

The beginning of the answer:

1) Recruiting is a pyramid with high turnover. By definition, most recruiters are not as skilled, which means they’re just calling anyone and everyone. Maybe you show up in a database with an old resume. Maybe they’re searching off keywords. Maybe they’ve been taught to call up the chain in hopes of getting new job orders. But you’re experiencing something a systemic fault. While it seems annoying, it works enough to keep many of those people employed.

He lists some other reasons which might be valid, but this one is the most prevalent in my experience. When they try to connect with you via LinkedIn, note how many of them look to be 23 years old. That’s another clue that they’re casting a wide, wide net, and your name is just a temporary variable in their patter.

Full disclosure: I’ve done some work for this guy before, so he definitely falls into one of his later categories. So I’ll take his word for it that not all other recruiters are nebbishes.

Lessons from An Engineer

Tuesday, April 29th, 2014 by The Director

A slideshow of What I Learned in Engineering School presents a number of lessons for software development if you look at them the right way.

For example:

A skyscraper is a vertically cantilevered beam. The primary structural design consdieration is not resistance to vertical (gravity) loads, but resistance to lateral loads from wind and earthquakes. For this reason, tall structures function and are designed conceptually as large beams cantilevered from the ground.

Just like how we have to test software. A building is supposed to stand up, so simplistically speaking, you’d think it would have to be strong and rigid against gravity. But there are other forces at work to account for.

So with a piece of software: simplistically, it’s designed to perform a task, and simplistic testing makes sure it does that task adequately. However, when looking at it from the tester’s perspective, you have to account for other forces besides the drive to get to the software’s goal. You’ve got to account for the real world, people making mistakes, and interactions that are sometimes hard to predict in a requirements guide or on a napkin.

And:

Work with the natural order. The locks of the Panama Canal are operated without pumps. Gravity moves millions of gallons of water from lakes to the lock chambers, where ships are raised and lowered 85 feet in passing between the Atlantic and Pacific oceans. As long as precipitation refills the lakes,the locks continue to function.

Your software will work better for your users if it conforms to their knowledge, their expectations, and their habits. Also, your processes will work better if you take into account your corporate (or organizational) environment, people, habits, and whatnot. You can’t come in and make everybody change to the better way you know just because you know it’s better. You have to take stock of what’s already going on and craft the better processes without trying to push water uphill.

At any rate, it’s worth a read with an eye to the lessons you can apply to software development.

What He Said

Tuesday, April 22nd, 2014 by The Director

Wayne Ariola in SD Times:

Remember: The cost of quality isn’t the price of creating quality software; it’s the penalty or risk incurred by failing to deliver quality software.

Word to your mother, who doesn’t understand why the computer thing doesn’t work any more and is afraid to touch computers because some online provider used her as a guinea pig in some new-feature experiment with bugs built right in.

How Low Can You Go?

Tuesday, March 18th, 2014 by The Director

I think I have found the source of the problem:

Google Error #000

I expected some sort of enlightenment when I got all the way back to error 000, but that’s not the case, actually.

Or is Google denying there’s an error here?

Fun fact: 000 is 000 in binary. It is one of 10 numbers that are the same.

Your Site’s Next Registered User

Wednesday, March 12th, 2014 by The Director

Nobody would ever do that: Dunedin man changes name to 99-character monster:

A Dunedin man has changed his name to the longest legally allowed, after apparently losing a bet five years ago.

The 22-year-old man from Normanby is now legally known as ‘Full Metal Havok More Sexy N Intelligent Than Spock And All The Superheroes Combined With Frostnova’ – just one character shy of Department of Internal Affairs’ (DIA) 100 character limit.

Which proves the man is not in QA; otherwise, he would have renamed himself with a 101-character name.

Unsub

Friday, March 7th, 2014 by The Director

Unsub, as you fellow fans of the all-too-brief David Soul television series know, means Unknown Subject in television law enforcement, or it did briefly in the first Bush administration.

In the IT world, it could refer to Unknown Subcontractor. And while it’s not a crime, it’s unethical.

Have you ever sat in on a conference call with a developer who talks a good game at a high level, but when asked specific questions, he defers and dissembles? Someone who is not very responsive to issues: when you call him or email him about something in the morning, you can’t reach him, but the problem is solved (or is taken a stab at) overnight?

You know why he’s like that? Because he’s not the one doing the work. And sometimes, contractors hide that they’re subcontracting from their clients.

We use only the most highly trained subcontractors
This cat will test your application for t4/hr.
On the Internet and in remote/distributed work environments, nobody knows you’re a cat or if you’re using a cat as a subcontractor

I can see how it would happen semi-innocently. You’ve been working with a bunch of clients, and they’ve all got tasks that suddenly overlap. So you reach out to a colleague and offer him a couple dollars less just this one time. That works out, so you think, “Hey, maybe I’ll use Joe for this client….” and suddenly someone’s running a clandestine contracting company without the client or clients knowing.

It’s unethical to present your resume to a client and then to use someone else to do the work. It’s okay if you plan to do this at the outset and make sure your client understands you’ve got staff that will handle the work. That’s about the only way a day laborer like an IT consultant can grow a business. But if you say or hint that you’re going to do the work but don’t, that’s lying.

Our mobile testers try everything
This hidden subcontractor is testing your mobile app for t4/hr. (Four Treats an hour).

If the ethical considerations don’t stop you, consider the practical risks. One day you’re a beloved national treasure of a composer, the next you’re an embarrassment with a ghost composer. Or you’re a highly respected scientist/politician who ends up on a Cracked.com list because your behind-the-scenes temporary hires are lazy.

Don’t do it. And if you’re hiring or contracting the work out, make sure to ask, “So you will be doing this work, won’t you?”

A Car Guy’s View of Software Development

Tuesday, February 18th, 2014 by The Director

In this case, the development of software automobiles:

Once upon a time, software was written by people who knew what they were doing, like Mel and his descendants. They were generally solitary, socially awkward fellows with strong awareness of TSR gaming. They were hugely effective at doing things like getting an Atari 2600 to run Pac-Man or writing operating system kernels that never crashed, but they weren’t terribly manageable and they could be real pricks when you got in their way. I once worked with a fellow who had been at the company in question for twenty-three years and had personally written a nontrivial percentage of the nine million lines of code that, when compiled, became our primary product. He was un-fire-able and everybody knew it. There were things that only he knew.

This kind of situation might work out well for designing bridges or building guitars (not that Paul Reed Smith appears to miss Joe Knaggs all that much, to use an inside-baseball example) but it’s hell on your average dipshit thirty-five-year-old middle manager, who has effectively zero leverage on the wizard in the basement. Therefore, a movement started in the software business about fifteen years ago to ensure that no more wizards were ever created. It works like this: Instead of hiring five guys who really know their job at seventy bucks an hour each, you hire a team of fifty drooling morons at seven bucks an hour each. You make them program in pairs, with one typing and the other once watching him type (yes! This is a real thing! It’s called “extreme programming”!) or you use a piece of software to give them each a tiny bit of the big project.

This is what you get from a management perspective: fifty reports who are all pathetically grateful for the work instead of five arrogant wizards, the ability to fire anybody you like at any time withouiret consequence, the ability to demand outrageous work hours and/or conditions, (I was just told that a major American corporation is introducing “bench seating” for its programmers, to save space) and a product that nominally fulfills the spec. This is what you get from a user perspective: the kind of crapware that requires updates twice a week to fix bugs introduced with the previous updates. Remember the days when you could buy software that simply worked, on a floppy disk or cartridge, with no updates required? Those were the wizards at work. Today, you get diverse teams of interchangeable, agile, open-office, skill-compatible resources that produce steaming piles of garbage.

He doesn’t speak about xth generation languages, which allow the software to be badly written far away from and with little knowledge of the hardware it’s running on by developers without knowledge of it and who are forgiven by advances in that underlying hardware (and now virtual hardware) that can cover-up some poor design and coding practices, third-party components of dubious provenance relied on for core processing, and Internet cut-and-paste.

But, other than that, he explains very well why my next car is going to be a Mercedes. A Mercedes 35 hp.

(Link via.)

Seahawks-Tested (Almost)

Tuesday, February 4th, 2014 by The Director

A game player tries to score 1000 points in Madden NFL 25, but instead finds a defect at a common point:

About 10 minutes into the game, I had scored 262 points. The above score is actually wrong. We’ve run into this problem before: once you get to 255 points, Madden stops counting correctly. Not that it doesn’t try.

At the bottom, it says the Seahawks have scored 255 points. At the top, 266. Neither was correct, and I was pretty amused that a computer could attempt the most basic of tasks — addition — and come up with two kinds of wrong.

From what I saw of the actual Superbowl yesterday, this is uncannily accurate.

Remember, friends, in QA numerology, 256 is a magic number. You should try it out even when there’s no explicit boundary stated for an action or a variable. Along with magic numbers like 1025, 65537, and other talismanic digital sequences.

(Link via tweet.)

Get Ready for Some New Top-Level Domains

Friday, January 24th, 2014 by The Director

Beginning next week, your software users might bring with them some new email addresses and URLs as new top-level domains become available:

Starting Jan. 29, the first of hundreds of new top-level Web domains—the suffixes that appear at the end of website addresses like .com and .net—will become available for the first time in more than a decade.

Seven Web domains will be released next week, including .bike, .clothing and .singles. The new domains are expected to draw interest mainly from entrepreneurs and small-business owners seeking Web addresses that more closely relate to the products and services they sell than the Web addresses that are currently available to them.

This means that any part of your application that validates email addresses or URLs might need to get a little exercise.