QA Testing 101: What It Is, How to Plan, and What to Expect
QA testing. You know the term, you know it?s important, but is it really necessary? If you’re about to implement a new practice management system (PMS), like Elite 3E or ProLaw, the answer is yes. Why? Because you want to know ? no, need to know ? your new PMS software is going to operate well both functionally and from a performance perspective.
This is where Quality Assurance (QA) testing comes in.
QA testing eradicates the dreaded unknowns associated with throwing the go-live switch: Will the new software perform well on the selected hardware? Will the critical time load from a third-party system fail under certain conditions? Will you lose precious billable hours or interrupt the billing cycle? All these pitfalls can be avoided through a combination of functional and performance QA testing.
In short, QA testing ensures your investment in a new system is a success, that your users love it, and that it starts earning its ROI immediately.
What Is QA Testing, and Why Does My Firm Need It?
QA Testing is often confused with UAT (User Acceptance Testing), however, they are inherently different. QA testing?s purpose is to fundamentally test that the system works and is a ?complete? product that?s ready for UAT. It checks that all the elements that are unique to your firm, like data, configuration setups, customizations, etc., are in place so a comprehensive test can be conducted. The goal is to ensure that the system not only functions well, but also performs reliably with the configuration you?ve chosen.
On the other hand, UAT involves actual users testing the software to ensure it handles required tasks in real-world scenarios according the specifications defined during your requirements gathering stage.
There are a two major advantages of performing QA testing prior to handing things off to your users for a UAT cycle:
1. Save time. As there are multiple unique aspects to how you configure the software, the first round of testing is going to be riddled with errors. These errors can range from incorrect SQL Server configuration causing performance issues to bugs in your customization code. They take time to find, correct, and retest. Also, these errors may not present in UAT. They may remain undetected and unaddressed far into the future, by which time they may have a greater impact on your lawyers, clients, and bottom line. Second, these errors may delay, skew, or hinder UAT. Again, time-consuming. QA testing mitigates this loss.
2. Product confidence. Nothing erodes confidence in a new system faster than UAT testers encountering errors or slow performance. It?s frustrating for them, instigates project fatigue, and, more crucially, causes important validation steps to be missed or performed improperly. QA testing employs automated performance tests, which saves time and results in a UAT-ready environment. This delivers an experience that users can test quickly and efficiently, thereby building confidence in the software from the get-go.
QA testing is designed to reach far beyond the realm of UAT. It takes a deep dive into a system?s inner workings. Every screen, every process, every customization is tested, documented, and scrutinized for functionality. When performed in conjunction with a new implementation or upgrade, every major function receives extra attention to ensure there are no unwelcome surprises at go-live. Test cases and simulated loads are run to see how the system actually performs in various scenarios. In short, QA testing makes sure everything is fine.
Why does your firm need this time consuming, labor-intensive process? Because you?re busy. A slow or failing system is time you can?t bill for. QA testing keeps usability on an even keel, ensures the system is running in peak form, and identifies trouble before it starts. It fully verifies your entire system and buys you peace of mind.
In short: a QA test investment eliminates risk, uncertainty, and doubt, helping you protect your investment and avoid costly delays.
Bringing QA Testing to Your Firm
Unless your existing IT staff has time to test your front-end system?s every function, tabulate the results, and document every screen, you?re going to need a QA testing service provider, like our QA Team. This keeps your team available to your attorneys while ensuring the QA testing process is done properly and expediently.
When choosing a provider, look for application knowledge, customized testing capabilities (can they perform off-the-shelf and customization testing?), and adequate staff. A good QA testing service provider will have not only a skilled testing team but also a qualified development team to remediate and recode any issues the testing team uncovers.
Other questions to ask when choosing a QA testing provider:
- Are they experts in the software being tested?
- Do they use industry testing methodologies?
- Can they test off-hours to minimize the impact on the daily workflow?
- Are they documenting as they go?
- Are they including new screens, functions, and customizations that are not included in the software, but that the firm added?
- Can they correct and remediate any problems they discover?
Keep in mind that QA testing is a specialized service. Not every IT provider is equipped to do it or has the necessary experience to do it well. It?s crucial that the testing provider has deep knowledge of the system being tested; otherwise, they will drain your internal resource pool for knowledge on what to test. Also, don?t assume that QA testing included in implementation and upgrade contracts. Hence the need to ask questions and do your due diligence.
How to Plan for QA Testing
Once you?ve decided to bring QA testing to your firm, the next step is planning. As with any major project, planning is key to success. First, you need to determine when your QA testing will take place. For new software implementations, the typical approach is:
- Determine which integrations, customizations, and configuration areas of the application will be QA testing scope of work.
- Confirm and provide details on the expected number of concurrent users, their location (for latency testing), and the transaction types and volumes they?ll be performing.
- Consider peak load volumes around month-end and year-end. How might these impact the system?s number of users?
- Prepare to share details of your infrastructure (e.g. network diagram) to ensure all performance monitoring aspects are considered.
What to Expect During QA Testing
QA testing is a daunting undertaking; it?s a lot of work! However, it?s essentially a four-step process:
Step 1: Taking Stock
QA testing starts with an inventory of your system. This identifies custom reports, forms, fields, workflows, etc. It informs updates to test cases and load test preparations. A performance audit is performed to ensure that your server(s) are running efficiently. Any problem areas are noted and, if needed, addressed prior to the QA test.
Step 2: Testing, Testing, Testing
This is when the work happens. The QA team immerses themselves in your system and puts it through its paces. First, they determine whether everything works and functions correctly. Their process follows this sequence:
- Execute functional test cases to ensure they can be run end-to-end.
- Document results ? both success and failure ? with logs, screenshots, etc., along the way.
- Evaluate findings. Triage where possible to narrow down any areas of investigation (e.g., is this a customization issue or a core product framework issue?). This helps route the issue to the right vendor for resolution.
- Correct customized code if it’s not functioning as expected or apply product hotfixes if the issue is in the core product.
- Re-execute test cases to ensure things are now working correctly.
- Perform a full regression test, ensuring everything works end-to-end.
Steps 1-5 can occur multiple times, depending on the results. The methodology involves continual improvement until functionally everything is proven to be working.
Once the system has passed its functional validation, the testing focus shifts to performance. This process is as follows:
- Build the automation suite to be relevant to the software usage. Accounting for any high volume or complex areas of customization is key to success.
- Deploy monitoring nodes to all core components of the infrastructure.
- Execute performance tests (this includes Performance, Load, Stress, and Soak testing).
- Review various measures taken during the performance tests to understand and document bottlenecks in the environment (hardware) or software configuration/customization.
- Make recommendations on how to resolve bottlenecks.
- Implement recommendations.
- Perform a retest.
Step 3: Prepare for Go-Live
Preparing for go-live extends beyond completing the updates found during testing and receiving a green light in regards to the system. It includes bringing your support staff up-to-speed with the changes and having them in place for the go-live. They also need to be prepared to maintain the system going forward if you aren?t going into a managed services arrangement.
Step 4: Go-Live and Beyond
Go-live is the big day! Arrange for QA team members to be available and ready to ensure a smooth transition. Their first-hand knowledge of your screens and customizations will quickly curtail any unexpected issues that arise. They can also troubleshoot any unanticipated problems. Ideally, your attorneys and staff should experience no downtime, only improved responsiveness. Going forward, regular maintenance will ensure that your QA investment continues to maximize your system?s ROI.
Why Hiring a Qualified QA Testing Provider Is a Smart Move
As mentioned earlier, QA testing is a lot of work. It?s also highly specialized. Although it is a key factor in successful implementations and upgrades, it?s often either neglected or poorly done when left to in-house teams. Hiring a qualified QA testing provider does two things: 1) it ensures the work is performed by trained professionals with experience in testing methodologies and documentation, and 2) it relieves your in-house IT team of this labor-intensive burden.
Other benefits of hiring a QA testing provider include:
- High-level expertise, a deep knowledge base, and top-notch performance from the get-go, as well as going forward.
- Flexible work hours to minimize downtime if needed.
- Access to development staff who know your billing application and can remediate issues.
- Optimizing ROI by letting your staff do what they do best, i.e., supporting your attorneys.
Conclusion
QA testing is more than a nice-to-have step in your implementation/upgrade: it?s absolutely necessary for ongoing operations. It is especially important when your attorneys are clamoring to use a new application they?ve been waiting for. The truth is, your new application is not fully installed until it?s been QA tested. Build QA testing into your implementation/upgrade plan from the beginning, and you can be confident that your system is working exactly the way your firm needs it to.
Our QA team works with firms large and small to maximize application performance and improve business management at all levels. Interested in working with us? Contact us today!