<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Ali Parçal on Medium]]></title>
        <description><![CDATA[Stories by Ali Parçal on Medium]]></description>
        <link>https://medium.com/@a.aliparcal?source=rss-48f9926773e2------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*V0CvHmX6yaqX58z21jMmMA.jpeg</url>
            <title>Stories by Ali Parçal on Medium</title>
            <link>https://medium.com/@a.aliparcal?source=rss-48f9926773e2------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Sun, 15 Nov 2026 15:36:48 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@a.aliparcal/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com/" rel="hub"/>
        <item>
            <title><![CDATA[How to Ensure Quality in the Era of Super Apps]]></title>
            <link>https://medium.com/getir/how-to-ensure-quality-in-the-era-of-super-apps-f43a248696f2?source=rss-48f9926773e2------2</link>
            <guid isPermaLink="false">https://medium.com/p/f43a248696f2</guid>
            <category><![CDATA[test-automation]]></category>
            <category><![CDATA[software-testing]]></category>
            <category><![CDATA[qa]]></category>
            <category><![CDATA[automation-testing]]></category>
            <category><![CDATA[getir]]></category>
            <dc:creator><![CDATA[Ali Parçal]]></dc:creator>
            <pubDate>Tue, 06 May 2025 12:25:22 GMT</pubDate>
            <atom:updated>2025-05-14T08:33:09.884Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*xTkRPsZUEvzjg336rPIv-g.jpeg" /></figure><p>The mobile application landscape is becoming increasingly complex. Users no longer expect just basic ordering functionality; they demand seamless payment flows, dynamic promotions, and even financial services — all within the same app. To meet these expectations, the concept of a “super app” has emerged, introducing entirely new dynamics into the world of Quality Assurance (QA). But in an environment composed of multiple moving parts that are constantly evolving and tightly integrated, how can we ensure lasting quality?</p><blockquote>In this article, I’ll share how Getir manages QA processes within its super app ecosystem, the journey toward full test automation, and the tangible benefits we’ve seen along the way.</blockquote><h3>Getir: Multiple Verticals, One App</h3><p>Getir is a super app that combines multiple verticals — from grocery delivery to food ordering and household supplies. Each vertical operates like a standalone product with its own team, goals, and user behavior.</p><p><strong>Example Use Case:</strong><br> A user shops with GetirBüyük using their GetirFinans card and earns GetirPoints. Later, they use those points for a discount on GetirYemek.<br> This seemingly simple flow:</p><ul><li>Involves multiple verticals,</li><li>Requires dozens of microservices and integrations,</li><li>Depends on seamless coordination between mobile, web, and backend teams.</li></ul><p>Such a complex infrastructure demands a tailored QA strategy.</p><h3>QA Structure: Distributed but Strategic</h3><p>At Getir, each vertical has its own dedicated QA engineers who:</p><ul><li>Test every feature developed by their team,</li><li>Conduct not only functional but also regression, smoke, and integration tests,</li><li>Collaborate closely with developers and product teams,</li><li>Take full ownership of product quality.</li></ul><p>This distributed model enables:</p><ul><li>Deep test expertise within each team,</li><li>Seamless integration of QA into the development cycle,</li><li>Vertical-specific prioritization.</li></ul><p>But it also brings challenges:</p><p>If QA engineers use different tools or strategies, maintaining platform-wide standardization becomes difficult — potentially leading to insufficient testing of shared components or cross-vertical flows.</p><h3>The Test Pyramid: A Strategic Foundation</h3><p>We use the test pyramid as a guiding framework in our software lifecycle:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1000/0*yzxyhXM1tEqT_Jdr" /></figure><ol><li><strong>Unit Testing</strong><br> Isolated testing of functions, methods, or classes to validate logic correctness.</li><li><strong>Component Testing</strong><br> Testing modules or services in isolation from other dependencies.</li><li><strong>Integration Testing</strong><br> Ensures multiple components work together as expected.</li><li><strong>UI &amp; API Testing</strong><br> Full end-to-end tests through the user interface or API layer to mimic real user interactions.</li><li><strong>Manual &amp; Exploratory Testing</strong><br> Human-led testing to uncover edge cases not covered by automation.</li></ol><h3>Key Takeaways from the Test Pyramid:</h3><ul><li>The number of tests decreases as we move up the pyramid.</li><li>Unit and component tests ensure base quality; integration and UI tests validate systemic behavior.</li><li>Manual testing covers scenarios beyond automation’s reach.</li></ul><h3>The Limits of Manual Testing</h3><p>In a large-scale app like Getir, manual testing alone becomes unsustainable. Challenges include:</p><h4>Common Problems</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*03wljqe6IbV1ArZZC7V5aQ.png" /></figure><h4>Real Situation Examples</h4><ul><li><strong>Promotion errors</strong>: Discounts applied incorrectly.</li><li><strong>Platform-specific bugs</strong>: A screen might work on iOS 13 but break on Android 12.</li><li><strong>Release bottlenecks</strong>: Manual regression testing becomes a time sink during weekly releases.</li></ul><p>At this point, test automation becomes not just beneficial — but essential.</p><h3>Embracing Test Automation</h3><p>Automation is a powerful strategy to speed up QA and catch bugs early. In Getir, we approached this in a structured, phased manner.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*VRRuZ_Ex-H1PJmY6RrpF1w.png" /></figure><h3>Where Automation Happens at Getir</h3><h3>Mobile Automation</h3><p>For iOS and Android apps, we automate:</p><ul><li>Login/logout flows.</li><li>Cart operations.</li><li>Promotion validations.</li><li>Payment scenarios.</li><li><strong>Tools</strong>: Appium, Espresso</li></ul><h3>Web Automation</h3><p>Admin panels such as the restaurant dashboard and partner systems are automated with:</p><ul><li><strong>Tool</strong>: Playwright</li><li>Role-based testing, responsive checks, and UI validations.</li></ul><h3>Backend Automation</h3><p>We validate APIs and backend integrations using:</p><ul><li><strong>Tools</strong>: Jest, Cucumber, Postman, RestAssured</li></ul><h3>Example: Web Automation Strategy</h3><ul><li>Identify critical user flows (e.g., product detail, campaigns, ordering)</li><li>Translate these into test cases</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/738/0*GmOnSCYMxF4mcjpo" /><figcaption>Testcase örneği</figcaption></figure><ul><li>TestRail for case documentation per team</li><li>Playwright for fast, parallel, and modern test execution</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1000/0*BMoZr4TAZGBQr5RH" /><figcaption>Test Suites</figcaption></figure><p><strong>Tool Selection</strong><br><strong>Playwright</strong>: A fast, parallel, modern, and open-source solution.<br><strong>Other alternatives considered</strong>: Selenium, Cypress, and TestCafe. Automated test cases are executed and visualized through the Playwright interface.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1000/0*awTFRE0rGBr85XTE" /><figcaption>Playwright UI</figcaption></figure><h4>CI/CD Integration</h4><ul><li><strong>GitHub Actions</strong>: Tests are automatically triggered on every pull request.</li><li><strong>Allure Integration</strong>: Test reports can be monitored in real time and analyzed in detail.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1000/0*tDlI5zYskQ1uTQuv" /><figcaption>Pipeline</figcaption></figure><h4>Measurable Gains</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*SMmpzZDF_3ZY3qKoAHBlyA.png" /></figure><h3>Challenges Faced and How They Were Overcome</h3><ul><li>Despite its importance, manual testing comes with several inherent limitations — especially in large-scale applications like Getir. The table below highlights some of the most common issues:</li><li><strong>Flaky Tests</strong><br> Delays in actions and loading screens caused inconsistent (flaky) test results.<br> <strong>Solution</strong>: Implemented waitFor, retries, and used stable test data.</li><li><strong>Test Data Management</strong><br> Constantly changing data in the environment made it difficult to repeat scenarios reliably.<br> <strong>Solution</strong>: Introduced mock services and test-specific databases.</li><li><strong>Code Quality and Maintenance</strong><br> Neglecting the maintenance of test automation code led to code decay over time.<br> <strong>Solution</strong>: Prioritized automation tasks within sprints to ensure code upkeep.</li></ul><h3>Looking Ahead: AI-Powered QA</h3><p>In recent years, the integration of artificial intelligence (AI) and machine learning technologies into test automation has brought about a significant transformation in the field of quality assurance (QA). Beyond traditional testing methods, AI-based solutions are no longer just supportive tools — they are becoming proactive partners in ensuring software quality. The key developments in this space can be summarized as follows:</p><ul><li><strong>Automated Test Scenario Generation</strong><br> AI analyzes existing test scenarios to suggest missing ones and generate variations based on possible user behavior. This not only expands test coverage but also helps identify edge cases that might otherwise be overlooked.</li><li><strong>AI-Powered Visual Regression Detection</strong><br> Minor yet critical UI changes can be difficult to detect manually. AI-driven visual comparison tools can identify pixel-level differences, preventing potential visual regressions before they reach users.</li><li><strong>Test Coverage Analysis and Optimization</strong><br> AI systems can evaluate the impact of existing test scenarios on the codebase and identify areas that are insufficiently tested. These insights help reshape testing strategies and enable more efficient resource allocation.</li><li><strong>User Behavior-Based Test Suggestions</strong><br> By analyzing real user interaction data, AI can identify the most frequently used flows and automatically suggest test scenarios to cover them. This ensures that the most critical functionalities are continuously monitored.</li></ul><h3>Next-Generation Test Automation Tools: Intelligent and Adaptive</h3><p>Going beyond traditional frameworks, next-generation test automation platforms — enhanced by AI and data analytics — are significantly improving both the efficiency and accuracy of QA teams. These tools not only simplify the test automation process, but also reduce maintenance overhead, catch bugs earlier in the development lifecycle, and integrate seamlessly with continuous delivery (CI/CD) pipelines.</p><h3>Smart &amp; Adaptive Testing Tools</h3><p>New platforms go beyond traditional automation, powered by AI and analytics:</p><h4>🔍 Testim (by Tricentis)</h4><ul><li>AI-generated scalable test cases</li><li>Resilient to UI changes</li><li>Integrates with CI/CD pipelines</li></ul><h4>🤖 Mabl</h4><ul><li>Automates both API and UI tests</li><li>Offers behavioral insights</li><li>Built-in visual regression and root-cause analysis</li></ul><h4>🧪 Functionize</h4><ul><li>Test creation in plain English</li><li>Self-healing AI-driven test logic</li><li>Test impact analysis</li></ul><h4>🔎 ReTest</h4><ul><li>Difference-based testing</li><li>Focuses only on changed UI components</li><li>Highly accurate visual comparisons</li></ul><h4>Why These Tools Matter</h4><blockquote>Reduce manual effort in test creation and maintenance</blockquote><blockquote>Boost test coverage while lowering maintenance cost</blockquote><blockquote>Prioritize based on real user behavior</blockquote><blockquote>Build resilient, dynamic test systems</blockquote><blockquote>Detect bugs earlier and more reliably</blockquote><h3>Looking Ahead: Getir’s Vision for AI-Driven QA</h3><p>At Getir, we aim to deliver the highest quality user experience. Integrating AI-powered tools into our QA strategy is a top priority for the near future. These technologies — from auto-generating test cases to visual regression tracking and test coverage analytics — will make our software lifecycle more scalable, efficient, and sustainable.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/600/1*nczXtD1QXG1Zcr2O1WNlHw.jpeg" /><figcaption>QA with AI</figcaption></figure><h3>Final Thoughts: Quality is a Strategic Choice</h3><p>In a super app like Getir — multi-vertical, fast-growing, and ever-evolving — achieving testing excellence requires more than just automation. It demands the right structure, smart tooling, strong teams, and a robust QA culture.</p><p>Test automation:</p><p>- Speeds up QA processes<br>- Reduces the risk of bugs<br>- Increases the strategic value of QA<br>- Improves user satisfaction</p><p>This journey offers a roadmap not only for Getir but for any tech company scaling rapidly in a competitive landscape.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=f43a248696f2" width="1" height="1" alt=""><hr><p><a href="https://medium.com/getir/how-to-ensure-quality-in-the-era-of-super-apps-f43a248696f2">How to Ensure Quality in the Era of Super Apps</a> was originally published in <a href="https://medium.com/getir">Getir</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
    </channel>
</rss>