What is software quality assurance?
QA is understanding users’ demands and anticipating what their needs will be, determining the best path for testing the software, and conducting a series of activities in as many scenarios as needed until the software performs at or beyond the level that users expect.
It involves proactively looking for and catching any surprises or issues that the user could potentially encounter with the software, before it is publicly released.
Why is QA testing important?
In a world where users have multiple devices and a plethora of apps to choose from, quality is often what sets one app apart from another. Crashes, bugs, unreliable security, slow performance, poor interoperability, and many more issues can have an extremely negative impact on the user experience and, ultimately, on the developer’s bottom line.
How do you define/measure quality?
Quality is a subjective term that has different connotations among different individuals. A product manager, software engineer, and CEO will likely have three different perspectives on what quality is. One thing we know is that nothing is ever 100 percent perfect, so determining at the outset what the threshold or target goals will be at the finish line is paramount. Is it quality when:
- The software is known to have 300 bugs, and you fix 250 of them?
- The App Store gives the software a rating of 4 stars out of 5?
- A compliance checklist is fully met, but several bugs are discovered after the product is released.
When measuring quality levels, collect both quantitative as well as qualitative data to gather a more accurate assessment.
Quantitative measures in the way of numbers and percentages provide a benchmark and solid evidence of the results achieved. The key is to determine in advance what that metric will be – is 80 percent good enough, or is 90 percent a more appropriate or attainable target goal?
Qualitative measures, though more involved, provide additional insights that can guide quality levels. Putting software into the hands of real users – such as internal staff, through “dogfooding” programs – solicits valuable feedback that may result in design changes that improve product quality.
Quality can be quantified through user feedback. If a community of users uncovers additional new bugs, then a new percentage of bug fixes can be reported.
Also keep in mind that quality has a life cycle and should be measured differently at varying stages.
A product that has already shipped will have a different set of problems than a product that is being released for the first time. In the latter case, the focus is on anticipating as many issues as possible, and therefore, being proactive and preventative. A product that has evolved over time will need to be examined for defects, or regression tested, while looking for, or anticipating, new issues that may occur as a result of adding new features and functionality.
As technology progresses, user expectations change as well. Staying abreast of new technologies and keeping a pulse on what users want is essential to QA and maintaining performance.
What does a company need to do to prepare for the most effective testing?
The most important approach to effective testing is to identify as many scenarios, or angles of perception, as possible. Most companies will focus on the most obvious factors, which are associated with functionality. However, there are many other angles to consider. Take a soda beverage vending machine as an example.
The most obvious properties to investigate include functionality: Are the beverage labels easy to read? Do the selection buttons properly match up with the appropriate beverage? Does the money changer work?
Beyond functionality, though, there are many other factors to consider, such as, do the dimensions of the vending machine fit the space it is in? How much does it weigh? How tall is it? Will it tip over easily? What is the voltage system like, and is it compatible with the electrical outlet it will connect to?
Localization is another key area. If the vending machine is going to be used in Germany or the Ukraine, then the language must be changed, and not just from a word’s perspective, but the amount of space needed to accommodate the words. Which money denomination will the change slot need to support?
Thinking through multiple considerations with multiple lenses will go a long way to discovering issues that might not have surfaced otherwise. Not only will the quality have improved, but extra, unnecessary cycles of testing and resolution can be avoided.
What are some challenges or common misconceptions about QA and testing?
- Developers can test their own software and hardware effectively: While this is certainly true, working with a QA solutions provider brings an experience level, as well as breadth and depth of knowledge and expertise that can improve quality and add business value.
- Developers already know what they don’t know: Because developers are deep in their projects, they often believe they know every aspect of the project and what they will need to learn. However, an external QA team can bring new perspectives to test and analyze aspects of the project that may not have been considered by the internal team.
- The same approach can be used for enterprise or consumer products: Since QA is based on understanding and meeting user expectations, understanding that enterprise users and consumers have different requirements will impact how testing is carried out. Certainly, the differences in user environment and conditions will dictate how and what type of testing is done, as well as what the software is used for. Enterprises are likely to have more stringent expectations with regard to security, for example.
- Cutting a QA program will reduce a company’s costs: Reducing QA testing will almost certainly result in higher cost to the company, due to compromised product performance. Today more than ever, with social media and online reviews and ratings sites such as G2.com, maintaining top performance is crucial for upholding a brand’s credibility and increasing market share. It is a well-known statistic that the cost of rectifying a defect in production is 10x of what it cost to fix it at the requirements stage.
- QA testers are interchangeable: Perhaps this is true of a traditional staffing company but seeking out a solutions provider who offers strategic consulting services, customized programs, and subject matter experts who are well-versed in core technologies will provide higher value that leads to better-quality products.
Q Analysts Differentiators
Q Analysts approaches each unique project from the perspective of a consultancy, partnering with our clients to bring significant additional value and optimal results.
We offer customized quality assurance programs with a suite of service solutions, beyond simple “staff augmentation.” Our subject matter experts provide fully managed and tailored programs, acting as a secondary arm of a client’s company, and deploying a highly specialized team built around project scenarios and technologies.
Q Analysts invests in team members, offering highly trained professionals who bring specific expertise and operate with company-level commitment. We spend significant resources on management overhead to train and review the highest-quality staff and support them for sustained career growth. Training and maintaining a satisfied work team contributes to company loyalty and the continuation of institutional knowledge, so career investment builds through consecutive temporary projects.
Q Analysts has a wealth of experience that has been collected over the years. With nearly 3 million hours of projects delivered, we facilitate the best practices and methodologies that our consultants use on various projects.
We are driven by initiatives, recognizing how even a temporary project fits within the context of larger organizational strategy. Q Analysts understands all the roles and key responsibilities associated with a project and can determine the best team members to deploy who are most adept at the core technology. Partnering with a client to develop a relationship around an initiative enables us to contribute to the organization in meaningful ways, while adding real business value.
Q Analysts offers complete turnkey onshore offsite or offshore services in the form of our Q Testlabs, which use a proven and scalable delivery framework to provide outsourced QA and testing services at a competitive overall ROI. The lab’s services are an extension of our clients’ capabilities and can be utilized for a wide range of applications and technologies. Q Analysts also specializes in setting up remote offsite testing areas that replicate the required environments in homes, offices, and other facilities. For example, the performance of a home automation device may be evaluated at a specific height, representing a kitchen counter, and a given distance away from furniture such as a couch.
Our recently developed Vets for Test program draws upon the discipline, focus, and drive for excellence inherent in U.S. Military veterans to provide the highest level of QA services for the tech community. Military Vets receive training, mentoring, and a sustainable career path, while Q Analysts expands its pipeline of skilled resources for the company’s Q TestLab service offering.
All these aspects of our approach are driven by vast experience, giving us the distinct advantage of being able to identify potential issues, alternative scenarios, and outcomes that may not have occurred to our clients. Q Analysts has conducted nearly 3 million hours of testing, each one representing the opportunity to learn and refine the process across multiple technology platforms.