New Initiatives in Advantage Quality Assurance
Eva Weissman recently became the QA Team Leader here at AdvantageCS and brings a wealth of experience to her new role. Her expertise is not limited to quality assurance---she is adept at analyzing processes and workflows and instituting efficiency measures at many levels. Through a series of questions from eVantage, Eva describes her approach, the initiatives she has put in place and her future plans for QA.
- How do you describe your new role at AdvantageCS in quality assurance testing?
I lead a team of analysts that is responsible for quality assurance. We focus on three main areas: software modifications, regression testing, and process improvements. With regard to software modifications, we develop test plans, do the actual testing and assist clients with testing when they implement new functionality. We also develop automated tests, which help us to avoid breaking existing functionality in future software updates. With regard to regression testing, we test the stability of new updates. In particular, we conduct “warm-ups” across different areas of the software before making it available to clients. A third aspect of our work is optimizing our internal processes and procedures to ensure the quality of our products and to help clients implement procedures that streamline their testing especially for continuous updates.
- What experience in your background is helpful to you in this role?
Before joining AdvantageCS, I gained experience with web development testing and also worked on projects to streamline workflows and facilitate organizational change. More importantly, I’ve had the opportunity to work with AdvantageCS clients on many different types of projects over the last few years. Since the quality of our software directly impacts our clients’ business operations, understanding business needs is essential for this role.
- What is your high-level approach to QA?
I believe that QA should be embedded in cross-functional teams rather than exist in its own silo: we can add the most value as QA analysts when we are part of a development effort from the outset. This promotes a strategy of preventing problems, rather than fixing them once they impact clients.
- What are our biggest challenges?
Advantage is incredibly feature-rich, and we are adding new functionality every day. Therefore, one of our biggest challenges is to maintain the stability of existing features while our product grows to serve clients’ needs via constant software revisions and updates. We also have to maintain this stability across the various revisions and updates that our clients use today. A second challenge relates to the fact that Advantage is not an out-of-the-box solution. For this reason, each of our clients has a unique setup and unique customizations. It is not feasible for us to test all possible configurations in our QA environment, so we have to assist clients with testing their unique software system. A third challenge is that continuous updates force us to perform QA in short periods of time, and at the same time require us to release a stable product that clients can regression-test in a few weeks as opposed to a longer upgrade project.
- What specific policies/procedures/practices have you initiated?
The most exciting procedural change is that we have expanded the role of “testing” here at AdvantageCS. The quality of our modification testing is improved when a business analyst who thoroughly understands a client’s needs and requirements develops a test plan and tests a new feature. We have also expanded our use of automated testing for modifications, bug fixes, and existing functionality. In the last few months, we have created hundreds of new tests and are adding to our test library every day.
- Describe the approach you use for a large scale modification, such as one of the major R & D projects ACS has done recently.
We break large-scale projects into smaller, more manageable pieces of functionality. This allows us to “test as we go” instead of testing hundreds or even thousands of hours of software development at the end of a large project. Since we use an “agile” approach to development, we can use a number of agile tools and techniques to facilitate the process of decomposing large projects, testing small pieces of functionality, and delivering new features incrementally. This process requires us to “embed” a tester into the development team right from the start, which has been a positive transition. Finally, the larger the project, the more important it is to take a systematic approach to testing. This includes brainstorming about how the product could fail, creating detailed test plans, and developing automated tests whenever possible.
- What additional changes to the QA process do you have in mind for the future?
Empirical data should be the driver of change. This means identifying metrics that help us to understand the current status of our quality efforts. It also means tying the QA process tightly into upgrade and implementation projects as well as into continuous updates. For example, a less-than-smooth client upgrade should trigger us to evaluate in detail what we could have done differently, how we could have caught issues before they impacted the client, and what measures we can put in place to ensure a better experience in the future.
- What one thing is the most important for clients to know about Advantage QA?
I would like our clients to know that QA at AdvantageCS does not happen behind closed doors---our team adopts a client-facing role. When clients have questions about testing new features, need assistance with setting up tests for continuous updates, or have specific concerns regarding software quality, we are here to help! When we discuss QA processes and testing with clients, that leads to new ideas and strategies that benefit both sides.