Quality Assurance Overview
Our mission is to create functional, usable, secure, and elegant custom software while striving to make the process painless for our customers. Quality assurance is a critical component to mission success.
There are some things about our QA process that are useful for clients to know:
- Except for Code Review, all Smooth Fusion testing is black-box testing—the testers have knowledge of what the software is intended to do, not how it does it.
- All testing is manual.
- Except in scenarios where regression use cases are specifically identified as a risk, our testers do not manually test for regression.
- All testing is performed before software is deployed and again immediately post-launch. After launch is complete, the only testing that occurs at regular intervals is Vulnerability Scanning (which is optional).
Testing Types
Not every testing type described below is used for every project. Every project will have a test plan summarizing the testing types to be used, which is recommended based on the project goals and budget.
Functional Testing
Does it work as described in the requirements?
Smooth Fusion Solution Architects work with our clients to document software solutions to business problems. The documentation (aka “requirements”) will typically contain user stories.
User stories are a form of documentation that describe how users will interact with the software and what outcome they can expect to see after doing so. The user stories will often describe the expected outcomes, as well as how unexpected outcomes should be handled.
Requirements will contain explicit user stories as described above. But there are certain requirements that will be implicit, based on the framework being used to build the software. For example, if we are creating a Sitefinity website, we may write a user story to describe some custom functionality. We will likely omit user stories that describe out-of-the-box Sitefinity functionality since those are implicit.
A cognitive walkthrough is a term used to describe a type of testing where the tester evaluates a system to determine if it is intuitive. An alternative type of testing is a heuristic evaluation where a tester would evaluate the system against a catalog of recognized usability principles. Smooth Fusion performs cognitive walkthroughs, not heuristic evaluations.
Destructive testing is when testers attempt to cause the system to fail by using invalid or unexpected input. For example, a tester may try to submit an email form field with an invalid email address to see what happens. The number of unexpected ways that users can provide invalid input is endless, so destructive testing should not be a substitute for constructing relevant use cases.
Let’s bring these terms together to describe Smooth Fusion’s overall approach to functional testing:
- Smooth Fusion Quality Assurance Specialists will perform black-box testing based on the explicit, documented user stories.
- Functional testing includes a cognitive walkthrough.
- Functional testing includes basic destructive testing.
- Smooth Fusion Quality Assurance Specialists are trained to be aware of functionality that is inherent in whatever frameworks are being used and therefore are on the lookout for problems that break implicit user stories.
Sanity Check
Does this still work?
A sanity check is a quick spot-check only on the change(s) being deployed. Sanity checks are appropriate for minor content changes or non-functional changes that cannot be thoroughly described with explicit user stories.
A sanity check is most often performed by a Smooth Fusion Quality Assurance Specialist but may also be performed by any member of the Smooth Fusion project team who is familiar with the work being done.
Design Review
Does the implementation honor the integrity of the design?
All work that has a visual or creative element will undergo design review. In design review, a Smooth Fusion designer will review the work to ensure that it meets or exceeds the design standards set forth for the project. Design standards are often defined through artifacts like comps, a style guide, or a design system. These artifacts may have been produced by Smooth Fusion or our client or client’s advertising agency. The designer will emphasize reviewing fonts, proportions, colors, consistency, responsiveness, and other design criteria which combine to create a good experience for users.
Accessibility Testing
Does the implementation comply with accessibility standards?
Smooth Fusion will typically recommend accessibility testing—specifically WCAG 2.0. This form of testing helps ensure that the software is usable by people with disabilities.
Accessibility testing is a combined effort between quality assurance specialists, designers, and developers. Thorough planning is required to ensure accessibility standards are met. After implementation, a combination of manual and programmatic tools are used to test against accessibility standards.
Usability Testing
Is the software a great user experience for untrained users?
It is not uncommon for those who are most familiar with the software or business to feel the software is more intuitive than it really is. Usability testing allows the designer to break through the bias and get objective feedback from people who are not already familiar with the software.
To do this, Smooth Fusion will recruit representative, non-technical participants to install desktop software that records the user as they are guided through specific tasks in the software. We will create a set of assumptions and use tasks and ratings to gather feedback. The results will allow us to evaluate design decisions we have made to test if our assumptions were correct. We ask questions such as “Where did the user struggle or fail to meet the given tasks?” and “What could be done to help the user more easily navigate the software?”
Copy Review
Is the copy correct?
Smooth Fusion Quality Assurance Specialists are trained to review copy for common grammar and punctuation mistakes. They will also review copy to ensure consistent meaning.
Cross Browser Testing
Does the software look good and function across a variety of browsers?
Default Supported Browsers
Smooth Fusion typically tests all projects using the most common browsers and devices for U.S. internet users – currently, the latest version of Chrome on both a Windows 11 desktop and an iPhone mobile device.
Custom Browser Testing
Some clients or projects require testing on additional browsers or devices based on their specific user base. When this is true, a custom browser testing plan can also be created. Let us know your specific needs and we can work together to customize your testing plan.
Performance Testing
Is the software optimized for performance?
Smooth Fusion developers are trained to use common best practices for building sites that avoid obvious performance problems. However, there are times where a need is identified to ensure an application is extra performant.
When performance testing is identified as a requirement, the test plan will include some basic guidelines as to what constitutes acceptable performance. Usually, an industry standard tool will be used to grade page load times and identify opportunities for improvement.
Vulnerability Scan
Does the software have any known security vulnerabilities?
A vulnerability scan is a programmatic scan of the system for security vulnerabilities. Smooth Fusion uses a third-party software service to scan the software. Vulnerability scanning is part of our recommended managed hosting service. Clients who elect to use our vulnerability scanning will have their application scanned weekly. Vulnerabilities discovered can be reported to the client for fix approval, or automatically handled by the Smooth Fusion team handling maintenance for the site.
Code Review
Does the code follow strict coding standards?
Smooth Fusion developers are trained to follow industry-standard best practices for coding. Nonetheless, there are times when it makes sense to have a manual code review performed by a software engineer. Some example scenarios where this is appropriate:
- There are multiple developers working on a single application. Code review helps ensure that code is efficient across multiple developers' work and consistent within the team.
- A piece of functionality deals with high-impact personally identifiable information (PII) or other security-critical data.
- A piece of functionality is critical to a high, business-impact portion of the application.
- We are inheriting a system we did not create. A code review helps us identify potentially unknown risks with making updates to the application.
In short, code reviews ultimately help maintain high-quality code standards within a project.
Test performed by our clients
Acceptance testing
Does the software do what I wanted it to do?
Building software applications, even simple brochure sites, is a collaborative effort. Our goal is to honor our clients’ vision and business expertise. We rely on our clients to perform acceptance testing to confirm the software meets their needs. Acceptance testing is simply reviewing or using the software to ensure it is correct.
Test not provided by Smooth Fusion
Load testing
Is the application built to handle extremely large numbers of concurrent users?
In load testing, software is used to simulate many users simultaneously accessing the system. This type of testing may be appropriate if the application is expecting a large surge of concurrent usage. If load testing is required, Smooth Fusion will contract or partner with a third party.
Unit and integration testing
Is there software in place to test the software?
Smooth Fusion does not write automated tests. This includes unit testing, integration testing, continuous testing, test-drive development (TDD), etc.
Localization testing
Is the non-English copy correct?
Smooth Fusion is equipped to build localized/internationalized (multiple languages) applications. However, Smooth Fusion does not have native speakers available to proofread languages other than English.
Penetration testing
How does the application respond to a specific type of exploit?
Smooth Fusion does offer vulnerability scanning, but does not offer penetration testing, which is appropriate for sites with sensitive data that need to respond in specific, known ways when security vulnerabilities are exploited. Smooth Fusion often works with third parties or our clients’ IT department to perform penetration testing. Please note: All penetration testing should be scheduled to avoid confusion or unnecessary application downtime.