Agile in QA: A Seamless Integration for Faster Deployment
Aleš Manfreda, QA Architect
In today's hyper-competitive software landscape, Quality Assurance (QA) is not just a department but a philosophy that permeates every layer of organizational strategy. Here at Engineering Insights, we take pride in nurturing a culture of expertise and knowledge sharing. One key player in upholding this culture is Aleš Manfreda, a highly skilled QA Architect on our team.
Through an exhaustive interview, Aleš peeled back the layers of complexity surrounding QA, enlightening us on the intricate framework, testing types, KPIs, team collaboration, and the future vision of QA at our company.
Unpacking the Testing Framework
The Choice of Framework: Why Cypress?
Aleš Manfreda (AM): We've chosen to work with an extended and custom-modified version of the Cypress framework, integrated with TypeScript. This isn't a decision we made lightly. After rigorous analysis, we found Cypress to be incredibly fast and reliable. Most importantly, it adapts effortlessly to our specific requirements across all tiers of testing—whether it's unit, integration, or system tests.
The Three Tiers of Testing: An All-encompassing Approach
AM: One of the biggest advantages of Cypress is its adaptability. We deploy it for a wide range of testing scenarios—be it user interface testing that involves both static and interactive web elements, or REST API and Database testing. We're also utilizing it for end-to-end testing to ensure system integrity from start to finish. This adaptability makes it invaluable for multiple phases, such as system integration testing, in-sprint testing, user acceptance testing, and pre-production testing.
Striking a Balance: Manual vs. Automated Testing
AM: At present, our testing approach is approximately 80% manual and 20% automated. The rationale behind this split is not resistance to change but a calculated strategy. Manual testing still offers us the human intuition and creativity that machines can't replicate. However, to enhance efficiency, we are in the process of automating existing manual test cases.
Keeping Score: The Metrics that Matter
Key Performance Indicators (KPIs)
AM: In terms of performance metrics, our team focuses on a number of KPIs that go beyond mere 'pass' or 'fail' statuses. We look at Test Coverage to ensure all functional areas of a project are tested, Efficiency to gauge the speed and effectiveness of the tests, and Quality Ratio to analyze the number of passed tests against the total tests run. Additionally, we monitor Execution Time and Reliability to guarantee the tests are both fast and dependable.
Continuous Integration/Continuous Deployment (CI/CD)
AM: While we have not yet fully transitioned to a CI/CD model, we're making strides by incorporating automated tests into our development pipeline. These tests serve as the first line of defense against any breaking changes, offering a safety net that accelerates the development cycle.
Team Dynamics: Structure and Collaboration
AM: We operate under a hierarchical model consisting of a QA Lead and four test engineers. The QA Lead primarily oversees planning, coordination, and implementation of quality assurance practices within the team. Each test engineer brings a unique set of skills and expertise, contributing to a well-rounded, effective unit.
Bug Reporting and Handling
AM: For bug tracking and reporting, we use Microsoft’s Azure Boards. Once a bug is documented, it’s routed to the project manager. This centralized approach enables us to prioritize issues effectively and ensures seamless communication between departments.
Synchronized Excellence: Collaborating with Other Departments
AM: We believe that quality is everyone's responsibility. Hence, our QA team works closely with developers, product managers, and other stakeholders from the earliest stages of the development cycle—starting from user story refinement through to the production release. This collaborative environment fosters a mutual understanding and creates a holistic view of the project.
Agile Methodologies: The Agile QA Team
AM: Yes, Agile is more than just a buzzword for us. The QA team is actively involved in all Agile ceremonies, including planning, daily stand-up meetings, retrospectives, and demos. This Agile-centric approach ensures that QA considerations are embedded into every stage of the development process.
Skill Development: A Future-Oriented Approach
AM: We invest in the continuous skill development of our QA engineers. The main focus is on automation, but we provide ample opportunities to learn new technologies and tools. While prior programming knowledge is desired, it's not a prerequisite. We help our engineers ramp up through structured training and mentorship programs.
Charting the Future
AM: The QA department is looking to expand and evolve into a more automation-centric role. We recognize the need to stay ahead of the curve, and automation is clearly a key part of that future vision.
Aleš Manfreda's insights offer a comprehensive picture of QA as a deeply strategic, highly collaborative, and ever-evolving discipline. As we continue to stay aligned with industry standards, it's the dedication and expertise of professionals like Aleš that keep us at the forefront of technological excellence.
Close