By Kevin McGrath
Kevin McGrath is Director of Quality Assurance at S2 Security.
The S2 Security Quality Assurance (QA) team is a tight-knit crew, and we pride ourselves on being the gatekeepers that ensure everything S2 releases to customers is of the highest possible quality. Whether that means finding bugs or advocating for better usability in product user interface elements, we work hard to give S2 customers a standout product experience.
To accomplish our goals, we have a variety of tools and processes at our disposal. Our favorite tools are found in our two labs – one for access and another for video products and mobile apps. In these labs we perform a variety of tests. Functional testing ensures new features satisfy their requirements and operate as expected. Regression testing makes sure new features don’t break previously released functionality. System and performance testing determine how a feature or set of integrated features hold up when deployed to a large site. And finally, soak testing ensures features will continue to work over long periods of time without unexpected interruption.
All of these processes – especially functional testing – have benefitted from the recent introduction of an Agile development framework that Steve Habermas, Vice President of Engineering, described in an earlier edition of this magazine. As a quick refresher: Agile is a methodology for incrementally building and delivering products that allows a company to focus on the highest business value for end customers.
Leveraging the Agile approach, QA now works in tandem with the development team during the two-week development sprints. Working alongside the development team, QA is able to perform most of its functional testing as well as some regression testing. We can now more actively participate in the development of new features, greatly reducing the time and overhead needed to identify or fix potential problems. Where previously we would wait for the development team to pass us a completed feature, then meticulously test and send it back for fixes, we are now able to help get bugs fixed on the fly working side-by-side with developers. Sometimes this occurs during requirements and design discussions before a line of code is even written. In other words, we are proactively trying to build quality into our products rather than test it in at the end.
We also save time documenting the bugs, because if an identified bug is localized to a particular feature, we can fix it within the same two-week sprint. Ultimately, this new Agile approach is helping us get to a higher quality output in a shorter amount of time.
The introduction of Agile has also allowed us to continue innovating. Over the past year, we’ve researched new tools and enhanced our automated testing for improved efficiency and repeatability over our traditional manual testing processes. We are able to quickly create test environments with hundreds of nodes, thousands of person records, and constant card swipes at readers to test S2 products against a range of functional scenarios and speed up our regression testing. Our goal is to be continuously automating more tests that mimic the wide variety of end-user configurations and workflows we see out in the field.
As the gatekeepers of quality, we live and breathe the S2 customer experience. With the momentum of the new Agile development methodology, QA’s ability to quickly release high quality products is evolving, and we’re excited to keep improving and innovating.