QA blog postings
|Earliest: November 26, 2017||Latest: May 21, 2018||Total: 22|
|May 21, 2018|
Website Cookies are small files that are used to for websites to store information on your browser. Website owners will tag a cookie to a browser for tracking purposes. Cookies are one way that a website knows that you visited it before and can auto log you in to make the experience better.
Occasionally the Quality Assurance team has to verify cookies have been set or to manipulate an existing cookie. This can be a bit tricky to do in Chrome Console panel.
I like how the cookie is separated by name, and if you want more information, simply click on the header to find more information. Making it easy to scroll through all the cookies.
EditThisCookie is open source. Check out the source code at GIT Hub
Blocked Cookies are ways to prevent a cookie from being created. You may do this to stop websites from tracking you online. (Hi Google!)
Protected Cookies is a feature to lock the value of a cookie. This will prevent a site from changing the value of a preset cookie. This is a good way for QA to test how cookies interact with the site.
|May 14, 2018|
Chrome Profiles vs Icognito Mode
As part of testing, Quality Assurance engineers usually switch to Incognito mode to verify functionality. For example, to see how a website behaves without the cookie setting.
If you don't want Google Chrome to remember your activity, you can browse the web privately in Chrome's Incognito mode.
Instead of switching to Incognito mode, have you considered setting up a separate profile for testing? For example, you can set up a profile for Dev, Staging, and Production:
Instead of launching Incognito mode to test production, you might be better off creating a Chrome Profile.
Each Chrome Profile is an isolated environment. Think of each Person as a separate Chrome application - each with its own Extensions, Bookmarks and Cookies.
This means you can enable extensions and other settings for that particular environment.
In addition, you get a unique Bookmark bar specific to that Profile. Now you can have special bookmarks that you would use for Staging and Production.
When you go Incognito mode you only get the bookmarks for the current profile. In most cases, all the extensions are disabled. Profiles are a bit more powerful.
Unfortunately there is no keyboard shortcut to switch between profiles. You will have to use the profile switcher. However, There is a way to create a new Dock Launcher to fire up a different profile.
Creating a Profile
It's very easy to create a new profile. Simply select the People menu, and then 'Add Person' or select your name on the top right of the current browser window and select "Manage People" then click on "Add Person"
There is no limit on the number of people you can have, and you can always remove the profile.
Tip: Set up a temporary profile for that big project that your working on.
Imagine having bookmarks to the Current Product Specs, Jira Parent Ticket and the QA Wiki Reference page in the Bookmark Bar. Once the project is done, delete the profile.
A Google profile is a good way to manage a large project.
MacOS: Create a Profile Specific Dock Launcher
To launch Chrome with a specific profile, you pass through the profile-directory parameter. The profile number is based on the order it was created on the computer.
- open -a "Google Chrome" --args --profile-directory="Profile 4"
- open -a "Google Chrome" --args --profile-directory="Profile 1"
If you want to create an Application Shortcut, use the Automator Tool. Simple copy/paste the command into the "Run Shell" command window:
- Launch the Automator application
- Create a new Document
- Select Application as the Type of Document
- In the Search command, to the right of Variables, type in Shell
- Select the 'Run Shell Script'
- Paste in open -a "Google Chrome" --args --profile-directory="Profile 2" (Change the profile to the one you want.)
- Test the command by typing Command R
- Save the Application to someplace, and then drag/drop it in the Dock.
Learn More about Google Profile
Read all about Google Person functionality on the "Share Chrome with Others" page.
|May 7, 2018|
The Vivaldi is a great secondary browser for QA. It's built on the same platform ( Blink ) as Google Chrome, with some extras that QA will appreciate.
Why Use Another Browser?
Having another browser is a good way to isolate testing. You can use the secondary browser to test certain third-party extensions for compatibility issues.
In addition, Chrome doesn't always make things easy. It's good to expand the horizons and see how other browsers make testing Web Applications easier.
Three cool Features
Here are some built-in features in Vivaldi that are not regularly available in Chrome.
Quickly access Twitter, Facebook or any Dashboard to find out what's going on. If the site is using responsive programming, the web panels will display the site as if your viewing it from a mobile device.
Web Panels are customizable tabs which allow you to keep your favorite sites easily accessible on the side Panel of Vivaldi. Opening a Web Panel will allow you to simultaneously view its content alongside the tab(s) in your main window.
For QA, this makes it easy to access social networks or system dashboards to quickly check to see if services are down.
Built-in Screen Capture
Need a get a browser screenshot? Vivaldi makes it super easy to get a simple browser screenshot or a full-page shot.
There are three ways to get this done:
- Page Action
- Quick Command
- Keyboard Shortcut - create your own shortcut in the settings.
While there are plenty of awesome extensions that are available in Chrome, none have the multiple access that's built in Vivaldi. The quick command and customize keyboard shortcut come in handy.
Quick Commands is a tool for users that like to keep their hands on the keyboard. To access the Capture tool via Quick Commands:
- Open Quick Commands by pressing x2318 E.
- Enter "Capture" to filter the list of available commands.
- Use the arrow keys to navigate the list of Capture commands.
- Press Enter to issue selected command, or
- Close Quick Commands by pressing Escape key.
Status Bar Page Actions
On the bottom of the browser window is an action bar. One of the cool features is page actions. Here you have the ability to make quick changes to the existing site.
Functionalities available include: Content Blocker, CSS Debugger, Filter Black and White, Filter Grayscale, Filter Intensity, Filter Invert, Filter Obscure, Filter Sepia, Fonts Monospace, Highlight Focus, Highlight Hover, Reader View, Skewed Images, Transformed 3D, Transitions Forced and Transitions Removed.
You probably think that they aren't useful, but it can help with debugging issues. In addition, combined with the screenshot functionality and you can use these actions to highlight features that may not be obviously broken.
Check out Vivaldi
It doesn't cost anything to check out Vivaldi. There's lots of exciting features on their Features page.
More more thing... Vivaldi has built-in Apple Script support. So you can run all sorts of actions against the browser.
|April 30, 2018|
Zero Downtime in QA
When people think of Zero Downtime, they usually think about servers and networks. They don't want their websites to go down. Something along this quote:
Zero Downtime in QA
In QA, there's always something to do. There never is a "downtime." Sure when there's no ticket to test, or in between release cycles, it can seem like downtime. Truth be told there's always something to do in QA.
It's important to keep busy, even when there's nothing new to test.
Nine Things to do in a QA Downtime
This is a general "what to do" when engineering has completed a sprint and there's nothing new in the queue for QA.
- Update Manual Testcases - Every release brings new changes to the application. Make sure the test cases are always kept up to date.
- Update Manual Testcases Execution - What test cases are being run every release? Do they still need to be run? Check out the priority of weekly regression test cases to see if they are still relivent.
- Writing Automation - Automation writing is a continuous process. Where it's to fix application changes, or support new browser features - its a never ending process. In addition, its good to find ways to make the automation process go faster.
- Update Wiki - Make sure that online documentation is updated based on the latest release. (Deployment Cycle, Lessons learned from the testing)
- Review Tests - Was there hiccups during the last test cycle? What could have been done better to prevent the issues from occurring in the future?
- Review Documentation on upcoming projects - Get a jump start on the next project by reviewing the product/technical specs.
- Usability Testing - Go through the application and see if there's any bugs/issues that aren't being reported by customers. Sometimes features/functionaries that were deployed in the past are not working today and missed by manual testing because people are testing for functionality rather than seeing from a customer prospective. (QA Should watch some Usability testing to get an idea how customers really use the application.)
- Application Testing - Learn more about the Developer tools in Chrome and/or FireFox. Some techniques that you learn today may help with a future project - such as how to capture screenshots in the Developer tools.
- Continuous Learning - When was the last time you touch up on JQuery, SQL or HTML5? Check out some of the training on UDemy or lynda.com.
QA Word Cloud
I ran the above items in a word cloud generator and came up with the following.
|April 23, 2018|
Test Case Repository
A Test Case repository is where QA keeps test cases use for various test situations. You should be able to find tests for Weekly Regression, Performance Testing, Security Testing and Acceptance Testing.
Seven Things I Learned About Using A Test Case Repository
- Always Update! Systems Change, Browsers change. If a test case hasn?t been updated in 3 months something is clearly wrong with it. (If it?s a manual test case, then it might be a good candidate for automation.)
- Negative Tests are Good! QA can learn a lot about negative test cases in a separate part of the project. Helps come up with ideas on
- Focus on the 80/20 rule. Don?t clutter the Test Case Repository with useless tests that people would not execute because they were relevant during the development stage of a project.
- Prioritize Tests. There should be more High Priority / Critical Tests in the Test Case Repository than low-level ones. Chances are the low-level ones won?t get executed very often, try combining the tests so QA isn?t overwhelmed by the number of tests to run.
- Product Managers Should be in the Know. Share access to the Test Case Repository to Product Managers so they are aware of what tests are run on a weekly bases. They may offer feedback on an additional test that should be run - or change the priority on existing test cases.
- Write Good Practical Test Cases. Test Cases should be easily understood and executed. There should never be a need to contact the original author. It?s a good place for new QA Engineers on a project to start. In addition, QA Managers should point out well-written test cases to inspire everyone to write well.
- Audit Often. Take a good look at the Test Case Repository often. During downtime, check to see if the test cases are relevant. If it?s not be executed, find out why and decide if it?s a relevant test.
It?s not the quanity of the test cases that matter it?s the quality of the tests.
|April 16, 2018|
Negative Test Cases
In QA testing, Negative Tests are used to make sure the application behaves when actions are performed outside of expectations.
An example would be to enter Unicode characters in a phone field. Sure you may test for alphanumeric values - but what if someone accidentally typed in a Unicode value?
Negative Tests are a good way to see how solid the code is written. Did the developer think of all the edge cases? An example did the Developer account for not allowing a single space in a required field (users do this so they don't have to put in information - such as phone numbers.)
Thoughts About Negative Test Cases
In your Test Case Repository, you should have a lot more Positive Test Cases than Negative test cases. You should be testing more than a positive outcome will happen than negative ones.
When testing a new product, you should have more Negative Test Cases than Positive ones. QA should be making sure that there are no bad surprises when the product is launched.
You won't account for all the scenarios but can learn a lot from past projects and the way that certain developers write the code.
Most companies have done a very poor job of identifying and documenting negative test scenarios.
A good source of Negative testing data is the Bug Magnet browser extension.
|April 9, 2018|
Happy Path Testing
Happy Path defines the success of every QA test - the user should be able to run through the functionality without having to encounter any errors.
Defining the Happy Path
The QA Project lead should start out building out a test plan that defines the happy path. While the path may seem obvious - it does help identify risk area.
Only One Happy Path?
Some QA Experts will say that there?s only one Happy Path in a project. I?ll argue that many paths may exist, for example in eCommerce you may have a Happy Path for existing customers and one for new customer.
Real World Example
A good real-world example of a happy path is going to the grocery store and getting everything on your shopping list.
Can you think of ways that a Happy Path would not be accomplished?
Some things that could cause an unsuccessful Happy Path
- Store isn't open
- Department is closed (Deli or Bakery is closed)
- Product isn't available
- Product is hard to find or not reachable
- Shopping is taking too long
- Checkout can't accept Credit Card transactions
Figuring out all the possibilities that could prevent someone from having a Happy Path is a good way to build test cases.
When starting out testing a new product, QA brainstorm ways that could prevent users from successfully completing their tasks.
On release day, all new products should have a successful Happy Path.
|April 2, 2018|
When working with the product team, it's helpful to share how a particular site looks in different browsers. Getting a screenshot can help confirm or raise display issues that may be unique to a certain browser configuration.
That's when Browserstack Screenshot comes in handy for QA.
Browserstack's Screenshot website is a useful tool to create screenshots of websites on different platforms. You simply enter the URL and in minutes see what the site looks like in 30 different possible settings.
There are plenty of browser configuration to choose from - 11000+ browser combinations. However, you can only select 25 browser combinations at a time. (Seriously why would you need more than 25?)
When you first arrive at the site, your automatically selected the most popular browser configuration available. So, in most cases, you simply put in a URL and then go.
After the images have been completed, You can download the collection and attach it to a Jira Issue. The filenames have the OS, Browser Version, example: macelc_firefox_45.0.jpg
This is useful for non-login testing, basically to make sure the general site loads.
You can't configure if you want an only the visible part of the page or the full page. In my test, the page size was 1024?×?9819.
The Local Testing functionality works really well, you simply run a small program that you download from their site. Then browse around like normal.
|March 26, 2018|
QA Meme Pictures update
There's still no good graphics library for QA. It would be great if there was a library go to find that perfect image.
I have about 200 files in my Evernote Graphic library. I thought I start sharing some of the graphics that I use.
New this week are six graphics that I created/found for Quality Assurance. These images help add a bit humor when things get a little stressful.
This is a sample of some of the graphics that I added to the collection.
Release is Delay
If QA finds an issue, it's good to let the team know that there's going to be a delay.
When Release Management has been quiet about the release. Wake them up with the Adele Meme.
Ship It and Revert
When the release deployment just didn't go as planned. It is time to roll back and try again.
Checkout the QA Graphic Library
If there are any images that you would like to see added, let me know. I'll added it to the collection.
|March 19, 2018|
5 Ways To Win At Mobile Application Testing
Mobile application market is extending incessantly and broadly these days.
World's most outstanding geeks are appeasing the hunger of the most dedicated IT mobs by supplying them with latest and super-sophisticated mobile apps. For roughly a half of these "helluva creations" prove to be totally lame, a hypothetical mobile apps validity center has been running a testing procedure targeted at selecting the coolest apps among the usual "wannabees" and giving the former the green light to remain winners in the mobile market.
Application Testing is a rigid and meticulous process requiring high functionality and usability of an app. In order to pass it, app developers should be familiar with some tricks and useful suggestions on how to hit the score at the testing. Before we tackle the guidelines of a successful app testing completion, let's plunge into the proper understanding of the paramount challenges mobile application testing has. The most common challenges are:
1. Device fragmentation
Apps are normally used on various gadgets and platforms like iOS, Android, Blackberry, etc. This is called device fragmentation that is a little burdening for developers as they have to always disperse their work and attention to check if the app functions properly on each device and platform. Furthermore, different operating systems contain their own peculiar features and principles which makes it hard to manage them.
2. Availability of testing tools
Testing apps in-house bring a severe headache due to the lack or total absence of necessary tools. Moreover, if there's a multi-device app tested, the whole testing process gets even more complicated as businesses have to deal with the requirements of assessing the app on different devices and platforms.
3. Application lifecycle testing
The methods mobile application testing uses need frequent upgrades of an app as consecutive updates make developer follow compatibility. This makes mobile app testing even more complicated and hard to comply with.
To perform greatly at mobile application testing, you need to comply with a strategy consisting of important steps and techniques ensuring your success at the assessment procedure.
The leading strategy of winning at mobile app testing
- Device selection
Establishing the ways of testing an app is the primary step you should take to begin testing. The most important testing method you have to choose is directly related to the market so you had better be precise and thorough. There is one crucial choice two you have to make in order to complete testing successfully: select the device. Experts suggest regarding the following factors to make the right choice:
- Test your app on all credulous OS versions;
- Try a customized screen version to assess by size and resolution;
- Providing your app is compatible with with tabs and smartphones, test it for form peculiarities.
It's not the full directory of the factors you need to take into account when selecting the device, these are only the major ones. You can also consider connectivity option, memory size, etc.
- Genuine devices and emulators
To reduce the chance of failing the test, you can choose whether you want to use physical devices or emulators. The latter is advisable in the initial development stages since emulators are really good at providing quick testing. Moreover, they are cost-effective. However, the perks of using emulators shouldn't prevent you from utilizing the physical device, too as it's an inherent component of having a full comprehension of the app performance in a real-life dimension. All in all, the most accurate and effective results can be obtained from so-called hybrid testing, meaning it's best to use both emulators and physical devices.
- Cloud testing
Using the cloud to test an app facilitates the testing process and enables you to draw more precise conclusions about the app performance. It creates a web-based environment, allows you to manage your app in various ways, and provides instant access to different mobile devices. Cloud testing also cuts project costs and increases ROI.
- Network connectivity
This factor is highly important as the functionality of most mobile apps depends on it. It's strongly recommended to test application within a network to have a proper understanding of how an app functions. You get numerous tools for network simulation to test your app for speed, connection failures, etc. One of the critical factors determining the success of an app at testing is being consistent in various networks.
- Performance testing
App scalability and performance are its key characteristics. If an app has a great storage capacity at reasonable prices, the chance of enticing more customers rapidly grows. Users tend to store many programs relevant to your app which may slow down its performance. This testing has to consider all the possible aspects connected with these programs as well as their range.
Bottom linePassing Mobile App Testing will make your app stand out amid other applications and win over them. Once you follow these key guidelines, your app will end up with unprecedented success and popularity among today's capricious users that are very hard to please.
Helen Morrice is a copywriter and content developer at IDAP Group, an app development company having its headquarters in Kyiv, Ukraine. She is a talented and promising writer keen on of delivering valuable and unique content. Follow her on Facebook and Twitter