Fyresite's Quality Assurance and Internal Beta Process displayed in the form of a 5-part circular graphicNearly every company in nearly every industry tests their product, and for good reason. Nothing is more dangerous than releasing goods without testing them. No matter how much work you put into the product, one fluke can send the whole thing crashing down. Quality Assurance, or QA, is especially important for app development because errors and bugs can render an entire system absolutely useless. To prevent errors, crashes, and even security incidents, Fyresite keeps quality in mind at every phase of the app-building process. However, as your launch date looms over the horizon, we go the extra mile to remove the vast majority of bugs. Here’s a peek at the five phases of our streamlined process for polishing off every high-quality app we build.

The Quality Assurance phase is an important part of the overall app-building process. To find out what happens before we begin testing the app, read about the development process. To find out what happens after, read about the MVP launch phase.

Phase I: Strategy and Test Planning

Phase I: Strategy and Test Planning - an icon of a knight chess pieceTo ensure that your application performs satisfactorily, we derive all our tests directly from your specifications. The Quality Assurance process begins three to four weeks before launch when our QA team meticulously reviews your spec sheet. Based on your requirements and target audience, we create realistic benchmarks and objectives for your application.
From this data, we fashion a detailed schedule with custom tests and experiments designed to diagnose and remove as many bugs as possible. The resources and strategies involved in each test are diligently detailed in a test plan and a test matrix to streamline our collective efforts. After our QA team plans every detail, we run the tests.

Phase II: Unit Testing

Phase II: Unit Testing - an icon of a boxUnit tests make sure that each component of the system works as designed. Think of the application as a car: the unit tests make sure that everything from the motor to the air conditioning functions as planned. These tests come first in the Test Execution Phase because catching a problem with a specific function can prevent several other errors down the road. Unit testing provides valuable feedback very early in the Quality Assurance process and is highly recommended for any application. If any problems arise during unit testing, we resolve them at the source. Once each unit functions appropriately, we move on to integration testing.

Phase III: Integration Testing

Phase III: Integration Testing - an icon of a puzzle pieceWhile unit testing verifies that each individual component works effectively, integration testing confirms that each piece fits together into a larger system. If the application is a car, then the integration tests check that all the parts fit together properly. Integration tests make sure that the system doesn’t have any data flow problems. This process often involves running standard queries and test how the pieces interact. There are several common strategies for integration testing, which Guru99 details wonderfully. If any problems arise during integration testing, we review and solve them immediately. Once all the units function together, we move on to system testing.

Phase IV: System Testing

Phase IV: System Testing - an icon of a brainNow that we know the entire system works as a single entity, we test it against the requirements and benchmarks in Phase I. System tests for a car would involve driving it through a course to see how it handles. The process is similar for an application: our QA team tests the entire application as a whole to see how it works. The System Testing Phase involves several types of tests:

Functional Tests

Functional tests measure the entire system against your specifications. Instead of measuring the structure of the system, functional tests require you to complete an action and check what happens as a result. In other words, they focus on test cases instead of structure. Functional tests require you to test installations, updates, logins, and more.

Non-Functional Tests

Non-functional tests measure aspects that aren’t covered by functional tests. Aspects like performance, scalability, reliability, and flexibility are covered by non-functional tests.

Multiple Device Tests

Every device is different, so your application should be able to handle several platforms, device models, browsers, and operating system versions. Even external factors, such as networks, device settings, and screen size, can impact your application. These tests are designed to root out differences between devices.

Edge Case Tests

Edge case tests take a more exploratory approach than the others. In a nutshell, edge case tests involve trying to break the app by pushing its features to the extreme. For instance, an app with a file upload feature could be tested by uploading thousands of files at once. Likewise, an app with a login page could be tested with a hundred-emoji username. Edge case tests prepare the application for the harshest circumstances.
Our team reviews and resolves any errors identified during the tests. Once we remove 99% of the bugs, the application is ready for review.

Phase V: Review

Phase V: Review - an icon of a magnifying glass
The review phase polishes off the application before launch. The first step is user acceptance testing. The entire team tests the application as users to look for additional bugs. After we finish screening the app, we conduct final operational readiness tests. As the name suggests, these tests check that databases are ready for backup and recovery, that the app installs properly, and that the system can be rolled back if anything goes wrong. This final review assures the safety and reliability of every component one last time before launch. Once we complete QA, it’s time to get ready for launch. For help preparing your app for launch, get in touch through our contact form or call us at 888.221.6509.