An In Depth Look At Browser Scrolling

March 17th, 2017 by The Director

Over at the Microsoft Edge blog, Nolan Lawson has an in-depth look of the simple scroll:

Scrolling is one of the oldest interactions on the web. Long before we had pull-to-refresh or infinite-loading lists, the humble scrollbar solved the web’s original scaling problem: how can we interact with content that’s stretched beyond the available viewport?

Today, scrolling is still the most fundamental interaction on the web, and perhaps the most misunderstood. For instance, do you know the difference between the following scenarios?

  • User scrolls with two fingers on a touch pad
  • User scrolls with one finger on a touch screen
  • User scrolls with a mouse wheel on a physical mouse
  • User clicks the sidebar and drags it up and down
  • User presses up, down, PageUp, PageDown, or spacebar keys on a keyboard

As you might recall, I onct wrote a song about it: “There Must Be Fifty Ways To Scroll Your Window“.

The piece on the Edge blog goes into greater detail that your developers might find interesting.

If You Don’t Do It Because Jim Holmes and I Told You To….

March 16th, 2017 by The Director

Use the serial/Oxford comma because the Maine courts say you should:

If you have ever doubted the importance of the humble Oxford comma, let this supremely persnickety Maine labor dispute set you straight.

. . . .

This is what the law says about activities that do NOT merit overtime pay. Pay attention to the first sentence:

The canning, processing, preserving, freezing, drying, marketing, storing, packing for shipment or distribution of:
(1) Agricultural produce;
(2) Meat and fish products; and
(3) Perishable foods.

Of course, the Oxford comma gets all the credit, but note the parallel construction also makes it clear which verbs apply: Canning, processing, preserving, freezing, drying, marketing, storing, packing are gerunds. Shipment and distribution are not. If they were to be included as equivalent, they would be shipping and distributing.

So take the advice of your humble Director: Use the serial comma and parallel construction–verbs ending in -ing, infinitives, gerunds (which are verbs ending in -ing that act as nouns as in the above example), and so on–to clearly express items that are the same in the purpose of the sentence.

Writing and to express oneself clearly are incorrect and confusing.

What’s The Craziest Test You Always Perform?

March 14th, 2017 by The Director

In my back pocket, where normal people carry pictures of their families, I have a list of common things I test every time I encounter a new application. It includes old favorites like the Hamlet test and new favorites like assorted comment strings, but nestled amongst the almost indistinguishable lines of random text, I have a set of SQL keywords:

SELECT FROM WHERE GROUP BY HAVING ORDER BY INSERT UPDATE WHERE MERGE DELETE BEGIN WORK START TRANSACTION COMMIT ROLLBACK CREATE DROP TRUNCATE ALTER

I added this back when I was doing a lot of testing for a company that used an offshore development team for much of its development work, and the offshore team was prone to making the same coding mistakes from project to project. I discovered at one point that they were preventing SQL injection attacks by barring users from entering SQL keywords in edit boxes. So I added the line to the list of tests lo, those many years ago, and I’ve included it in my basic test checklist ever since.

It’s taken me thirty seconds or a minute to run the test every time I’ve encountered a new form in many, many different projects for many, many different clients.

But I found another issue that the string triggered in a recent project, which validated my running the test perpetually, kind of like keeping every little gimcrack and doodad I’ve ever encountered in my closet or garage is validated whenever I need something like it and I don’t have to run to the hardware store to spend a buck to buy a new one.

So what’s the craziest test you always run, and why do you run it?

QA Music: Out of the Frying Pan

March 13th, 2017 by The Director

Skillet, “Feel Invincible”:

It’s Monday, though. The feeling will pass.

QA Music: Sing Me A Song of Itinerant Consulting

March 6th, 2017 by The Director

Cage the Elephant, “Ain’t No Rest for the Wicked”:

Now if you’ll excuse me, I’ve some grifting to do.

And He Wants To Sign Up For Your Web Site

March 2nd, 2017 by The Director

Meet the Man Who Claimed to Have the World’s Longest Last Name.

His name was Adolph Blaine Charles David Earl Frederick Gerald Hubert Irvin John Kenneth Lloyd Martin Nero Oliver Paul Quincy Randolph Sherman Thomas Uncas Victor William Xerxes Yancy Zeus Wolfe­schlegel­stein­hausen­berger­dorff­welche­vor­altern­waren­gewissen­haft­schafers­wessen­schafe­waren­wohl­gepflege­und­sorg­faltig­keit­be­schutzen­vor­an­greifen­durch­ihr­raub­gierig­feinde­welche­vor­altern­zwolf­hundert­tausend­jah­res­voran­die­er­scheinen­von­der­erste­erde­mensch­der­raum­schiff­genacht­mit­tung­stein­und­sieben­iridium­elek­trisch­motors­ge­brauch­licht­als­sein­ur­sprung­von­kraft­ge­start­sein­lange­fahrt­hin­zwischen­stern­artig­raum­auf­der­suchen­nach­bar­schaft­der­stern­welche­ge­habt­be­wohn­bar­planeten­kreise­drehen­sich­und­wo­hin­der­neue­rasse­von­ver­stand­ig­mensch­lich­keit­konnte­fort­pflanzen­und­sicher­freuen­an­lebens­lang­lich­freude­und­ru­he­mit­nicht­ein­furcht­vor­an­greifen­vor­anderer­intelligent­ge­schopfs­von­hin­zwischen­stern­art­ig­raum, Senior.

Which is shorter than many names in my address book of test data.

Bonus good points for the long unbroken last name which is good for testing wrapping and truncation.

QA Music: Annual Review Self-Assessment

January 30th, 2017 by The Director

It’s time for annual reviews. How do you think you did in 2016?

Here’s mine: “Monster” by Skillet.

Belated Birthday Wishes to Rutger Hauer

January 24th, 2017 by The Director

Yesterday was Rutger Hauer’s 73rd birthday, and we at QAHY wish him the very best and many more.

Why? Because we’re members of the Rutger Hauer school of software testing, remember.

QA Music: Every Good Existentialist Story

January 23rd, 2017 by The Director

Gemini Syndrome, “Remember We Die”:

This week, I’m starting all user stories the proper Existentialist way: “Remember, we die, but….”

Remember, we die, but during the course of his meaningless existence, the store clerk wants to scan or type the SKU to find out if other stores in the local area have the same item in different sizes in stock.

Hey, Hey, Hey, It’s Herb Albert! Or Not.

January 20th, 2017 by The Director

Amazon illustrates a test case I have been overlooking.

If you search for herb alpert i feel you, you get no results:


Click for full size

Which is really weird, because I’ve bought Herb Alpert’s I Feel You. And I just successfully found it. However, I previously searched for i feel you herb alpert:


Click for full size

It looks like in the first case, when the artist’s name came first, Amazon incorrectly “corrected” the name to herb albert before conducting the search and then returned me an erroneous result.

So now in my test cases for searches, I have to alter the order of the search terms to ensure they return the same results.

No Comment

January 18th, 2017 by The Director

I’ve gotten a link to the Big List of Nasty Strings several times in the last couple of days, so it must be going around the social media again. I’ve already used it for a number of years as a second set of strings to test after my first line of strings (including Hamlet) if I have time.

But you know what the BLNS lacks? Code comment markers and other code keywords. Oh, yeah. I like to use these:

<!HTMLComment>

<!

// JavaScript Comment

""" Python Comment
comment that spans multiple lines"""

''' Python Comment
comment that spans multiple lines'''

""" Python Multiline comment end

''' Python Multiline comment end

/* Comment */
*/ Comment ended

?> end PHP Script

REM batch and Oracle comment

-- SQL Line comment

GO //start SQL Script

/// C# XML Tag Comments

' Visual Basic comments

<!--- Cold Fusion Comments

<% ASP Comment <% Response.End %>

<?php php.script(start)

Try those bad Oscars out in your edit boxes. Keep in mind, they might well go into the database without a problem, but as with any other string test, half of the test (and quite often much of the fun) comes when your Web or other application is called upon to display these values again.

For example, WordPress itself cannot handle HTML comments and the end PHP script line above; when I first reviewed this post, the complete text of the post did not display and much of the blog itself did not display (as PHP after the end PHP line did not work).

A Hint For Video Interviews and Sales Calls

January 10th, 2017 by The Director

Whenever I have to take a video call, I spend a couple minutes testing out the angle of the Web cam (and the sound quality of the microphone).

Not only does it ensure that your video call is professional-looking and impressive, but in my case, it can be the difference between frightening someone who doesn’t know me well and impressing them with my well read nature.

That is, I lower the Web cam to hide the bladed weapon collection and focus on the bookshelves below it.

I also remove the room’s second chair and make sure there are no comic book boxes, vacuum cleaners, or piles of rubbish within view.

But, to be honest, I’m still making a fictitious shot, though, because the books behind me are the books I have yet to read.

QA Music: Season’s Greetings

December 19th, 2016 by The Director

Adelitas Way, “Ready for War (Pray for Piece)”:

Well, it has Pray for Peace right in the title. That makes it a Christmas song to me.

How to Become a Consultant

September 20th, 2016 by The Director

Although taken from the medical world, this offers some good advice on how to become a process improvement style consultant.

QA Music – Crashing by Design

September 5th, 2016 by The Director

Peter Townshend, prescient:

Fun Test: Hot Key Race Conditions

August 16th, 2016 by The Director

Did you know if you select multiple items in Mozilla Thunderbird and press Delete followed quickly by enter, Thunderbird deletes the messages and then opens multiple empty message windows?

You can often find unexpected behavior when you trigger two actions at once that the user would never do, such as this particular thing I always do.

In Web testing, you can do this using the Enter key to trigger one button while clicking another or by clicking multiple buttons in quick succession.

In mobile testing, you can do this by tapping two things at once or making two gestures at once. Or by Doing something and pressing the Home button or the Power button.

In desktop application testing, this can be by clicking a button while pressing a hot key or pressing multiple hot keys at once or in rapid succession.

Regardless, the application should always pause other input while taking an action and should always check to see if it has everything it needs to act on when starting an action. In this case, it would be an active, not deleted message.

Will Code for Food

August 10th, 2016 by The Director

Literally. I saw this in the back of Ozark Farm and Neighbor magazine:

At the very cheapest, a domain registration + a year of simple hosting with domain purchase + use of templates and standard copy means that any beef above a couple of steaks is pure profit.

As A Wise Man Once Said….

July 27th, 2016 by The Director

Check out this piece at Ministry of Testing:

When Your Mentor Moves On:
 Dealing with A Change In Ideal Leadership

QA Music: They’ve Come To Snuff The Testing

July 25th, 2016 by The Director

You know it ain’t gonna die.

Alice in Chains, “The Rooster”:

Keeping Your Test Data Out Of Production. Also, Your Production Data.

July 14th, 2016 by The Director

There’s a right way and a wrong way to keep test data out of production. Citigroup chose the wrong way:

It turned out that the error was a result of how the company introduced new alphanumeric branch codes.

When the system was introduced in the mid-1990s, the program code filtered out any transactions that were given three-digit branch codes from 089 to 100 and used those prefixes for testing purposes.

But in 1998, the company started using alphanumeric branch codes as it expanded its business. Among them were the codes 10B, 10C and so on, which the system treated as being within the excluded range, and so their transactions were removed from any reports sent to the SEC.

The SEC routinely sends requests to financial institutions asking them to send all details on transactions between specific dates as a way of checking that nothing untoward is going on. The coding error had resulted in Citigroup failing to send information on 26,810 transactions in over 2,300 such requests.

Citigroup was fined $7,000,000 for the problem which probably stemmed from a lack of communication.


wordpress visitors