QA Image Library
Check out the growing QA Image Library. This is my personal colleciton of Slack Images for that perfect QA Moment.
Find Empty Name Ids
One of the challenges with writing any QA automation is XPaths. They are essential to finding elements on a page. You need them to verify functionality or to take some action - such as clicking a button.'
The XPath helps automation find that location, it's primarily built using name ids. The reason name ids are important is because they are supposed to be unique on a page.
More often than not, Developers will leave out adding name ids. This means that QA has to use the full XPath location. This now makes the automation code risky because if someone makes a simple change to the page - such as adding a new element, the automation test may fail. This is because the XPath flow is broken.
Use JQuery to Help with Ids
If you're testing a site that uses jQuery, you can run this simple script to find all the areas of the page that don't have a name ID:
$('*:not([id]):not([class])').css("border","2px solid red");
To use this simply open up the Chrome console panel and paste in the above code. If the page element doesn't have an ID or class, the element will get highlighted in red.
Not every single DIV tag needs a class or ID, but this is a good technique to find out where they are missing on the page.
Here's the code in a bookmarklet format, so that you can run it whenever you want:
If you know about Bookmarklets, then you know that you can simply Drag/Drop this to your Bookmark toolbar: Check Name IDs
Knowlegde is Powerful
Knowing the availability of empty DIVs without a name ID can help with the automation process - QA can now request an ID in all the key points in the web code.
Simply take a screen shot and ask Devs to put name IDs where needed.
Webpage Spell-Check Extension
Catching misspelled words can be tricky and not a fun job for QA to do. Sometimes it's easy to find a misspelled word when the misspelled word seems obvious - but more often than not you may not catch the words.
Four Things that Makes This a Practical Tool
- You can instantly check the spelling on any page. Doesn't matter if the page is on a secure location or on your hard drive. Om
- You can enable this so that it's always on when your testing certain domains.
- You can edit the content on the page using the Control Key - that way you can test to make sure that correct spelled word doesn't break the design of the site.
- The application uses Google Chrome spell checker. As you add words to the dictionary in other applications, the word won't get flagged by Spell-Check as incorrect.
This is a pretty cool tool, and once you have it set up - you can ignore it until you suddenly see some words with the red lines under them.
This allows you to simply check off "Website Spell Check" as a value add service by your QA team.
Having a dedicated QA team is about as essential as having an editor for a newspaper or book publisher. QA will find things that developers will miss.
In these "trouble times" some companies may look to cut QA resources to save some money.
Joe Biden Parody
Four Reasons to Keep QA
- Second Set of Eyes on the changes - A QA Engineer can spot check the changes before it goes live, from checking to make sure that there's no risk to database locks to double-checking the critical path is working fine. QA can mitigate the impact of product changes.
- Domain Experience - A good QA team knows the product and can test changes based on how different customers may use the product. There might be different ways customers can interact with the feature and the best team to test it would be QA. In addition, during the off-time, QA should be doing research on industry changes and can use that knowledge to help better test product changes.
- Documentation Overview - Hard to believe but in QA, It's not always about bugs. QA can review help and tips to see if the terminology makes sense. Documentation may make sense in the design phase, but when going through a flow, QA can catch some ways it breaks the flow.
- Different Environment testing - QA can test the feature against different environments - such as different browsers or platforms. In addition, QA may want to test features against different locations to see if language or currency changes may break design or functionality.
A good manual QA team is just part of the winning team to delivering an awesome product.
I remember hearing at the Boston's Software Test Professionals Conference - "QA Testing is the little known Secret Ingredient to Start Ups."
QA Interview Questions
Due to the world-wide slowdown, some QA Engineers are now looking for new jobs. Being prepared for a job interview can really help make or break your chances of working with the company.
Over the years, I have collected a lot of useful interview questions. Here are a few that I keep seeing over and over, they may appear in different forms.
Sample QA Interview Questions
Sample Interview Questions that you may get asked:
Tell me about yourself.
This is an open-ended questioned. This is your chance to sell them on who you are and what value you bring to the position.
What is your experience working with Engineering?
Another open-ended question to see how you communicate with other teams.
Describe the type of QA testing have you done.
Don't just throw out terms, like Regression and Automation. Explain what you did in these environments. Come with specific examples of where your actions made a difference or talk about which testing that you enjoy working with.
What are some examples of pushing back when testing a ticket/issue?
Give an example of where you challenged a developer over an issue that you found. Explain why you felt it was an issue and what you did to push the issue forward. Don't make up a story, as you may be asked the same question by different people that are involved in the interview process.
When you audit other QA engineers work, what type of things are you looking for?
If you don't do any code reviews, talk about your team communications. Don't forget your stand-ups, team meetings, and Slack chats. Explain how you're an active participant to the QA team.
Can you give an example of how you handled testing a functionality when there were no specs.
This question is a test of your ticket ownership and how you manage issues. Talk about specific examples where testing an issue didn't go as planned - at least for the developer.
What do you do on a day to day basis?
Another open-ended question. This is usually asked to see what involvement you have with the team. If your applying for a leadership position, make sure to mention the various managerial tasks. If your applying for a technical position, make sure to talk about doing technical research and other tasks.
Kanban Board for QA
This is a sample of a QA Kanban Board that was done a few years ago. Some of the project names were changed to keep it simple.
This team uses Kanban for project management because its easier to focus on tasks rather than the deadline.
It's good idea to use this type of tracking so that people will know what needs to be done and if things are are being worked on.
In this project example, there was a single dedicated QA resource for automation. His job was to make sure that Automation was always up and running. In other teams I have worked on, they would have a separate Kanban board for automation tasks. Usually the availability of time for enhancements is scarce.
Documentation is important - This is something that QA should be doing all the time. QA should always be on the front line of creating and updating the documents. This makes it easy for team members to take over projects when QA resources are on vacation or furlough.
Excellent MEME Images
It's been a while since I added some new QA Meme images into the QA Graphic Library.
Here are various MEME graphics that I have been using in the past couple of months.
Visit the QA Graphic Library to see all.
Here are a few quick video clips that I use in Slack:
I am testing this as a new blog post, just seeing how Boostrap handles videos. If it works well, I'll certainly add additional video snips.
Test Better When Working From Home
As a result of the COVID-19 outbreak, many QA Engineers are now working from home. This may cause some issues with trying to stay focus while still delivering quality testing.
Here are some ways that can help stay focus and be a successful QA Engineer.
Keep a Daily Journal
During this social distancing period, track your home progress with a daily journal. A journal is one way to measure your daily productivity. It's a good way to show that you're being a productive
Writing Prompts are a good way to get your day started in the right directions. Here are seven suggested writing prompts:
- What challenges did you face yesterday?
- What testing technique would you like to learn today?
- What areas of testing could you use work to learn more about?
- What QA blog post topic would be interesting to read?
- What's something new you can learn today that can help you test better?
- Learn some new SQL trick and share with the team.
- If you had to re-do yesterday again, what would you do better?
Set Daily Goals and Expectations
At the start of the day, write down what you plan to accomplish today. Challenge yourself to get more done than you think is possible.
Writing down your goals helps focus on what you need to accomplish for the day. Simply spend five minutes each day and write down the things that you want to accomplish for the day.
Sample Daily Goals:
- Make sure that the testing queue is clear for the latest code freeze
- Update two automation test cases for the next release
- Learn something new with text formating in Jira
- Bonus: Update the QA Wiki page with SQL tips done with date sorting.
Working from home can be challenging when the kids are also at home. It can be hard to stay focus when everyone wants your attention.
One way around this is to chunk your QA tasks so that you're in the work zone for a set amount of time.
Also it's helpful to publish your daily schedule so that everyone knows when your in meeting and more importantly when deadlines happen - such as code freeze or release day.
Never Under Estimate the Value of Testing
Software QA is all testing and validation. We want to make sure things work as the product team planned and as customers expect it to work.
However, every once in a while the meaning of test changes. Such as this tweet from the World Health Organization:
Health Care Testing
Health Care testing is very important. Tearing down barriers and restrictions are important to make sure people are properly diagnosed.
For the next eight weeks many people in the United States will be inconvenient because of the COVID-19 outbreaks.
Next week we'll talk about ways QA can be just as productive working remotely as they can in the office.
Testing Tool Blunders
She defined a "Blunder" as:
- Mistake caused by ignorance, carelessness or not thinking things through.
- People blunder when they don't see or understand.
The same thing could be applied to automation tools.
Automation Application Blunders
Over the past five years, I have evaluated various automation tools. There has been a pattern of feature blunders that keep occurring. They are more focus on making automation easy to create and not really focus on the day-to-day automation functionality.
There's a lot more to the automation process. So here's a couple of blunders that I see over and over:
Not Debugging Automation Friendly
Did you know that QA Engineers spend a lot of time debugging automation issues?
We spend a ton of time having to find out why automation test case fails. Then we have to decide if its an issue that needs to be reported to engineering or if the test case needs to be fixed.
Automation Test Cases systems should make it easy to debug and update.
I have encountered some automation tools where you would have to "start from scratch" and completely rewrite the automation step to fix an issue.
Reusing Automation Functionality
Many test cases have similar functionality. The test may share the same path to get to certain functionality - at some point, it changes to do something else. Wouldn't it be great to reuse common code.
Wouldn't it be great if a code change was made, say an XPath change, was made there was a single source file to change?
I have found many test applications where it's not possible to share code. So then I have to make the change to the same XPath in multiple locations. Which is very time-consuming.
Test Automation systems should have the ability to reuse code. Even better to allow XPath value to be defined in a global library so it can be used elsewhere.
Ya, There Are More Blunders...
Those two are the ones that I see over and over again. I have discovered that automation tools are not always written for all the common QA automation tasks.
Sure it's nice to make it easy to create an automation test case. But there's so much more into the whole process.
The purpose of these blog posts is to provide you with all the information you ever wanted to know about Software Quality Assurance testing but were afraid to ask. These blog posts will cover topics, such as what is software quality assurance testing, how to create test plans, how to design test cases, and how to create automated tests. They will also cover best practices for software quality assurance testing and provide tips and tricks to make testing more efficient and effective.
Check out all the Blog Posts.