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 Testing: testing 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
Post a Comment