diff --git a/2024/day16.md b/2024/day16.md index 9412d4a..b546309 100644 --- a/2024/day16.md +++ b/2024/day16.md @@ -447,14 +447,14 @@ Drawing inspiration from modern web development tooling and frameworks K6, we ca Code generation in particular is critical in helping developers rapidly prototype and develop tests. For example, a developer running the command ```bash -hedra workflow generate --using http,http2,playwright --tags service=myapi.com,environment=staging +hedra test generate my-test --using http,http2,playwright --tags service=myapi.com,environment=staging ``` generates the following template code: ```python - +# Generated by Hedra - my_test.py import os from hedra import ( Workflow, @@ -467,7 +467,7 @@ from hedra.core.engines import ( ) -class Test(Workflow): +class MyTest(Workflow): vus=1000 duration='1m' tags={ @@ -488,3 +488,43 @@ class Test(Workflow): return await self.client.playwright.goto('') ``` + +When combined with linting: + +```bash +hedra test lint my_test.py + +Linting my_test.py... +OK! +``` + +project management features: +```bash +hedra test submit my_test.py --project github.com/myorg/tests + +Submitting my_test.py to github.com/myorg/tests... +Repo updated! +``` + +And RPC remote execution: + +```bash +hedra cloud test my_test.py --send staging + +Sending to - staging - cluster at 155.020.313.33:6883 +``` + +Allows developers to focus on value delivery as opposed to maintaining a plethora of of extensions, disorganized tests, and execution environments. + +
+ +## Summing it Up + +While performance frameworks are valuable tools, their inherent limitations have made them difficult to adopt and their value proposition increasingly questionable. We can build upon their strengths by: + +- Facilitating simulation of realistic user interactions via workflows +- Allowing for concurrent use of multiple protocols/libraries in a single test/workflow +- Embracing statistical frameworks like A|B testing, using optimization to automate configuration, and providing protocol-level fault injection for chaos testing +- Including modern developer experience features like starter template code generation, "unified experience" CLIs, test linting, and project management + +to create a new class of tooling, simulation frameworks, that both deliver upon and exceed the value proposition of performance testing frameworks. \ No newline at end of file