Skip to main content

What is Quality Assurance (QA), and how can it be applied to your business? Why it is important.

Quality Assurance (QA), is the process of ensuring that something works exactly as it should. A quality assurance process, whether it's software or hardware, is crucial to the success and satisfaction of any company. Isn't it better for your customers to know if something is broken than you do?

"Anything that could go wrong, will get wrong." - Murphy's Law.

QAs in product companies are often responsible for deciding whether or not a feature is ready to be released. Although some people may limit QA to testing, there are many more aspects to it. This article will cover two main methods of quality assurance for software products. Manual testing and Automated testing.

A bonus section has been added for QA lingo at the end of this blog.

Manual Testing


  • User Acceptance Test ( ): Having users test the product in order to ensure that it works as expected.
  • Smoke Test: ensuring that the most critical functions work.
  • Regression test: Verifying that the new features have not broken existing features.
  • API Testingtesting program interface (see WHAT IS AN API?).
  • Load test: This is a way to measure the system's performance, e.g. Simulating 10,000 requests in 10 seconds, and measuring the response.
  • Whitebox Testing: When the internal system of the tester is known.
  • Black Box Test: When the internal system is not known by the tester.
  • Usability Testing: Use this UX-related test to find out how easy it is for you to use something.

Automated Testing


  • System Integration Test: Overall testing of the entire system.
  • Unit Testing: Individual tests at the code level (mostly by developers).
  • Test Driven Development: Software development where unit tests are written before the code.
  • Continuous Integrity (CI): Runs automated builds and tests to help teams detect potential problems early.
  • Continuous Delivery: prepares code for release automatically
  • CI/CD pipeline: Automated software delivery process. This includes code build, automated testing, deployment, and other tasks (see example).
  • Selenium is a web browser automation tool.

QA Lingo

Testers speak.

  • Acceptance Criteria - A set of conditions required for a feature being considered ready for release.
  • Bug: error.
  • Blocker is something that prevents another thing from happening.
  • Code Coverage is a measure that indicates how much code has been tested.
  • No longer in use
  • Edge Case is an issue that can only occur under rare circumstances.
  • Endpoint: url.
  • Hot Fix: a quick fix to a major bug.
  • Reproducible is a bug that is difficult to reproduce.
  • How to Reproduce: Instructions to find a bug.
  • Test Case: Requirements with steps for testing.

Wrapping up

No news is good news in the world of QA. Few will notice if you do a good job. If you do a poor job, everyone will notice.

QA testing is a difficult position that is often overlooked or under appreciated. It is an important job that can either make or break a company's reputation (imagine what could happen if Google stopped functioning). It is not a coincidence that top organizations take QA very seriously.

Quality is not an accident. It is always the result intelligent effort." -John Ruskin

Thank you for reading! Drop a comment below if you have anything you'd like to add.

Comments

Popular posts from this blog

Start with the Different Types of Software Testing

"Quality cannot be an accident. It is always the result intelligent effort."  John Ruskin. The software that powers technology today is what controls their behavior.   Software Testing, also known as Quality Assurance, is essential because it identifies bugs and errors from a system right at the beginning.   This article will give you detailed information about the various types of Software Testing. Introduction to Software Testing Software Testing is necessary. Software Testing Life Cycle Types of software testing Introduction to Software Testing Software testing is the process of evaluating a software program's functionality to identify any bugs.   This process verifies that the software meets the requirements. It also identifies any defects in the software to ensure a high-quality product. It can also be described as the verification and validation of a software product.   It determines whether the software product is valid. It meets the technical and busines...

Peculiarities in Test Management of Voice User Interfaces (VUI)

In the test management of voice user interfaces, several challenges arise in software testing. There are differences between testing voice user interfaces and graphical user interfaces. This is mainly due to the variety of input options through spoken or written language. Also, it is not clear how to measure the accuracy of voice user interfaces. To eliminate this circumstance, requirements and acceptance criteria are determined from the outset. In addition, it is difficult to find appropriate verbal utterances for a test that encompasses the breadth of verbal possibilities. Finally, it must be clarified how tests with the variety of statements can be automated in such a way that they are value-added and risk-oriented. These points are described in this article and possible solutions are shown at the same time. Software testing and the requirements of voice user interfaces Tools for quality assurance in agile software development Requirements in agile development teams are descri...

QA engineers, functional & UI testing

This is the second blog post in a series in which we describe our many years of experience with Azimo's Android app testing.   The principles, goals, achievements, and most of the principles also apply to our iOS application. QA engineers within the team Let's go back to , the first blog post of the series.   The problem wasn't with missing unit tests, but rather the QA team being unavailable when we needed them.   Why did we create hundreds of unit tests, instead of hiring a dedicated QA engineering? Quality Assurance at Azimo: The evolution of apps Our journey, our goals, and our motivations Even if this were possible, it wouldn't be enough to keep them or her busy all the time.   Our app was only released once per month.   This was not only due to limited access to the QA team, but also because of the poor quality of our code and bugs, and the lack of process automation. This was changed by unit tests.   They improved the quality of our codebase and...