What Are QA Test Cases?

Manual QA Test Case Communication
What Are QA Test Cases?

When getting started with any type of QA testing, it’s always helpful to have test cases. But what are QA test cases, and why are they important? Read on to learn how they work, and how to write test cases.

What Should A Test Case Contain?

Well written test cases should contain the following aspects:

  • Title or ID (ie: “LOG-1”)
  • An association with a section of the site/app (ie: “Login”)
  • Notes on any setup needed (for example, “access to a staging build” or “admin credentials”)
  • Steps to follow to perform the test
  • Expected results

Why Are Test Cases Important?

Having a suite of test cases makes the whole Agile QA process more efficient. In fact, test cases can even show new colleagues how the app or site is supposed to work — right down to the smallest details. What Are QA Test Cases (picture depicts two peoples' hands, white and black, holding iPhones with generic graphs on them)

Most importantly, having test cases that all team members can review ensures two crucial details:

  1. There are no gaps in test coverage. Let’s say that QA hasn’t been informed about a particular feature or requirement. By reviewing test cases, other team members can immediately determine if there’s missing test coverage.
  2. Everyone is on the same page. Sometimes there are misunderstandings about how a feature is supposed to work. Any misconceptions can be identified faster and more easily when a developer or product manager can review test cases. Continue reading →
Nov 15

Mindful QA Joins the Business for Trans Equality Statement

Business for Trans Equality Statement (image shows transgender pride flag)
Mindful QA Joins the Business for Trans Equality Statement

We’re proud to announce that we’ve joined companies like Apple and Lyft in cosigning the Business Statement for Transgender Equality. We support trans people, in or out of the workplace, and believe in increasing diversity in tech. Read on to see the full Business for Trans Equality statement. (You can also view the official website here.)

Business for Trans Equality Statement (image shows transgender pride flag)The undersigned businesses stand with the millions of people in America who identify as transgender or gender non-binary, or who are intersex, and call for all such people to be treated with the respect and dignity everyone deserves.

We oppose any administrative and legislative efforts to erase transgender protections through reinterpretation of existing laws and regulations. We also fundamentally oppose any policy or regulation that violates the privacy rights of those who are transgender, non-binary, or intersex.

In the last two decades, dozens of federal courts have affirmed the rights and identities of transgender people.

Cognizant of growing medical and scientific consensus, courts have recognized that policies that force people into a binary gender definition determined by birth anatomy fail to reflect the complex realities of gender identity and human biology.

Diversity and inclusion are good for business, and that discrimination imposes enormous productivity costs (and exerts undue burdens). As a result, hundreds of companies, including the undersigned, have continued to expand inclusion for transgender people across corporate America. Currently more than 80 percent of the Fortune 500 have clear gender identity protections. In addition, two-thirds have transgender-inclusive healthcare coverage. Hundreds also have LGBTQ+ and Allies business resource groups and internal training efforts.

Transgender, gender non-binary, and intersex people are our beloved family members and friends, and our valued team members. What harms them harms our companies.

We call for respect and transparency in policy-making, and for equality under the law for transgender, gender non-binary, and intersex people.

Continue reading →

Manual Testing vs. Automated Testing

Manual vs. Automated Testing
Manual Testing vs. Automated Testing

For the field of software testing, manual testing vs. automated testing has become a hot debate. In recent years, automated testing has become more and more in demand. In fact, a quick search of QA jobs on sites like Indeed, LinkedIn, etc. will show that the majority of these jobs now require automation experience with a language like Java, Python, etc.

This can prove daunting for testers with a background in manual testing, who typically leave the coding to developers. It can also be confusing to employers. Many managers aren’t sure how much automated testing they need, and whether it can replace manual testing completely.

Manual vs. Automated TestingSome companies use 100% manual testing to great success. Others have attempted to do 100% automation, and had to re-think their strategy — so the reality isn’t always as black and white as it may appear.

The ideal combination is having both manual and automated testing. The amount of each depends on your exact product/service and what your company’s Agile QA process is like. For example, if you’re constantly adding new features, you’ll need very rigorous manual testers. Of course, ideally you’ll also have automated regression tests set up, to make sure that the new features being introduced aren’t breaking old features. Even choosing 5 test cases to automate can make a big difference. Continue reading →

QA Testing Estimation Techniques

User Story Planning
QA Testing Estimation Techniques

QA estimates are an important part of the Agile software development life cycle. Without reliable QA testing estimation techniques, there’s no way to know which features will fit into a release timeline.

As a result, it’s nearly impossible to have a successful sprint without estimates. And while many people think of estimates as something that only developers provide, it’s crucial to get estimates from the QA team as well.

QA Testing Estimation Techniques

When getting started, it can be difficult to get the hang of estimates. Many new QA testers wonder how they can possibly guess the number of hours ahead of time. Fortunately, a handful of pretty simple factors can help you get the hang of providing QA estimates.

Some aspects to consider when working on QA estimates include:

  • The reliability of the team’s Agile process
  • The skill of the developer(s)
  • Devices that need testing
  • The complexity of the feature or bug fix

QA Estimation Techniques in Agile

QA vs. Dev Estimates

Some companies use a set method for QA estimates. One example of this is using a percentage of the developers’ estimates. For example, let’s say that engineers estimate 40 hours to complete a given feature. If a company used the above strategy, with 25% for QA, they would automatically enter a QA estimate of 10 hours.

While it’s a popular strategy, this “one size fits all” approach can cause problems. In practice, it often results in teams over-promising and under-delivering on quality. Getting custom estimates directly from QA testers can be the difference between a late, buggy version and a successful release. QA Testing Estimation Techniques

Do the Jira Stories Have What You Need for QA Estimates?

In order to give a good estimate, QA needs to know the details of the feature being developed. A vague overview won’t usually provide enough information for a good estimate. As a general rule of thumb, acceptance criteria should always be provided. QA should also feel empowered to ask clarifying questions and offer suggestions on user experience.

For example, say there’s a new video player being developed. Imagine the user story including details like “closed captioning, allowing users to save where they left off, next/previous buttons,” etc. With this information, QA would be able to give a much more accurate estimate than if the ticket simply said “video player.”

To learn more about optimizing Jira for QA, see our article on the Jira QA Workflow and Best Practices.
Continue reading →

Why Developers and QA Should Be Hired Separately

Hire Developers & QA Separately (cartoon of business people shaking hands in front of large contracts in the background. Business people are Black, Asian, Latinx, and white men and women)
Why Developers and QA Should Be Hired Separately

When it comes to software development, Developers and QA testers go hand in hand. The developer and QA relationship is one of the most important parts of an Engineering team. Developers are responsible for building a mobile app or website, while QA testers make sure that it’s functional and has great user experience. Software wouldn’t exist without developers, and it might not make it to market without QA.

Given that they work so closely together, many would think that hiring developers and QA from the same company would simplify the process. However, doing so can actually increase risk and cause unforeseen issues.

Transparency

Hiring Developers and QAWhen you’re hiring developers and QA from the same software development company, the level of transparency tends to be lower. Why? Because each group is ultimately beholden to the company you’re hiring from.

For example, say that a developer notices that a QA tester is missing bugs or otherwise underperforming. The dev will be unlikely to come to the client with this information. After all, it’s a negative representation of the company they both work for. Similarly, a QA tester may have issues getting necessary information from a developer. However, they can’t communicate this to the client without making their company look bad. Continue reading →

QA Recommendations for Digital Agencies

QA for a Digital Agency
QA Recommendations for Digital Agencies

Many aspects of the typical Agile QA process are meant for long-term engagements with regular releases. But unlike a typical company, which might have the QA team testing the same app or site for years at a time, digital agencies cycle through projects regularly. Because of this, they have unique needs when it comes to QA testing.

So how do you implement a QA process that’s optimized for creative agencies without sacrificing quality? Check out our list of QA recommendations for digital agencies below! (Looking to hire QA testers for your creative agency? Read more about our QA testing services for digital agencies.)

QA Recommendations for Digital Agencies

QA FreelancerHire freelancers. QA contractors usually have experience working on multiple short-term projects at once, which is perfect for digital agencies. Freelance QA testers are also self-managed, and accustomed to shorter ramp-up times on projects. When you find a good contractor, you can simply send the project link or build and let them work their magic.

Hiring a QA freelancer also works well with digital agency budget and commitment requirements. Instead of permanently employing someone at 40 hours a week, you can hire a freelancer on an hourly basis as needed. Continue reading →

How QA Can Improve Your Site With SEO

SEO QA
How QA Can Improve Your Site With SEO

SEO is not usually associated with QA testing. In fact, at most companies, SEO analysts and QA testers work completely separately in different departments. While we’re not advocating for QA testers to replace SEO specialists, it can be extremely beneficial for QA to learn the basics of SEO — and incorporate this knowledge when testing websites.

What is SEO?SEO QA

SEO stands for search engine optimization. In a nutshell, the purpose of SEO is to have your website page(s) rank as highly as possible in search engine results.

For example, say that you have an e-commerce site that sells Lady Gaga merchandise. Ideally, if someone Googles “Lady Gaga t-shirt,” your page would be the first result. (Just make sure you’re not sold out — Lady Gaga fans don’t mess around.)

There are a number of strategies for achieving higher ranking with SEO. Some of these include:

Writing quality content that’s appealing to read. This will result in more traffic (people love sharing!). It will also result in more time spent on the page (which search engines take into account, referred to as “bounce rate”). Continue reading →

The Developer and QA Relationship

Developer & QA Teamwork
The Developer and QA Relationship

Anyone who does QA testing for a mobile app or website will likely interact with one or more developers. QA’s role is to report problems with a site or app, while developers are in the position of fixing the issues. Because of these dynamics, it’s essential that the developer and QA relationship is friendly and robust.

Teamwork

Typically, communication between developers and QA will take place throughout a project or Sprint (in an Agile QA process). At the beginning of a Sprint, QA might have questions about features, data, or end point information. During the middle of testing, QA will find issues and file bug reports for developers. And at the end, developers and QA will work together to make sure the release launch happens smoothly. None of these steps can succeed without strong teamwork between both groups.

Developer & QA TeamworkR-E-S-P-E-C-T

In order to have a healthy process and great end product, the developer and QA relationship should be one of mutual respect. In this vein, it’s important for QA to avoid bringing blame into any bug reports. When bugs are reported in a judgmental way, it’s natural for developers to feel personally attacked. After all, it’s their code – so if QA is communicating problems in a condescending manner, it can be feel belittling. Continue reading →

QA Testing Vocabulary

QA Testing Vocabulary
QA Testing Vocabulary

If you don’t work in QA, it can be difficult to keep track of all the lingo. (Even if you do work in QA, it’s not always easy!) So we put together a handy primer on QA testing vocabulary. After all, everyone has to start somewhere, and a good team will never make you feel embarrassed to ask questions.

While this list may not help you win your next Scrabble tournament, it should help give you a basic understanding of common QA testing vocabulary.

Types of QA Testing Vocabulary

Manual Testing means testing the app or site by hand. For example, opening a browser and manually navigating to different sections of a website, looking for user experience issues or bugs. (For more, see What is Manual Testing?)

Automated Testing means using a programming language (such as Java) to write scripts that will navigate a website or app. These scripts can generate reports for issues such as broken links, missing text, etc. (For more on the differences between manual and automated, see Manual vs. Automated Testing.)

API Testing means checking the quality/accuracy of an API, which stands for Application Programming Interface. APIs send requests and responses to/from remote servers.

For example, say that you type in text and click “Search” on Google.com. The search engine API then sends the content request, and returns the search results.

Performance TestsPerformance Testing involves checking the response time for an application or website in typical usage scenarios.

For example, let’s say that you know that your website gets 50,000 hits on a normal day. With performance testing, you could use a program to see how many seconds it would take to load in that scenario.

Load Testing is very similar to performance testing, but with even more of a focus on finding the exact point at which an app or site would crash or go down. Continue reading →

What is Quality Assurance Testing?

So you’ve heard of QA. But what is Quality Assurance testing? If you look in a dictionary like Webster (or if you’re really hip, dictionary.com), you’ll find a definition like this:

A program for the systematic monitoring and evaluation of the various aspects of a project, service, or facility to ensure that standards of quality are being met.

Or:

A system for ensuring a desired level of quality in the development, production, or delivery of products and services.

But these explanations are pretty vague. They could even end up leaving you more confused! So let’s define QA testing in a way that’s a little more relevant.

What is Quality Assurance Testing?

What is Quality Assurance Testing (picture shows a wood desk with a Macbook laptop, an iPad, and an iPhone on it)First, we should be clear: when we refer to Quality Assurance testing, we’re talking about various types of software testing.

In this context, QA testing involves trying to find problems with a site or app before they reach the end user (ie: the person downloading the app from the App Store). Remember the last time your favorite app crashed? With a comprehensive QA process in place, QA testers could have caught that before it launched. Continue reading →