Home / Companies / Flagsmith / Blog / July 2026

July 2026 Summaries

9 posts from Flagsmith

Filter
Month: Year:
Post Summaries Back to Blog
Server-side testing is a method used by development teams to conduct experiments on the backend components of web applications, such as pricing logic, search algorithms, and backend workflows, which are not visible to the browser. Unlike client-side testing, which occurs in the user's browser and is suited for making minor changes to the user interface, server-side testing is performed directly on the web server before delivering the content to the user, eliminating the "flicker effect" and reducing page load times. This approach allows for more comprehensive testing of backend logic and is particularly useful for applications with complex backend processes, such as personalized pricing and algorithm-driven results. Server-side testing can be implemented using two main methodologies: A/B testing, which compares two variations, and multivariate testing, which involves multiple variations for deeper insights. Feature flags are often used to facilitate server-side testing, allowing development teams to control variations and quickly adjust experiments without redeploying code. While server-side testing requires developer involvement due to its focus on backend logic, many teams use a combination of server-side and client-side testing to cover different aspects of their applications effectively.
Jul 14, 2026 2,310 words in the original blog post.
Software undergoes two primary testing phases—alpha and beta—before reaching end users, each serving distinct purposes in the product development lifecycle. Alpha testing is conducted internally by the development team to identify major bugs and confirm core functionalities within a controlled environment, using both black box and white box testing. Once the software is stable, beta testing involves external users who interact with the nearly finished product in real-world conditions, focusing on usability and user interaction issues. The article also discusses the use of feature flags, which allow teams to manage both testing phases using the same codebase without separate builds or environments. This method facilitates controlled rollouts, such as percentage rollouts and canary releases, enabling gradual exposure of new features to users while providing a mechanism to quickly disable problematic features. Both alpha and beta testing are essential, as alpha ensures internal quality, and beta provides insight into actual user behavior and acceptance, ultimately shaping future development decisions.
Jul 13, 2026 1,729 words in the original blog post.
Continuous testing is a crucial practice within modern software development that involves running automated tests at every stage of the delivery pipeline, rather than solely before a release, to ensure rapid feedback and early bug detection. This approach contrasts with traditional testing models by integrating quality checks throughout the development process, allowing teams to address issues while the context is still fresh and reducing costs associated with fixing bugs at later stages. Continuous testing encompasses various types of tests, including unit, integration, end-to-end, performance, and security testing, and extends beyond continuous integration (CI) testing by covering the entire journey from code change to production. Effective continuous testing leads to faster feedback loops, earlier defect detection, higher deployment confidence, and lower change failure rates, ultimately reducing the cost of quality at scale. Key tools and practices include test runners like Jest, Pytest, and JUnit, end-to-end testing tools such as Playwright and Selenium, and CI platforms like GitHub Actions and Jenkins, all of which facilitate automated test execution and integration into the CI/CD pipeline. Feature flags further enhance continuous testing by allowing controlled rollouts and testing in production environments, offering the ability to toggle features on or off based on real user feedback and minimizing the risk associated with new deployments.
Jul 09, 2026 2,400 words in the original blog post.
Continuous delivery is a development strategy that enables rapid, iterative updates and improvements, allowing teams to deploy software efficiently through continuous testing and small incremental changes. To manage the challenges of meeting user expectations for quick updates, development teams are increasingly using feature flags and remote config tools, which help decouple deployment from release. This decoupling means that new features can be deployed to subsets of users for testing before a broader release, reducing risks and allowing for quick adjustments if issues arise. Feature flags specifically allow developers to toggle features on or off for different user groups, facilitating a smooth, no-code deployment process that enhances productivity and allows teams to focus on product development rather than repetitive deployment tasks. This approach ensures a better user experience by identifying potential issues early and automating the release process, which improves overall efficiency and meets user demands for rapid updates.
Jul 09, 2026 592 words in the original blog post.
Regression testing is an essential practice in modern software development, ensuring that new code changes do not inadvertently disrupt existing functionality. As engineering teams strive for faster release cycles, regression testing provides a safety net by re-executing a set of predefined tests to verify that previous functionalities remain intact after any code modification. This discipline is crucial in mitigating the risks associated with frequent updates, as even minor changes can have unforeseen impacts on a complex codebase. There are various types of regression testing, including unit, partial, complete, and progressive, each serving different scopes and needs. Automated regression testing, integrated into CI/CD pipelines, offers scalability and consistency, providing immediate feedback on potential issues before they reach production. While manual testing is necessary for exploratory scenarios and UI-heavy contexts, automation is preferred for repetitive and scalable testing. Feature flags complement regression testing by allowing controlled rollouts and quick rollbacks, minimizing the impact of any regressions that slip through. Together, these strategies enable teams to balance speed and quality, maintaining user trust and software reliability in increasingly complex systems.
Jul 07, 2026 2,848 words in the original blog post.
A software release is a defined event in the lifecycle of a software product where code changes, such as new features, fixes, or improvements, are made available to users as a specific version. The concept of a software release has evolved from the days of physical media and downloads to the current era of cloud-based, continuously running software, where deployment and release can be separate events. The release process involves various stages, including pre-alpha, alpha, and beta testing, before reaching the release candidate stage, which if successful, leads to the final stable release. Different types of releases, such as major, minor, and patch releases, vary in scope and impact, with major releases involving significant changes and minor ones focusing on smaller improvements. Modern practices like continuous integration and continuous delivery (CI/CD) have transformed the software release cycle, allowing for smaller, more frequent releases that reduce risk and enable rapid responses to issues. Feature flags have further decoupled deployment from release, allowing for controlled rollouts that mitigate the risk of widespread issues. Effective release management involves planning, communication, and the use of tools to ensure smooth transitions from development to production, ultimately aiming to control when and how changes reach users while minimizing risk.
Jul 06, 2026 2,199 words in the original blog post.
DORA metrics, developed by the DevOps Research and Assessment group now part of Google Cloud, provide a framework for assessing software delivery performance by measuring both speed and stability. The five metrics include deployment frequency, lead time for changes, change failure rate, failure recovery time, and deployment rework rate, offering a comprehensive view of how efficiently and reliably a team delivers software. These metrics enable engineering leaders to replace subjective assessments with objective data, facilitating more productive conversations with business stakeholders. High-performing teams excel across all metrics, demonstrating that speed and stability can reinforce each other rather than existing in opposition. The metrics require data integration from various sources, such as CI/CD pipelines, version control systems, and incident management tools, and are best used as diagnostic tools rather than performance targets to avoid gaming the system. Feature flags can aid in improving certain metrics by allowing for more controlled and gradual code deployment, thus enhancing deployment frequency and recovery times without increasing risk.
Jul 02, 2026 2,320 words in the original blog post.
Feature flags, also known as feature toggles, are conditional statements in code that allow developers to turn features on or off, offering flexibility and control over software development and deployment. They play a crucial role in modern engineering practices by enabling trunk-based development, shorter development cycles, and faster feature iteration, as they decouple deployment from release. Feature flags come in various types, such as short-lived, long-lived, user-based, system-based, release, experimentation, and operational flags, each serving different purposes like testing, progressive delivery, and risk mitigation. They are widely used by developers, operations, product managers, marketing, and compliance teams to manage feature rollouts effectively and safely. Implementing feature flags requires a shift in mindset and collaboration across teams to ensure clear naming conventions, proper cleanup, and strategic use, thus preventing technical debt and misuse. While not always necessary for small teams or simple applications, larger teams benefit from dedicated feature flag software, offering enhanced control, security, and integration with open standards like OpenFeature.
Jul 02, 2026 3,998 words in the original blog post.
Progressive delivery is a modern deployment strategy that emphasizes controlled, incremental rollouts of new features, allowing engineering teams to manage risk and ensure stability in software releases. Unlike traditional continuous delivery, which immediately exposes changes to all users, progressive delivery uses feature flags to introduce updates to small user segments initially, collecting real-world feedback and performance data before a full rollout. This approach fosters collaboration and continuous improvement by leveraging techniques like canary releases and A/B testing, ensuring high-quality features reach the entire user base while minimizing operational risk. The integration of observability tools is crucial, as it provides insights into how features perform in production, enabling data-driven decisions for gradual exposure and rollback capabilities. By adopting progressive delivery, teams can achieve a balance between rapid deployment and system stability, optimizing user experience and reducing support costs.
Jul 02, 2026 3,212 words in the original blog post.