Quality Assurance is Just That: Assuring Quality Quality Assurance, oftentimes referred to as simply QA, is a process that verifies that a software’s function is working as intended by running it through various user trials and circumstances. If something is not working as it should be on a newly designed app, the QA tester will report the issue and its environment to the developer, who will then prevent it from happening again. QA testing is typically completed through the lens of the end user. Have you ever used a smartphone app and the button you push or a hyperlink you click won’t open or execute? That’s a serious problem. And when links don’t work or an application (web or mobile) doesn’t open or function appropriately, users tend to stop using them. Even worse, if a business is using an application, they’re at risk of losing market share or business growth. Most custom development shops have a team dedicated solely to the task of quality assurance, testing new software applications or platforms regularly until no errors are found— and the app runs smoothly. Why QA and Most Testing is Important As clarified in the previous section, developers use QA testing to find broken links or interface issues and prevent them from recurring on the user’s end. Using a machine or browser when testing an application will cover testing for that specific environment, but what about the other variations? QA testing documents results based on multiple environments as needed. This means a QA engineer will test on every possible browser. Browsers like Mozilla Firefox, Google Chrome and Apple Safari are often prioritized, so it’s easy to forget that one or the other exists. Internet Explorer (which has fallen to the wayside in recent years, but still used widely) is usually avoided when general testing because unfortunately, Internet Explorer still poses several issues. With today’s QA testing methods, Internet Explorer will no longer be a scary thing to review! QA saves time and can demonstrate a use of a function that wasn’t initially considered. Testing in different environments is hugely important because what works in one browser may not work in another. Without manually utilizing trial and error, developers wouldn’t know what works until the application goes live or hits the market. And then, it may be too late to fix user issues before users decide to delete the app. QA is Definitely a Process At Shift3, we use the QA Sprint Process for each project term. When testing an application for the first time, there are a number of things that will be handled first. The project manager or lead developer will reach out to the QA team with an email naming the project, a description of the project, a due date, a point of contact, and an acceptance test guideline. An acceptance test is basically a checklist of all functions and features available to a user on the application. Once the email has reached the QA team, a kickoff meeting will be scheduled so that the point of contact can thoroughly explain the application and its purpose to the team. This kickoff meeting covers user abilities and restrictions, desired environments for testing, and what access will be given to deploy the testing process. Issues found during the QA sprint process are posted to a Github repo and discussed by the developer and QA team. Using Github keeps the findings recorded so that the QA team can go back and confirm that an issue was resolved. Following the “Definition of Done,” testing will be completed when the acceptance test has been examined on all possible environments. A Tale of Two Testing Methods: Quality Assurance & Quality Control Quality Assurance (QA) and Quality Control (QC) are focused on different phases in a ‘product release’. QC focuses on how an application is used and analyzes that information to improve the product itself. QA is focused on how an application works, so that it can be reviewed before being released to its intended end users. One comes before the app goes live and the other comes after. Quality Assurance: Process focused Prevent issues Happens during project prior to going live Support and feedback prior to going live Quality Control: Product focused Detect issues after going live Happens after project goes live Evaluating success and functionality post launch QA Testing is Imagining Variables In order to do the best testing possible, we like to place ourselves in the shoes of users. How is one person going to use this website versus another? Even though the application has clear instructions for someone familiar with technology, how will an older person who has never seen this application use it? You need to be imaginative and come up with these random but possible scenarios in order to find issues that may appear to a large user group. Just because I have an iPhone XR or HP Laptop running on its latest update does not mean that someone else using the application will too. Developers know that the environment is always a variable when it comes to applications. QA will do all of this testing for you so that you have more time to focus on developing and solving these new problems. Does the Quality of Your New App Need “Assuring?” We can help. Shift3 specializes in custom software solutions that help businesses scale with technology. Our full-stack dev team is well versed in development and quality assurance so every project we put forth works the way it should to help businesses grow. Need QA or QC on a new application? We’ll help you get that tested and ready for the masses. Give us a call at 559 560 3300 or email us at [email protected]. This post was written by Destiny Cedano, QA Champion at Shift3 Technologies. You can find her rescuing animals in need, listening to Behemoth or fostering 3 cats, 1 puppy and a goat looking for forever homes.