QA blog postings

QA Postings

Earliest: November 26, 2017Latest: January 20, 2020Total: 96
June 24, 2019

Dynamic Bookmarklets

Did you know that you can create dynamic bookmarks using Bookmarklets?

Dynamic makes it easy when you want to go right to a site using a predefined date. This is done by using a JavaScript date function and passing the results to the browser. You're not limited to just date functions, you could use any type of JavaScript condition to build the URL.

Some "Real World" Examples:

Atlassian Jira - Show me all the new issues created in the past 7 days. (This could easily be set up as a Dashboard widget - but that's a post for another day.)

Atlassian Jira - Show me all issues that have this week tag, where the tag format tag might look like: deployment-2019-01-07

Google Photos - Show me all photos taken on this day of the year or you can get fancy and say "Show me all photos taken 90-days ago."

Change the URL Server - you can check to see what day it is and change the URL to point to production on release day.

Bookmarklets Code

Sample Code

Here's a sample code


javascript:function url() {
 var date = new Date();
 var y = date.getFullYear(); 
 var m = date.getMonth() +1; 
 if(m < 10){m = '0' + m;}
 var d = date.getDate();
 if(d < 10){d = '0' + d;}
 var date = y + "-" + m + "-" + d;

 return 'https://www.company.com/analytics/web/?date'+ date +'/';

} window.open(url(),"_blank");
June 17, 2019

Engineering Liability of Code

Some QA Engineers thinks that once a product hits production that they no longer have any ownership. They would be wrong.

As for Engineers, they own the change until the product actually ships. So during test periods, QA would assign any issues related to the change to that particular developer. They certainly can deferrer the bug to someone else, but in most cases, they should be a single point of contact of the change.

In my experience, I have found that developers will celebrate when code gets merged into the release branch. However, it isn't over yet. There still could be bugs/issues related to the change not discovered by initial testing.

Think Twice Code Once
Found this graphic on the WallpaperFool.com website. Imagine how much better code would be if all developers followed this?

Always be Updating the Test Case Repository

QA has ownership long after the product hits production. After a product/feature ships, it's the QA Engineer job to update the regression tests around the change.

If the change was small, such as a cosmetic image change, then there's no reason to go all out on automation and manual regression.

However, if the change is big, then the QA engineer responsibility is to make sure that regression test cases and manual test cases are updated. If they aren't other QA Engineers that run the tests may report the change as a bug.

When to Update Automation?

I believe that Automation should be updated once the feature is merged into the branch that's being shipped. (In some companies this would be the 'Master' branch.)

This way the automation test cases can still be run and may discover other issues that may be missed by manual QA.

Note: This topic came about when a developer once told me that they aren't responsible for a bug because it was merged into the release branch with no issues. Wrong! You own it because you made changes. This doesn't mean that you have to fix it, but you should figure out how/why a bug was discovered.

June 10, 2019

Incognito Filter

A question that I often ponder: Is there a way to force Bookmarks to open in a secure window or as a different profile?

This is because there are some situations where I don't want to store cookie data. I want to access the site if I am a new customer and see how the website functions.

Unfortunately, due to security rules, this is not possible. There is a work around.

Incognito Filter

Incognito Filter to The Rescue

Incognito Filter is a Chrome extension that will force a pre-defined set of URLs open up in Incognito mode instead of a new tab or regular browser window.

You can define the URL simply by clicking on the extension icon and then clicking on the "Add Website."

Bonus Configuration

You can get fancy by trigging Incognito Filter functionality by adding a regular expression, such as qarocks$. To add, simply go into Incognito Filter and then click on "Show Options" button and then type in qarocks$ and then the "Add RegEx" button.

What this does is that any URL that ends with qarocks$ will open in an incognito window.

Now with that set, simply edit any bookmark that you have and add the qarocks$ at the end of the url.

June 3, 2019

Broken Windows

Anyone that works in QA should be aware of the Broken Windows Theory.

The broken windows theory is a criminological theory that states that visible signs of crime, anti-social behavior, and civil disorder create an urban environment that encourages further crime and disorder, including serious crimes.

While not directly related to Quality Software Testing, it's important to understand how "a broken window" can make people feel that the area is neglected and as a results, its quality has gone downhill.

I would suggest rewording the above, for QA purposes to:

The broken windows theory is a quality assurance theory that states that visible signs of bugs, anti-quality behavior, and poor usability create an environment that encourages further bugs and complexity, including blocking issues.

Broken Windows Pages

Read the article on The Atlantic - 100 Years of Atlantic Stories, Broken Windows, "The Police and neighborhood safety"

Thing Things QA should take away from the Broken Window story:

  1. Fixing the small bugs will give the appearance that the product is more stable - even though bigger bugs still exist.
  2. "If you take care of the little things, then you can prevent a lot of the big things"
  3. When testing functionality - everything matters. It's QA responsibility to document and report why issues should be fixed.

What do you think?

Have you read the "Broken Window" story? Do you think it has some message to QA engineering?

May 27, 2019

Browser Cookie Size

Did you know that there is a limit on the length of a website cookie?

You might see the following when frequently visiting websites:

Browser Cookie Limit

This happens because the total size of all the cookies being sent is greater than 4,096 bytes (4k). There is some information on the page of each Browser version. You can find out the technical limit on each browser from the Livewire article: "Learn the Maximum Size That a Web Cookie Can Be"

I have found that this happens on certain websites that have a lot of 3rd party connections.

Today's a short post because it's Memorial Day and time is better spent enjoying the day.

May 20, 2019

Massachusetts QA Fails

Finding QA "misses" that has happened in Massachusetts has been tricky. Every company has their issues, and not all of it makes the headlines.

I did manage to find these two stories when QA Testing would have helped avoid the public embarrassment. I'll continue to look and when I find others, I'll link them to this post:

Dorchester Snow

Dorchester Historical Society Holiday Card - 2018

The Issue

The Dorchester Historical Society sent out postcards in mid-November letting people know of an upcoming open house. The problem was that the wording of the card. The card read: " We're dreaming of a white Dorchester."

Once people got the postcard, they started complaining on social media on the double meaning of the message. The Dorchester Historical Society realized the mistake and responded on social media that they were removing the graphic from social media.

Lesson We All Can Learn From This

It doesn't hurt to test the Holiday Card design in front of customers or employees. Find out what they think of it. It's not only a chance to see if the intended message gets across but if there's anything that needs to be corrected.

Mass Rmv Mistake

Massachusetts RMV Tells Thousands their License are Being Suspended -2018

The Issue

In April 2018, the Massachusetts RMV send notices to more than 9,000 drivers that their licenses would be suspended because of outstanding fines.

The notices were wrong as the recently installed software had a technical glitch. The RMV identified the problem immediately and send out additional letters to drivers letting them know of the mistake. In addition, they put notices on their website and in the wait queue when calling the DMV.

Lesson We All Can Learn From This

Always Test, Test, Test, new software implementations. It cost the DMV a lot of money to fix the issue - mailing additional letters and updating various customer point of contacts.

You didn't need to test to make sure that all the addresses are qualified matches - but a good sample would have indicated a problem with the DB query.

May 13, 2019

QA Testing (International)

Software Testing is very important to every organization. You don't want customers to have a bad experience and you don't want your organization to look bad.

Here are a couple of examples of where a bug slipped QA and made it into production:

Australia misspells ?responsibility? on 46M new $50 bank notes.

Turns out that the Reserve Bank of Australia (RBA) spelled "responsibility" as "responsibilty" on millions of the new yellow notes.

The RBA has confirmed that there was at least one typo on the note and will be fixed in the next printing. For now, 46-million banknotes will have the small misprinting.

FYI: The A$50 is one of the most popular notes that is circulated in Australia.

For more details

https://www.foxnews.com/world/australia-responsibility-bank-note

Airline Prices $16,000 Luxury Flight at $675 After ‘Ticketing Error' on New Year's Day

For a brief few hours on New Year's Day Cathay Pacific Airways sold thousands of first and business-class seats for huge discounts.

Seats that normally would go for $16,000 were selling for $675.

Cathay has publicly announced that it would honor all such seat prices.

Massachusetts QA

Next week I'll highlight some costly QA mistakes in Massachusetts.

May 6, 2019

xPath Browser Wars

If you're doing any type of QA Automation, you'll likely run into XPATH. You'll need that to identify components on a webpage for interaction. You may want to click a button or simply verify that functionality is working.

You can learn a lot more about XPaths in Selenium over on Guru99.

All the modern browsers have a cool way to get the XPATH of an object:

  • Right click on a Web Element (Button/Text) and select Inspect
  • Right click on the highlighted Source Code
  • Select Copy and then 'Copy XPATH'

xpaths Example

All XPath Values Are NOT the Same

It turns out that FireFox is the only browser that returns the Absolute Path of an XPath. All the other browsers return the Relative XPath value.

Here's the difference of when I selected the same element on a page using different browsers:

Chrome:

//*[@id="manage-the-tabs-6"]/div[1]/div[1]/div[1]/div/div[1]/div/button/span

Opera

//*[@id="manage-the-tabs-6"]/div[1]/div[1]/div[1]/div/div[1]/div/button/span

Maxthon Browser

//*[@id="manage-the-tabs-6"]/div[1]/div[1]/div[1]/div/div[1]/div/button/span

Safari

//*[@id="manage-the-tabs-6"]/div[1]/div[1]/div[1]/div/div[1]/div/button/span

FireFox:

Uses the Absolute XPath when you copy the XPath.

/html/body/div[1]/div[4]/div/div[1]/div[4]/company-tab-navigation/div/div/div[7]/div[1]/div[1]/div[1]/div/div[1]/div/button

March 25, 2019

Adobe Flash

If you haven't heard, Adobe Flash is going away. Adobe has announced that it will no longer supported by December 31, 2020.

Starting in July - Chrome Users will get a Warning

Starting in July, Chrome will start warning users that Flash will no longer be supported after December 2020. You should only see this anytime you load up a website that still has Flash.

This will start appearing in Chrome desktop version 76 ? which is expected to ship in July.

Check out the Chrome Browser Release Schedule.

Did Steve Jobs Killed Flash?

Many people consider the demise of Adobe Flash started when Steve Job wouldn't allow it to run on any iOS devices.

There's a letter still on apple.com from Steve Jobs on why Apple never supported Flash on any version of iOS ( iPhone, iPods and iPads). Check out the Steve Job's "Thoughts on Flash" letter.

Steve Jobs Flash Letter

Timeline of the Adobe Flash

July 10, 2015 - Third Zero Day for Flash. Various Technology sites report another major security hole was encountered in Flash. There is no available fix from Adobe. This is the second major Flash bug found in a five-day period.

July 12, 2015 - Firefox started blocking all Flash Content from running automaticlly. Users are able to run flash by clicking on the "Allowed" button.

September, 2015 - Google started blocking non-essential content. Content that is smaller than 300x400 pixels - Websites that ran fully on Flash were not impacted.

September 1, 2016 - Google started blocking Flash-based page analytics and background processes.

December 15, 2016 - Google Started Blocking Flash-based videos and content. Users had to enable Flash once visiting a website for the first time.

January 1, 2017 - Microsoft Edge started Blocking Flash Content.

Flash Timeline

There's a good timeline over on chromium.org on Google's actions with Adobe Flash. Check out the Flash Roadmap and learn the history of Flash in Chrome.

Check out the relevant links on the bottom of the page for more interesting links.

Adobe Flash will be removed from all US Government Websites

The US Government has decided to remove Adobe Flash from theirwebsites by the end of July 2019. Senator Ron Wyden has asked governmentagencies toremove the usage of Flash-based plugins from the websitesof the Federal government.

March 18, 2019

Jira new Comment Field

In the latest update Atlassian decided to move away from Media Wiki formatting to Markdown - a more popular text formating.

What this means is that typical formatting won’t work anymore. That’s really bad if you used keyboard shortcuts to paste in code or snippets. The good news is that Markdown is being used by more and more applications - such as Slack and Notion. So learning Markdown isn’t a bad thing.

Jira Comment Field

Example of Code Block

Blocks of code are either fenced by lines with three back-ticks ``` or are indented with four spaces.

Old Way

{code}
...some text
{code}

New Way

```
..some text
```

One of the things I link about the new editor is that I can paste in the Markdown from another editor and the formatting gets applied on Paste. Using the menu options seems to be good for some quick typing.

New to Markdown?

If your new to Markdown, check out the guide over on ghost.org. There are plenty of other documentations available - the best way to learn is to use a note taking app such as Notion or Bear.

What about the Graphical Emoticons?

One of the features that I liked in the old system was the graphical emoticons, especially the Green Checkmark and the white X in the red box. These were perfect for bullet points so people can instantly see what issues are not working.

These are history in the newest Markdown adaption. You'll now have to use the Emoji equivalence:

?U+2705Looks Good
??U+26A0Warning
?U+274CSomething Bad
?U+2620Danger, Will Robertson