Quality Assurance Image Library
Check out the growing QA Image Library. This is my personal colleciton of Slack Images for that perfect QA Moment.
Cobra Effect
The cobra effect is when you provide a solution to a problem that results in the problem becoming worst.
How the effect got it's name:
Many years ago in India there were a lot of Cobras and they were dangerous. The British government thought it would be better to encourage locals to catch the cobras. They ran cash incentives for people to kill them. However, the locals saw this as a business opportunity and started cobra farming. Once the British caught on realized that the incentive wasn't solving the problem they stopped the bounty. The farmers were stuck with a lot of cobras and ended up setting them free. The net result was a lot more cobras than before the bounty.
QA Example
Here is a real-world example where I have seen the Cobra Effect in QA.
The $1 Patch Jar
There was a point in time that we were having too many Production Patches. Many of these patches were a result of engineering not providing detailed descriptions of the risk of the changes being implemented.
Management implemented a "$1 Patch Jar" where those that were responsible for a patch had to put in money. This was to encourage developers to test their code.
The problem was that people were putting in a lot more than $1 just to cover any future mistakes. As a result, Developers were more relax about testing their code knowing that they already "paid" for the bug and the patch count didn't go down.
The jar was discontinued. Management instead implemented more responsibility for Dev and added that responsibility to their performance review.
I intended to post a couple of examples, but I could only think of the one. If I think of something in the future, I'll sure to post that.
Automation
Automation is not testing it's checking.
What is Automation?
Automation makes hunmans more efficient, not less essentials
Automation is not a silver bullet - it won't immediately increase productivity, but if approached correctly, it will eventually support increase releases, greater test coverage, and overall quality of the product.
The Great Debate?
There's this debate in the testing community on the purpose of automation.
There's one group that talks about how automation is testing. They argue that automation tests to make sure that the build is stable and any changes doesn't break existing functionality.
There's a different group that says automation is checking. They argue that automation is only checking predefined paths and not testing situations that may be unique to the change being made. While critical paths may be working, some other functionality may be broken.
Team Checking
I am with the team checking. I believe that the purpose of automation is to check the stability of the build. Once automation passes, QA can perform manual testing.
Automation can be limited to the scope of checking/validating. In my experience, it can be tricky to automation 3rd party integration. Manual testing can be more effective in validating functionality.
Automation Has Value
Saying "Automation is Checking" doesn't change the value of automation. Automation plays a valuable role in the testing process. Don't put your eggs in one basket and solely rely on automation as your testing tool. Automation complements manual testing.
Automation test cases should be designed so that the build/branch is stable for manual testing. It should be checking that the critical paths are working.
Final Thoughts
There's no such thing as a manual or automated tester. Are you a manual or automated programmer?
June QA Images
It's been a while since I added some images to the QA library. Here are some new ones to my growing collection.
Be sure to check out all the QA Images in the QA Image Reference Library
http://www.cryan.com/qa/graphics/2021/QualityAssuranceLogo2021.jpg
http://www.cryan.com/qa/graphics/2021/ReuseAutomationCode.jpg
http://www.cryan.com/qa/graphics/2021/ModernTestingChalk2021.jpg
February QA Images
Here are some QA graphics that I created for fun. I did some searching online and was surprised that there are good options to choose from.
Feel free to use these in any email or Wiki page.
QA Rule 1
Test Better
Think QA
The Art of QA
QA Reference Page
Check out all the QA Images that I have in my QA Library.
The Best 2020 QA Posts
It's time to look back at some of the best posts of 2020. (Check out the 2019 Post.)
- Slack Tips for QA - (February 11) Some useful tips and tricks to get the most out of Slack.
- Dynamic Bookmarklets - (June 24) Great way to build a Bookmark that is time based.
- Letter to the QA Manager - (September 9) An interesting letter that I found. Helpful in understanding the relationship of a QA Engineer and a QA Manager.
- Best QA Advice - (October 14 ) Some great QA advice that I have gotten over the years.
2021 Goals
I'll keep posting useful QA Tips and Tricks that I learn. Most of the information is around the Software as a Service model.
I don't have any specific content targets. I'll keep the content going through February. I may take a break for some time to think of useful content to post.
QA Graphic Collection
Here's some new graphics for the QA library. All month long, I have been collecting and using some QA memes.
Be sure to check out the entire QA graphic collection.
Yagni
Yagni is an abbreviation for "You Aren't Gonna Need It," referring to code that does not add functionality to pass tests or meet requirements.
Four Reasons QA Should Be Aware of Yagni
Makes Code Hard to Read - Developers may leave unused code - perhaps for their testing or design process. When someone else picks up the code it could cause confusion as to what the functionality is doing. This is true for QA as sometimes they need to read the code review to understand how to unique exploratory testing around the functionality.
Removed QA-Only Code - Developers may add code to help QA validate certain functionality. This should get removed from the code, not commented out. This way the code doesn't accidentally get activated.
Adds Risk to the Code - If it's not part of the feature, then there's no reason it should go out in production. Keeping Yagni code in could open a back door to your application.
Applies to QA Test Plan - Check your test case repository. Are there tests that fit into the Yagni principle? Why are they are part of your test plan? Clear it out so that your tests don't look so overwhelming.
Interesting Side-Note
According to Google translate Yagni is Turkish for "That is."
Throw it over the wall
Some Developers use QA as their testing environment without testing their code first. In some situations, if the code compiled they thought it was safe for QA to test.
In software development, this is known as 'throw it over the wall' testing. Developers feel that the Change is so small - they just give it to QA to test it.
Not a Good idea
Bad news - that's not what QA is for. At least not in an agile environment.
Developers shouldn't be sending code to QA without having some sanity testing. They should at least know that the change they are making are working.
Yes they should be testing their code.
What Should QA Be Use For?
QA should be used to test security risks, performance issues, vulnerability, and usability. It shouldn't be the front line of any testing.
Developers should always be testing their code. They should have accountability for how their code works.
November Graphics
Here are some more QA based graphics that I am adding to the QA Image Library.
If there's anything you like to see, let me know!
Jira Because - You Have Issues
Billboard - Don't Tell QA
Test Your Code on a street billboard - QA reminding you to test your code before handing it to them.
Quality, Stability through superior firepower.
QA Release Checklist
Release time can be a crazy time for QA. There are always things going on, from last-minute issues discovered by QA to last-minute infrastructure changes for security purposes.
It's really easy for QA team leads to get distracted and forget some of the essentials that need to happen for a release to be deployed successfully.
QA Checklist to the Rescue
The easy solution is to keep a release checklist. Something that will help you remember key things before a release gets deployed.
There's no 'one checklist fits all.' You should create a checklist that works best for your environment.
The nice thing about the checklist is that it acts as a release journal. If there are deployment issues, you can make notes on what to do in future releases.
Example Checklist Items
- All QA team members signed off on the release
- Automation Pass
- Automation total run time is acceptable
- All Critical Paths have been tested
- Release Branch matches the test branch
- Database migrators have no locking vulnerability
Checklist Stationary
You can use any digital software to create the checklist: Evernote, Microsoft Word, Notepad ...
I would recommend a paper solution. That way you can focus your computer screens on the release.
The checklist can be next to your keyboard - reminding you of all critical tasks.
I would highly recommend getting the Emergent Task Planner and using that as your checklist. It's really well put together. You can build a timeline of when sign-offs have to occur before the release is deployed.
About
Welcome to QA!
The purpose of these blog posts is to provide comprehensive insights into Software Quality Assurance testing, addressing everything you ever wanted to know but were afraid to ask.
These posts will cover topics such as the fundamentals of Software Quality Assurance testing, creating test plans, designing test cases, and developing automated tests. Additionally, they will explore best practices for testing and offer tips and tricks to make the process more efficient and effective
Check out all the Blog Posts.
Schedule
Tuesday | QA |
Wednesday | iPhone 14 Pro Max |
Thursday | New England |
Friday | Macintosh |
Saturday | Internet Tools |
Sunday | Open Topic |
Monday | Media Monday |
Other Posts
- Starbucky
- Blue Button
- Finding the Invisible Bug
- Jira - Show Recent Comment issues
- Firefox JavaScript Scratchpad
- QA Info Bar Bookmarklet
- GitHub Tips for QA
- Strong Password Generator
- Picture in Picture in Chrome
- Blue Green Deployment
- Test Pilot in Firefox
- Manual Of Style
- Schedule Risk Analysis: A Crucial Tool for Project Management
- I wish I knew more about...
- Kanban Board for QA