Having incredible Quality Assurance is like watching a movie with great special effects. If the legacy modernization experience is flawless, then everyone has done a great job. At Modern Systems, we guarantee a 100% functionality match between legacy applications and the new Java or C# applications generated by our translation technology. Since each client is different – and the business rules collected in legacy applications can span 25 years or more – our QA Team has proven to be the difference between a poorly executed concept film and a summer blockbuster.
Ramona Cirstoiu manages our QA team in Romania. She’s put together an advanced mix of processes, automation and testing experts to ensure we deliver the best possible code to our customers. We were able to catch up with Ramona and some members of her team this week. Here’s their take on this critical piece of our legacy modernization solution.
Q: What’s the role of automation in your QA Process?
A: “The main role of automation in our QA process is to improve employee productivity and increase testing speed”, says Ramona. “We’ve developed internal solutions, like SystemOne, which uses automation to convert and run technical use cases of the legacy system.” The target output is compared against the legacy results to ensure the match. “Automation is a big part of our testing”, adds Alexandra Gae. “It drives our reporting process as well as standard testing items like unit testing, component testing and overall functionality tests. We’ve been collecting scripts from over 10 years of QA work, so the system is very intelligent at this point, but people are always important.”
Q: With such heavy automation, where do the people come in?
A: “The QA process is like a never ending story of finding subtle ways to break software”, says Alexandra. “We get to be creative that way, as well as working to resolve any bugs.” “One of our daily tasks is creating and running test cases on the mainframe”, says Ramona. “Several of us gained strong mainframe COBOL knowledge, which has helped during Specifications reviews. We’ve had cases where we discovered issues with the solution before it reached the implementation phase, saving a ton of time and avoiding negative impact on the project.
The human element is also central to ensuring our translation technology grows and scales appropriately. “I develop tests to make sure our application behavior in same situations is the correct one”, says Diana Barascu. “I like to investigate failed tests and their results to find out why the result is incorrect or if there is an unexpected behavior. When such behavior arises, the team is ready.” “Legacy modernization can be a rodeo with a happy ending”, says Bianca Heiman. “A new challenge is around every corner. It’s a great feeling to fight it and win!”
Q: What’s different about your legacy modernization QA process?
A: “The QA department has seven cross-functional, integrated teams that work together to ensure proper delivery”, says Ramona. “We keep rigid standards for how tests and bugs are documented, cataloged and resolved. Each team has a correspondent in the Development department and this leads to a faster way to solve issues and to a better understanding of the product.” Adrian Sibisteanu notes that the process goes deeper than topical team integration. “We’ve worked to make QA a lifestyle on this team. To do quality things and expect to receive quality, to think like a customer, to be methodical, accurate, to pay attention to details because in the end the small things make the biggest difference.”
In an ideal world, creating a system would simply mean establishing your requirements at the start of a job, implementing them, and then calling it a day. “There are a million factors that can change the scope and increase the complexity of a project”, says Ramona. “Time, scheduling, new features, and availability of resources are just a few. What some businesses don’t realize is that it’s never just about adding in things like new features. It’s about figuring out how each new feature affects every other component of the system. One seemingly small and supposedly inconsequential change can have extreme repercussions on a system’s process. This is where having qualified QA experts for legacy modernization is critical.