<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>testing &#8211; Noise</title>
	<atom:link href="https://noise.getoto.net/tag/testing/feed/" rel="self" type="application/rss+xml" />
	<link>https://noise.getoto.net</link>
	<description>The collective thoughts of the interwebz</description>
	<lastBuildDate>Fri, 10 Oct 2025 19:01:08 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.2</generator>
	<item>
		<title>Boosting Unit Test Automation at Audible with Amazon Q Developer</title>
		<link>https://noise.getoto.net/2025/10/10/boosting-unit-test-automation-at-audible-with-amazon-q-developer/</link>
		
		<dc:creator><![CDATA[Kirankumar Chandrashekar]]></dc:creator>
		<pubDate>Fri, 10 Oct 2025 19:01:08 +0000</pubDate>
				<category><![CDATA[AI/ML]]></category>
		<category><![CDATA[Amazon Q]]></category>
		<category><![CDATA[Amazon Q Developer]]></category>
		<category><![CDATA[Customer Solutions]]></category>
		<category><![CDATA[Developer Tools]]></category>
		<category><![CDATA[testing]]></category>
		<guid isPermaLink="false">http://noise.getoto.net/?guid=9c3768d5e44680d62a1128e753c6db78</guid>

					<description><![CDATA[Audible, an Amazon company, is a leading producer and provider of audio storytelling. With a vast library of over 1,000,000 titles including audiobooks, podcasts, and Audible Originals with specific curated offerings available in each marketplace, Audible makes it easy to transform everyday moments into extraordinary opportunities for learning, imagination, and entertainment through immersive audio experiences. […]]]></description>
		
		
		<enclosure url="" length="0" type="" />

			</item>
		<item>
		<title>Open sourcing h3i: a command line tool and library for low-level HTTP/3 testing and debugging</title>
		<link>https://noise.getoto.net/2024/12/30/open-sourcing-h3i-a-command-line-tool-and-library-for-low-level-http-3-testing-and-debugging/</link>
		
		<dc:creator><![CDATA[Lucas Pardue]]></dc:creator>
		<pubDate>Mon, 30 Dec 2024 14:00:00 +0000</pubDate>
				<category><![CDATA[HTTP3]]></category>
		<category><![CDATA[protocols]]></category>
		<category><![CDATA[QUIC]]></category>
		<category><![CDATA[Rust]]></category>
		<category><![CDATA[testing]]></category>
		<guid isPermaLink="false">http://noise.getoto.net/?guid=1f8ad0f3f236452b2ce52757a2b53bc8</guid>

					<description><![CDATA[h3i is a command line tool and Rust library designed for low-level testing and debugging of HTTP/3, which runs over QUIC.]]></description>
		
		
		<enclosure url="" length="0" type="" />

			</item>
		<item>
		<title>Terraform CI/CD and testing on AWS with the new Terraform Test Framework</title>
		<link>https://noise.getoto.net/2024/04/03/terraform-ci-cd-and-testing-on-aws-with-the-new-terraform-test-framework/</link>
		
		<dc:creator><![CDATA[Kevon Mayers]]></dc:creator>
		<pubDate>Tue, 02 Apr 2024 23:45:18 +0000</pubDate>
				<category><![CDATA[Advanced (300)]]></category>
		<category><![CDATA[automation]]></category>
		<category><![CDATA[Best practices]]></category>
		<category><![CDATA[CI/CD]]></category>
		<category><![CDATA[Customer Solutions]]></category>
		<category><![CDATA[Developer Tools]]></category>
		<category><![CDATA[devops]]></category>
		<category><![CDATA[DevSecOps]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[Infrastructure as Code]]></category>
		<category><![CDATA[Integration & Automation]]></category>
		<category><![CDATA[Pipelines]]></category>
		<category><![CDATA[Provisioning and orchestration]]></category>
		<category><![CDATA[Technical How-to]]></category>
		<category><![CDATA[Terraform]]></category>
		<category><![CDATA[Test Automation]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[Top Posts*]]></category>
		<guid isPermaLink="false">http://noise.getoto.net/?guid=104dcde212c04af33da75c4e54a350d1</guid>

					<description><![CDATA[In this blog post, we will show you how to validate Terraform modules and how to automate the process using a Continuous Integration/Continuous Deployment (CI/CD) pipeline.]]></description>
		
		
		<enclosure url="" length="0" type="" />

			</item>
		<item>
		<title>Improved Workers testing via Vitest and workerd</title>
		<link>https://noise.getoto.net/2024/03/15/improved-workers-testing-via-vitest-and-workerd/</link>
		
		<dc:creator><![CDATA[Brendan Coll]]></dc:creator>
		<pubDate>Fri, 15 Mar 2024 14:00:35 +0000</pubDate>
				<category><![CDATA[Cloudflare Workers]]></category>
		<category><![CDATA[Developers]]></category>
		<category><![CDATA[testing]]></category>
		<guid isPermaLink="false">http://noise.getoto.net/?guid=b27b28eb89bef19b76b421269d7cb604</guid>

					<description><![CDATA[Today, we’re excited to announce a new Workers Vitest integration - allowing you to write unit and integration tests via the popular testing framework, Vitest, that execute directly in our runtime, workerd]]></description>
		
		
		<enclosure url="" length="0" type="" />

			</item>
		<item>
		<title>Introducing SafeTest: A Novel Approach to Front End Testing</title>
		<link>https://noise.getoto.net/2024/02/13/introducing-safetest-a-novel-approach-to-front-end-testing/</link>
		
		<dc:creator><![CDATA[Netflix Technology Blog]]></dc:creator>
		<pubDate>Tue, 13 Feb 2024 16:07:48 +0000</pubDate>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[Netflix]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[React]]></category>
		<category><![CDATA[testing]]></category>
		<guid isPermaLink="false">https://medium.com/p/37f9f88c152d</guid>

					<description><![CDATA[<p>by <a href="https://medium.com/u/a155da075195">Moshe Kolodny</a></p><p>In this post, we’re excited to introduce SafeTest, a revolutionary library that offers a fresh perspective on End-To-End (E2E) tests for web-based User Interface (UI) applications.</p><h3>The Challenges of Traditional UI Testing</h3><p>Traditionally, UI tests have been conducted through either unit testing or integration testing (also referred to as End-To-End (E2E) testing). However, each of these methods presents a unique trade-off: you have to choose between controlling the test fixture and setup, or controlling the test driver.</p><p>For instance, when using <a href="https://testing-library.com/docs/react-testing-library/intro/">react-testing-library</a>, a unit testing solution, you maintain complete control over what to render and how the underlying services and imports should behave. However, you lose the ability to interact with an actual page, which can lead to a myriad of pain points:</p><ul><li>Difficulty in interacting with complex UI elements like &#60;Dropdown /&#62; components.</li><li>Inability to test CORS setup or GraphQL calls.</li><li>Lack of visibility into z-index issues affecting click-ability of buttons.</li><li>Complex and unintuitive authoring and debugging of tests.</li></ul><p>Conversely, using integration testing tools like Cypress or Playwright provides control over the page, but sacrifices the ability to instrument the bootstrapping code for the app. These tools operate by remotely controlling a browser to visit a URL and interact with the page. This approach has its own set of challenges:</p><ul><li>Difficulty in making calls to an alternative API endpoint without implementing custom network layer API rewrite rules.</li><li>Inability to make assertions on spies/mocks or execute code within the app.</li><li>Testing something like dark mode entails clicking the theme switcher or knowing the localStorage mechanism to override.</li><li>Inability to test segments of the app, for example if a component is only visible after clicking a button and waiting for a 60 second timer to countdown, the test will need to run those actions and will be at least a minute long.</li></ul><p>Recognizing these challenges, solutions like E2E Component Testing have emerged, with offerings from <a href="https://docs.cypress.io/guides/component-testing/overview">Cypress</a> and <a href="https://playwright.dev/docs/test-components">Playwright</a>. While these tools attempt to rectify the shortcomings of traditional integration testing methods, they have other limitations due to their architecture. They start a dev server with bootstrapping code to load the component and/or setup code you want, which limits their ability to handle complex enterprise applications that might have OAuth or a complex build pipeline. Moreover, updating TypeScript usage could break your tests until the Cypress/Playwright team updates their runner.</p><h3>Welcome to SafeTest</h3><p>SafeTest aims to address these issues with a novel approach to UI testing. The main idea is to have a <a href="https://www.npmjs.com/package/safetest#bootstrapping-your-application">snippet of code in our application bootstrapping stage that injects hooks to run our tests</a> (see the <a href="https://www.npmjs.com/package/safetest#how-safetest-works">How Safetest Works</a> sections for more info on what this is doing). <strong>Note that how this works has no measurable impact on the regular usage of your app since SafeTest leverages lazy loading to dynamically load the tests only when running the tests (in the README example, the tests aren’t in the production bundle at all).</strong> Once that’s in place, we can use Playwright to run regular tests, thereby achieving the ideal browser control we want for our tests.</p><p>This approach also unlocks some exciting features:</p><ul><li>Deep linking to a specific test without needing to run a node test server.</li><li>Two-way communication between the browser and test (node) context.</li><li>Access to all the DX features that come with Playwright (excluding the ones that come with @playwright/test).</li><li>Video recording of tests, trace viewing, and pause page functionality for trying out different page selectors/actions.</li><li>Ability to make assertions on spies in the browser in node, matching snapshot of the call within the browser.</li></ul><h3>Test Examples with SafeTest</h3><p>SafeTest is designed to feel familiar to anyone who has conducted UI tests before, as it leverages the best parts of existing solutions. Here’s an example of how to test an entire application:</p><pre>import { describe, it, expect } from 'safetest/jest';<br>import { render } from 'safetest/react';<br><br>describe('my app', () =&#62; {<br>  it('loads the main page', async () =&#62; {<br>    const { page } = await render();<br><br>    await expect(page.getByText('Welcome to the app')).toBeVisible();<br>    expect(await page.screenshot()).toMatchImageSnapshot();<br>  });<br>});</pre><p>We can just as easily test a specific component</p><pre>import { describe, it, expect, browserMock } from 'safetest/jest';<br>import { render } from 'safetest/react';<br><br>describe('Header component', () =&#62; {<br>  it('has a normal mode', async () =&#62; {<br>    const { page } = await render(&#60;Header /&#62;);<br><br>    await expect(page.getByText('Admin')).not.toBeVisible();<br>   });<br><br>  it('has an admin mode', async () =&#62; {<br>    const { page } = await render(&#60;Header admin={true} /&#62;);<br><br>    await expect(page.getByText('Admin')).toBeVisible();<br>  });<br><br>  it('calls the logout handler when signing out', async () =&#62; {<br>    const spy = browserMock.fn();<br>    const { page } = await render(&#60;Header handleLogout={fn} /&#62;);<br><br>    await page.getByText('logout').click();<br>    expect(await spy).toHaveBeenCalledWith();<br>  });<br>});</pre><h3>Leveraging Overrides</h3><p>SafeTest utilizes React Context to allow for value overrides during tests. For an example of how this works, let’s assume we have a fetchPeople function used in a component:</p><pre>import { useAsync } from 'react-use';<br>import { fetchPerson } from './api/person';<br><br>export const People: React.FC = () =&#62; {<br>  const { data: people, loading, error } = useAsync(fetchPeople);<br>  <br>  if (loading) return &#60;Loader /&#62;;<br>  if (error) return &#60;ErrorPage error={error} /&#62;;<br>  return &#60;Table data={data} rows=[...] /&#62;;<br>}</pre><p>We can modify the People component to use an Override:</p><pre> import { fetchPerson } from './api/person';<br>+import { createOverride } from 'safetest/react';<br><br>+const FetchPerson = createOverride(fetchPerson);<br><br> export const People: React.FC = () =&#62; {<br>+  const fetchPeople = FetchPerson.useValue();<br>   const { data: people, loading, error } = useAsync(fetchPeople);<br>  <br>   if (loading) return &#60;Loader /&#62;;<br>   if (error) return &#60;ErrorPage error={error} /&#62;;<br>   return &#60;Table data={data} rows=[...] /&#62;;<br> }</pre><p>Now, in our test, we can override the response for this call:</p><pre>const pending = new Promise(r =&#62; { /* Do nothing */ });<br>const resolved = [{name: 'Foo', age: 23], {name: 'Bar', age: 32]}];<br>const error = new Error('Whoops');<br><br>describe('People', () =&#62; {<br>  it('has a loading state', async () =&#62; {<br>    const { page } = await render(<br>      &#60;FetchPerson.Override with={() =&#62; () =&#62; pending}&#62;<br>        &#60;People /&#62;<br>      &#60;/FetchPerson.Override&#62;<br>    );<br><br>    await expect(page.getByText('Loading')).toBeVisible();<br>  });<br><br>  it('has a loaded state', async () =&#62; {<br>    const { page } = await render(<br>      &#60;FetchPerson.Override with={() =&#62; async () =&#62; resolved}&#62;<br>        &#60;People /&#62;<br>      &#60;/FetchPerson.Override&#62;<br>    );<br><br>    await expect(page.getByText('User: Foo, name: 23')).toBeVisible();<br>  });<br><br>  it('has an error state', async () =&#62; {<br>    const { page } = await render(<br>      &#60;FetchPerson.Override with={() =&#62; async () =&#62; { throw error }}&#62;<br>        &#60;People /&#62;<br>      &#60;/FetchPerson.Override&#62;<br>    );<br><br>    await expect(page.getByText('Error getting users: "Whoops"')).toBeVisible();<br>  });<br>});</pre><p>The render function also accepts a function that will be passed the initial app component, allowing for the injection of any desired elements anywhere in the app:</p><pre>it('has a people loaded state', async () =&#62; {<br>  const { page } = await render(app =&#62;<br>    &#60;FetchPerson.Override with={() =&#62; async () =&#62; resolved}&#62;<br>      {app}<br>    &#60;/FetchPerson.Override&#62;<br>  );<br>   await expect(page.getByText('User: Foo, name: 23')).toBeVisible();<br>});</pre><p>With overrides, we can write complex test cases such as ensuring a service method which combines API requests from /foo, /bar, and /baz, has the correct retry mechanism for just the failed API requests and still maps the return value correctly. So if /bar takes 3 attempts to resolve the method will make a total of 5 API calls.</p><p>Overrides aren’t limited to just API calls (since we can use also use <a href="https://playwright.dev/docs/api/class-page#page-route">page.route</a>), we can also override specific app level values like feature flags or changing some static value:</p><pre>+const UseFlags = createOverride(useFlags);<br> export const Admin = () =&#62; {<br>+  const useFlags = UseFlags.useValue();<br>   const { isAdmin } = useFlags();<br>   if (!isAdmin) return &#60;div&#62;Permission error&#60;/div&#62;;<br>   // ...<br> }<br><br>+const Language = createOverride(navigator.language);<br> export const LanguageChanger = () =&#62; {<br>-  const language = navigator.language;<br>+  const language = Language.useValue();<br>   return &#60;div&#62;Current language is { language } &#60;/div&#62;;<br> }<br><br> describe('Admin', () =&#62; {<br>   it('works with admin flag', async () =&#62; {<br>     const { page } = await render(<br>       &#60;UseIsAdmin.Override with={oldHook =&#62; {<br>         const oldFlags = oldHook();<br>         return { ...oldFlags, isAdmin: true };<br>       }}&#62;<br>         &#60;MyComponent /&#62;<br>       &#60;/UseIsAdmin.Override&#62;<br>     );<br><br>     await expect(page.getByText('Permission error')).not.toBeVisible();<br>   });<br> });<br><br> describe('Language', () =&#62; {<br>   it('displays', async () =&#62; {<br>     const { page } = await render(<br>       &#60;Language.Override with={old =&#62; 'abc'}&#62;<br>         &#60;MyComponent /&#62;<br>       &#60;/Language.Override&#62;<br>     );<br><br>     await expect(page.getByText('Current language is abc')).toBeVisible();<br>   });<br> });</pre><p>Overrides are a powerful feature of SafeTest and the examples here only scratch the surface. For more information and examples, refer to the <a href="https://www.npmjs.com/package/safetest#overrides">Overrides section</a> on the <a href="https://github.com/kolodny/safetest/blob/main/README.md">README</a>.</p><h3>Reporting</h3><p>SafeTest comes out of the box with powerful reporting capabilities, such as automatic linking of video replays, Playwright trace viewer, and even <a href="https://safetest-two.vercel.app/vite-react-ts/?test_path=./Another.safetest&#38;test_name=Main2+can+do+many+interactions+fast">deep link directly to the mounted tested component</a>. The SafeTest repo <a href="https://github.com/kolodny/safetest/blob/main/README.md">README</a> links to all the <a href="https://safetest-two.vercel.app/">example apps</a> as well as the <a href="https://safetest-two.vercel.app/report.html#results=vite-react-ts/artifacts/results.json&#38;url=vite-react-ts/">reports</a></p><figure><img alt="Image of SafeTest report showing a video of a test run" src="https://cdn-images-1.medium.com/max/995/1*OFmV3PX7Is8X48-V9ryeig.png"></figure><h3>SafeTest in Corporate Environments</h3><p>Many large corporations need a form of authentication to use the app. Typically, navigating to localhost:3000 just results in a perpetually loading page. You need to go to a different port, like localhost:8000, which has a proxy server to check and/or inject auth credentials into underlying service calls. This limitation is one of the main reasons that Cypress/Playwright Component Tests aren’t suitable for use at Netflix.</p><p>However, there’s usually a service that can generate test users whose credentials we can use to log in and interact with the application. This facilitates creating a light wrapper around SafeTest to automatically generate and assume that test user. For instance, here’s basically how we do it at Netflix:</p><pre>import { setup } from 'safetest/setup';<br>import { createTestUser, addCookies } from 'netflix-test-helper';<br><br>type Setup = Parameters&#60;typeof setup&#62;[0] &#38; {<br>  extraUserOptions?: UserOptions;<br>};<br><br><br>export const setupNetflix = (options: Setup) =&#62; {<br>  setup({<br>    ...options,<br>    hooks: { beforeNavigate: [async page =&#62; addCookies(page)] },<br>  });<br><br>  beforeAll(async () =&#62; {<br>    createTestUser(options.extraUserOptions)<br>  });<br>};</pre><p>After setting this up, we simply import the above package in place of where we would have used safetest/setup.</p><h3>Beyond React</h3><p>While this post focused on how SafeTest works with React, it’s not limited to just React. SafeTest also works with Vue, Svelte, Angular, and even can run on NextJS or Gatsby. It also runs using either Jest or Vitest based on which test runner your scaffolding started you off with. The <a href="https://github.com/kolodny/safetest/tree/main/examples">examples folder</a> demonstrates how to use SafeTest with different tooling combinations, and we encourage contributions to add more cases.</p><p>At its core, SafeTest is an intelligent glue for a test runner, a UI library, and a browser runner. Though the most common usage at Netflix employs Jest/React/Playwright, it’s easy to add more adapters for other options.</p><h3>Conclusion</h3><p>SafeTest is a powerful testing framework that’s being adopted within Netflix. It allows for easy authoring of tests and provides comprehensive reports when and how any failures occurred, complete with links to view a playback video or manually run the test steps to see what broke. We’re excited to see how it will revolutionize UI testing and look forward to your feedback and contributions.</p><img src="https://medium.com/_/stat?event=post.clientViewed&#38;referrerSource=full_rss&#38;postId=37f9f88c152d" width="1" height="1" alt=""><hr><p><a href="https://netflixtechblog.com/introducing-safetest-a-novel-approach-to-front-end-testing-37f9f88c152d">Introducing SafeTest: A Novel Approach to Front End Testing</a> was originally published in <a href="https://netflixtechblog.com/">Netflix TechBlog</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></description>
		
		
		<enclosure url="" length="0" type="" />

			</item>
		<item>
		<title>Introducing the Cloudflare Radar Internet Quality Page</title>
		<link>https://noise.getoto.net/2023/06/23/introducing-the-cloudflare-radar-internet-quality-page/</link>
		
		<dc:creator><![CDATA[David Belson]]></dc:creator>
		<pubDate>Fri, 23 Jun 2023 13:00:09 +0000</pubDate>
				<category><![CDATA[Cloudflare Radar]]></category>
		<category><![CDATA[Internet Quality]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Speed]]></category>
		<category><![CDATA[Speed Week]]></category>
		<category><![CDATA[testing]]></category>
		<guid isPermaLink="false">http://noise.getoto.net/?guid=f6409aeee803d88191fb654aa377ad2a</guid>

					<description><![CDATA[The new Internet Quality page on Cloudflare Radar provides both country and network (autonomous system) level insight into Internet connection performance (bandwidth) and quality (latency, jitter) over time based on benchmark test data as well as speed.cloudflare.com test results]]></description>
		
		
		<enclosure url="http://blog.cloudflare.com/content/images/2023/06/image6-6.png" length="0" type="" />

			</item>
		<item>
		<title>Migrating Critical Traffic At Scale with No Downtime — Part 2</title>
		<link>https://noise.getoto.net/2023/06/13/migrating-critical-traffic-at-scale-with-no-downtime-part-2/</link>
		
		<dc:creator><![CDATA[Netflix Technology Blog]]></dc:creator>
		<pubDate>Tue, 13 Jun 2023 17:23:17 +0000</pubDate>
				<category><![CDATA[distributed-systems]]></category>
		<category><![CDATA[Netflix]]></category>
		<category><![CDATA[streaming]]></category>
		<category><![CDATA[system-migration]]></category>
		<category><![CDATA[testing]]></category>
		<guid isPermaLink="false">https://medium.com/p/4b1c8c7155c1</guid>

					<description><![CDATA[Migrating Critical Traffic At Scale with No Downtime — Part 2Shyam Gala, Javier Fernandez-Ivern, Anup Rokkam Pratap, Devang ShahPicture yourself enthralled by the latest episode of your beloved Netflix series, delighting in an uninterrupted, high-defin...]]></description>
		
		
		<enclosure url="" length="0" type="" />

			</item>
		<item>
		<title>How to test email sending and monitoring</title>
		<link>https://noise.getoto.net/2023/05/18/how-to-test-email-sending-and-monitoring/</link>
		
		<dc:creator><![CDATA[Dustin Taylor]]></dc:creator>
		<pubDate>Thu, 18 May 2023 15:16:18 +0000</pubDate>
				<category><![CDATA[Amazon SES]]></category>
		<category><![CDATA[AWS]]></category>
		<category><![CDATA[bounce]]></category>
		<category><![CDATA[complaint]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[email best practices]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[suppression list]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">http://noise.getoto.net/?guid=ecee3527e71f22c3e5e55b02f28faff9</guid>

					<description><![CDATA[Introduction When setting up your email sending infrastructure and connections to APIs it is necessary to ensure proper setup. It is also important to ensure that after making changes to your sending pipeline that you verify that your application is working as expected. Not only is it important to test your sending processes, but it’s […]]]></description>
		
		
		<enclosure url="" length="0" type="" />

			</item>
		<item>
		<title>Migrating Critical Traffic At Scale with No Downtime — Part 1</title>
		<link>https://noise.getoto.net/2023/05/05/migrating-critical-traffic-at-scale-with-no-downtime-part-1/</link>
		
		<dc:creator><![CDATA[Netflix Technology Blog]]></dc:creator>
		<pubDate>Thu, 04 May 2023 21:32:37 +0000</pubDate>
				<category><![CDATA[distributed-systems]]></category>
		<category><![CDATA[Netflix]]></category>
		<category><![CDATA[streaming]]></category>
		<category><![CDATA[system-migration]]></category>
		<category><![CDATA[testing]]></category>
		<guid isPermaLink="false">https://medium.com/p/ba1c7a1c7835</guid>

					<description><![CDATA[Migrating Critical Traffic At Scale with No Downtime — Part 1Shyam Gala, Javier Fernandez-Ivern, Anup Rokkam Pratap, Devang ShahHundreds of millions of customers tune into Netflix every day, expecting an uninterrupted and immersive streaming experience...]]></description>
		
		
		<enclosure url="" length="0" type="" />

			</item>
		<item>
		<title>NTS: Reliable Device Testing at Scale</title>
		<link>https://noise.getoto.net/2023/03/09/nts-reliable-device-testing-at-scale/</link>
		
		<dc:creator><![CDATA[Netflix Technology Blog]]></dc:creator>
		<pubDate>Thu, 09 Mar 2023 17:38:02 +0000</pubDate>
				<category><![CDATA[distributed-systems]]></category>
		<category><![CDATA[kafka]]></category>
		<category><![CDATA[testing]]></category>
		<guid isPermaLink="false">https://medium.com/p/43139ae05382</guid>

					<description><![CDATA[By Benson Ma, ZZ ZimmermanWith contributions from Alok Ahuja, Shravan Heroor, Michael Krasnow, Todor Minchev, Inder SinghIntroductionAt Netflix, we test hundreds of different device types every day, ranging from streaming sticks to smart TVs, to ensure...]]></description>
		
		
		<enclosure url="" length="0" type="" />

			</item>
		<item>
		<title>Keeping the Cloudflare API &#8216;all green&#8217; using Python-based testing</title>
		<link>https://noise.getoto.net/2023/03/07/keeping-the-cloudflare-api-all-green-using-python-based-testing/</link>
		
		<dc:creator><![CDATA[Elie Mitrani]]></dc:creator>
		<pubDate>Tue, 07 Mar 2023 14:00:00 +0000</pubDate>
				<category><![CDATA[Engineering]]></category>
		<category><![CDATA[monitoring]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[апи]]></category>
		<guid isPermaLink="false">http://noise.getoto.net/?guid=72922fead1eb8953476f7347e3ee9aa6</guid>

					<description><![CDATA[Scout is an automated system providing constant end to end testing and monitoring of live APIs over different environments and resources. Scout does it by periodically running self explanatory Python tests]]></description>
		
		
		<enclosure url="http://blog.cloudflare.com/content/images/2023/03/image2.jpg" length="0" type="" />

			</item>
		<item>
		<title>How to get best price performance from your Amazon Redshift Data Sharing deployment</title>
		<link>https://noise.getoto.net/2022/12/20/how-to-get-best-price-performance-from-your-amazon-redshift-data-sharing-deployment/</link>
		
		<dc:creator><![CDATA[BP Yau]]></dc:creator>
		<pubDate>Tue, 20 Dec 2022 16:20:51 +0000</pubDate>
				<category><![CDATA[Advanced (300)]]></category>
		<category><![CDATA[Amazon Redshift]]></category>
		<category><![CDATA[Amazon Redshift data sharing]]></category>
		<category><![CDATA[Analytics]]></category>
		<category><![CDATA[Data Sharing]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[testing]]></category>
		<guid isPermaLink="false">http://noise.getoto.net/?guid=179473e69ba0688291f7da64e8a76cee</guid>

					<description><![CDATA[Amazon Redshift is a fast, scalable, secure, and fully-managed data warehouse that enables you to analyze all of your data using standard SQL easily and cost-effectively. Amazon Redshift Data Sharing allows customers to securely share live, transactionally consistent data in one Amazon Redshift cluster with another Amazon Redshift cluster across accounts and regions without needing to […]]]></description>
		
		
		<enclosure url="" length="0" type="" />

			</item>
		<item>
		<title>Automatic rule backtesting with large quantities of data</title>
		<link>https://noise.getoto.net/2022/09/08/automatic-rule-backtesting-with-large-quantities-of-data/</link>
		
		<dc:creator><![CDATA[Grab Tech]]></dc:creator>
		<pubDate>Thu, 08 Sep 2022 00:55:55 +0000</pubDate>
				<category><![CDATA[automation]]></category>
		<category><![CDATA[Backtesting]]></category>
		<category><![CDATA[Data Science]]></category>
		<category><![CDATA[Engineering]]></category>
		<category><![CDATA[testing]]></category>
		<guid isPermaLink="false">https://engineering.grab.com/automatic-rule-backtesting</guid>

					<description><![CDATA[Introduction

Analysts need to analyse and simulate a rule on historical data to check the performance and accuracy of the rule. Backtesting enables analysts to run simulations of the rules and manage the results from the rule engine UI.

Backtesting h...]]></description>
		
		
		<enclosure url="" length="0" type="" />

			</item>
		<item>
		<title>Fixing Performance Regressions Before they Happen</title>
		<link>https://noise.getoto.net/2022/01/24/fixing-performance-regressions-before-they-happen/</link>
		
		<dc:creator><![CDATA[Netflix Technology Blog]]></dc:creator>
		<pubDate>Mon, 24 Jan 2022 21:49:43 +0000</pubDate>
				<category><![CDATA[anomaly]]></category>
		<category><![CDATA[changepoint]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[regression]]></category>
		<category><![CDATA[testing]]></category>
		<guid isPermaLink="false">https://medium.com/p/eab2602b86fe</guid>

					<description><![CDATA[Angus CrollNetflix is used by 222 million members and runs on over 1700 device types ranging from state-of-the-art smart TVs to low-cost mobile devices.At Netflix we’re proud of our reliability and we want to keep it that way. To that end, it’s importa...]]></description>
		
		
		<enclosure url="" length="0" type="" />

			</item>
		<item>
		<title>Automating Multi-Armed Bandit testing during feature rollout</title>
		<link>https://noise.getoto.net/2021/09/01/automating-multi-armed-bandit-testing-during-feature-rollout/</link>
		
		<dc:creator><![CDATA[Grab Tech]]></dc:creator>
		<pubDate>Wed, 01 Sep 2021 01:20:00 +0000</pubDate>
				<category><![CDATA[Engineering]]></category>
		<category><![CDATA[Optimisation]]></category>
		<category><![CDATA[testing]]></category>
		<guid isPermaLink="false">https://engineering.grab.com/multi-armed-bandit-system-recommendation</guid>

					<description><![CDATA[A/B testing is an experiment where a random e-commerce platform user is given two versions of a variable: a control group and a treatment group, to discover the optimal version that maximizes conversion. When running A/B testing, you can take the Multi...]]></description>
		
		
		<enclosure url="" length="0" type="" />

			</item>
		<item>
		<title>CDK Corner – August 2021</title>
		<link>https://noise.getoto.net/2021/08/30/cdk-corner-august-2021/</link>
		
		<dc:creator><![CDATA[Richard H Boyd]]></dc:creator>
		<pubDate>Mon, 30 Aug 2021 13:44:16 +0000</pubDate>
				<category><![CDATA[announcements]]></category>
		<category><![CDATA[AWS CDK]]></category>
		<category><![CDATA[Developer Tools]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[testing]]></category>
		<guid isPermaLink="false">http://noise.getoto.net/?guid=c748997d5040a99ee092ca54a5cbec5b</guid>

					<description><![CDATA[We’re now well into the dog days of summer but that hasn’t slowed down the community one bit. In the past few months the team has delivered 3 big features that I think the community will love. The biggest new feature is the Construct Hub Developer Preview. Alex Pulver describes it as “a one-stop destination […]]]></description>
		
		
		<enclosure url="" length="0" type="" />

			</item>
		<item>
		<title>Integrating AWS Device Farm with your CI/CD pipeline to run cross-browser Selenium tests</title>
		<link>https://noise.getoto.net/2021/03/04/integrating-aws-device-farm-with-your-ci-cd-pipeline-to-run-cross-browser-selenium-tests/</link>
		
		<dc:creator><![CDATA[Mahesh Biradar]]></dc:creator>
		<pubDate>Wed, 03 Mar 2021 23:02:13 +0000</pubDate>
				<category><![CDATA[automation]]></category>
		<category><![CDATA[AWS CodePipeline]]></category>
		<category><![CDATA[AWS CodeStar]]></category>
		<category><![CDATA[AWS Device Farm]]></category>
		<category><![CDATA[Continuous Delivery]]></category>
		<category><![CDATA[Continuous Integration]]></category>
		<category><![CDATA[devops]]></category>
		<category><![CDATA[Selenium]]></category>
		<category><![CDATA[Test Automation]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[Web app]]></category>
		<guid isPermaLink="false">http://noise.getoto.net/?guid=f17998b65b34efba0bacc68f853a678c</guid>

					<description><![CDATA[Continuously building, testing, and deploying your web application helps you release new features sooner and with fewer bugs. In this blog, you will create a continuous integration and continuous delivery (CI/CD) pipeline for a web app using AWS CodeStar services and AWS Device Farm’s desktop browser testing service.  AWS CodeStar is a suite of services […]]]></description>
		
		
		<enclosure url="" length="0" type="" />

			</item>
		<item>
		<title>Soar: Simulation for Observability, reliAbility, and secuRity</title>
		<link>https://noise.getoto.net/2021/01/14/soar-simulation-for-observability-reliability-and-security/</link>
		
		<dc:creator><![CDATA[Yan Zhai]]></dc:creator>
		<pubDate>Thu, 14 Jan 2021 12:00:00 +0000</pubDate>
				<category><![CDATA[observability]]></category>
		<category><![CDATA[reliability]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[testing]]></category>
		<guid isPermaLink="false">http://noise.getoto.net/?guid=08986adbf6000a90720677d1632e01c7</guid>

					<description><![CDATA[In this article, we will discuss one of the techniques we use to fight such software complexity: simulations. Simulations are basically system tests that run with synthesized customer traffic and applications.]]></description>
		
		
		<enclosure url="https://blog.cloudflare.com/content/images/2021/01/Soar.png" length="0" type="" />

			</item>
		<item>
		<title>Automate thousands of mainframe tests on AWS with the Micro Focus Enterprise Suite</title>
		<link>https://noise.getoto.net/2020/11/20/automate-thousands-of-mainframe-tests-on-aws-with-the-micro-focus-enterprise-suite/</link>
		
		<dc:creator><![CDATA[Kevin Yung]]></dc:creator>
		<pubDate>Fri, 20 Nov 2020 13:56:44 +0000</pubDate>
				<category><![CDATA[Amazon ECR]]></category>
		<category><![CDATA[Amazon ECS]]></category>
		<category><![CDATA[Amazon ECS Fargate]]></category>
		<category><![CDATA[AWS CloudFormation]]></category>
		<category><![CDATA[AWS CodeBuild]]></category>
		<category><![CDATA[AWS CodePipeline]]></category>
		<category><![CDATA[AWS Partner Network]]></category>
		<category><![CDATA[Containers]]></category>
		<category><![CDATA[Continuous Integration]]></category>
		<category><![CDATA[Developer Tools]]></category>
		<category><![CDATA[devops]]></category>
		<category><![CDATA[Financial Services]]></category>
		<category><![CDATA[Healthcare]]></category>
		<category><![CDATA[Infrastructure & Automation]]></category>
		<category><![CDATA[mainframe]]></category>
		<category><![CDATA[Mainframe Migration]]></category>
		<category><![CDATA[MicroFocus]]></category>
		<category><![CDATA[Migration]]></category>
		<category><![CDATA[modernization]]></category>
		<category><![CDATA[Partners]]></category>
		<category><![CDATA[retail]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[Travel and Hospitality]]></category>
		<guid isPermaLink="false">http://noise.getoto.net/?guid=fbbae1805020c9e9233cdba746d61736</guid>

					<description><![CDATA[We have seen mainframe customers often encounter scalability constraints, and they can&#8217;t support their development and test workforce to the scale required to support business requirements. These constraints can lead to delays, reduce product or feature releases, and make them unable to respond to market requirements. Furthermore, limits in capacity and scale often affect the quality of changes deployed, and are linked to unplanned or unexpected downtime in products or services. The conventional approach to address these constraints is to scale up, meaning to increase MIPS/MSU capacity of the mainframe hardware available for development and testing. The cost of this approach, however, is excessively high, and to ensure time to market, you may reject this approach at the expense of quality and functionality. If you&#8217;re wrestling with these challenges, this post is written specifically for you.]]></description>
		
		
		<enclosure url="" length="0" type="" />

			</item>
	</channel>
</rss>

<!--
Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/

Object Caching 84/450 objects using Memcached
Page Caching using Disk: Enhanced 
Lazy Loading (feed)
Database Caching using Memcached

Served from: noise.getoto.net @ 2025-12-05 17:35:25 by W3 Total Cache
-->