QA Blog Posts
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.
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.
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 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."
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.
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.
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:
- Fixing the small bugs will give the appearance that the product is more stable - even though bigger bugs still exist.
- "If you take care of the little things, then you can prevent a lot of the big things"
- 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?
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:
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.
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 Historical Society Holiday Card - 2018
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.
We are very truly sorry about our graphic used for this event. This was an unfortunate oversight on our part and the event photograph has been removed from our social media. We were simply changing the words to the classic Christmas carol and did not think it through properly. https://t.co/2Anki4JF6Nâ" Dorchester Historical Society (@DotHistorical) November 26, 2018
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.
Massachusetts RMV Tells Thousands their License are Being Suspended -2018
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.
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
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.
Happy 2019 all, and to those who bought our good - VERY good surprise âspecialâ on New Yearâs Day, yes - we made a mistake but we look forward to welcoming you on board with your ticket issued. Hope this will make your 2019 âspecialâ too!— Cathay Pacific (@cathaypacific) January 2, 2019
Next week I'll highlight some costly QA mistakes in Massachusetts.
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'
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:
Uses the Absolute XPath when you copy the XPath.
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.
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.
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 theirÂ websites by the end of July 2019. Senator Ron Wyden has asked governmentÂ agencies toÂ remove the usage of Flash-based plugins from the websitesÂ of the Federal government.
Jira new Comment Field
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.
Example of Code Block
Blocks of code are either fenced by lines with three back-ticks ``` or are indented with four spaces.
..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+2620||Danger, Will Robertson|
Page Ruler Redux
Sometime QA testing involves detail testing - making sure that images and page positioning are to spec.
For this the best tool is Page Ruler Redux. It's not a tool that I used frequently, but it does help in those instances when the page elements just don't look right. It's really handy in screenshots - people can clearly see if there's an issue.
Page Ruler Redux Info
Draw a ruler to get pixel dimensions and positioning, and measure elements on any web page.
Six Things I Learned About Page Ruler Redux
- Easily enable the Page Ruler Redux tool by using the Alt P Short cut. This means you don't need to keep the extension icon in the toolbar.
- Enabling Element Mode lets you select the particular element. No second guessing where elements start/end. Useful when you are trying to determine which DIV is responsible for extra space on a page.
- When using the Element Mode, the last item in the style tree is the one most responsible for the layout. You can click on any style in the breadcrumb to see that style selected.
- Enabling Tracking mode helps you select the right element. (Works very similar to Chrome's Select Element Tool.)
- You can position the Page Ruler bar to the bottom of the page by clicking on the down arrow on the top right of the bar.
- You can change the values in the boxes, so you can manually adjust the height or alignment of the selection.
Getting Page Ruler Redux
You can get the Page Ruler Redux Extensions in the Chrome Store.
Page Ruler Redux is only available for Chrome, they are working on a Firefox version.
Blue Button Chrome extension, by the Voice Group, is a handy way to get some quick information about the site you are currently looking at.
Description from the Developer
Hit the Blue Button on any web page, and get an instant, no-frills index of its building blocks. Easily access information on SEO, code and graphics components: from title tags and meta description to scripts and stylesheets to images and fonts.
Why QA should use this
Find Internal and External Stylesheets.
Easily Identify Scripts
Alt Attributes Requirements
Did you know that the image alt tag is required anytime an image is referenced? Blue Button makes sure all the images have the proper Alt tag. QA should note images that don't have the proper Alt tags - which will help SEO.
Getting the Chrome Extension
World Quality Report
This is a free report - you do have to fill in some contact information to get the report. I suspect that this is used to contact you to help gather data for next year's report.
Description from Capgemini
The World Quality Report, which this year interviewed over 1700 respondents from 32 countries, is the only global report analyzing application quality and testing trends. It has been produced annually since 2009.
Now in its 10th edition, the 2018-19 report adopted data collection through computer-aided telephone interviews. Based on analysis of six respondent groups: CIO, VP Application, IT Director, QA/Testing Manager, CDO/CMO, and CTO/Product Head, the report surveyed respondents from across the globe through quantitative interviews followed by qualitative deep-dive discussions.
Five Things I Learned
I am not going to go through all the data in the report. The report encompasses 72 pages, and there's lots of useful information for any type of QA Testing.
- The document is a combination of 1,700 IT Executives who took part in the research study. The Financial Service sector had the highest turnout (19%), followed by the Public Sector (15%).
- The PDF document is searchable - so you quickly find information if you don't want to read the document completely.
- The biggest challenge for agile testing is the "Lack of appropriate test environment and data."
- The two two skill types most sought after are: Functional Test Automation Expertise and Production Quality Monitoring Skills.
- Most High Tech companies are cloud-based (77%!) Knowing Cloud base testing tools is critical for long term QA Employment.
Get the World Quality Report
I would highly recommend getting the report and reading all the information. It's a good way to understand the trends around the world.
Slack Tips for QA
More and more organizations are using Slack as their main communication tool. Knowing some tips/tricks can help QA deliver messages to the team more efficiently.
Here's three style tips on using Slack:
Avoid the Noise and use Threads
Replying to issues and comments via Slack thread can help de-clutter release day noise. To start a thread, simply hover over the message and click on 'Start a thread' icon.
More tips on Threads on the Slack help page.
By using thread to manage issues, new issues won't get distracted by all the conversations of a previously reported issue.
Emoji Icons in Messages
Add the appropriate icon before your message so people can instantly know what's going on:
BackTick Branch Names for Readability
Using backticks on branch names helps make the branch stand out. That way people can quickly identify the branch when they are scanning the Slack conversations.
I have a Keyboard Maestro action set up so that it automatically post the build status of a Git build in a particular Slack channel. This way I don't have to worry about informing the team of the action.
What Wikipedia Can Not Tell You About Test Link
TestLink is a very useful test case repository management software. When the company gets bigger it's time to consider investing in an application that can meet the challenging needs of the company.
I like TestLink, but it just not as useful as it was when we first installed it 8-years ago.
Four Annoyances using TestLink
Here are my annoyances with using TestLink. We currently use TestLink 1.9.3 (Prague).
Integration with Jira/Slack
Most competing test case repository applications have integration with Jira. This allows developers to assign test cases that they would like QA to run when testing a particular issue.
As for Slack, It would be nice to call out particular test cases from a test case repository. For example, if someone ask for the regression test of Cookies in Chrome - someone could link to the actual test case. You can not link to particular test cases in TestLink.
Easy Test Case Import
TestLink isn't fun to work with when you need to add a bunch of test case. This is a problem when your implementing a new feature and want to add a bunch of test cases. There is some support for importing from Excel documents but it is a complex process.
Also vise versa, if there was a major product change, it isn't very easy to modify all the test cases that are impacted by the change.
A Test Case repository should be super flexible so that QA Engineers will want to use it. Its shouldn't be an environment that QA despise using.
The overall feeling about TestLink, from QA team members, is that it is not a very joyful experience.
Better Management of Test Cases
It takes a while to understand how to manage test cases in TestLink. Every once in a while, I'll need to log in and go through the test cases to see which ones are still relevant. It's just a complex process of going through the test cases and removing them them from the current test plan.
Having multiple test plan builds slows down the reporting process - for some unknown reason. I frequently have to cleanup old builds so that the reporting takes a reasonable time to build.
No Automation Support
Automation is now essential to any QA process. TestLink has no automation support. It would be great to have a central application that the QA can understand the coverage.
I wouldn't expect to execute automation from TestLink, but there should be a way to see which issues are being controlled by automation.