Skip to content

Commit 9a09525

Browse files
committed
AL: Added final section for Day 16
1 parent 32970c7 commit 9a09525

1 file changed

Lines changed: 43 additions & 3 deletions

File tree

2024/day16.md

Lines changed: 43 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -447,14 +447,14 @@ Drawing inspiration from modern web development tooling and frameworks K6, we ca
447447
Code generation in particular is critical in helping developers rapidly prototype and develop tests. For example, a developer running the command
448448

449449
```bash
450-
hedra workflow generate --using http,http2,playwright --tags service=myapi.com,environment=staging
450+
hedra test generate my-test --using http,http2,playwright --tags service=myapi.com,environment=staging
451451
```
452452

453453
generates the following template code:
454454

455455

456456
```python
457-
457+
# Generated by Hedra - my_test.py
458458
import os
459459
from hedra import (
460460
Workflow,
@@ -467,7 +467,7 @@ from hedra.core.engines import (
467467
)
468468

469469

470-
class Test(Workflow):
470+
class MyTest(Workflow):
471471
vus=1000
472472
duration='1m'
473473
tags={
@@ -488,3 +488,43 @@ class Test(Workflow):
488488
return await self.client.playwright.goto('<ADD_URL_HERE>')
489489

490490
```
491+
492+
When combined with linting:
493+
494+
```bash
495+
hedra test lint my_test.py
496+
497+
Linting my_test.py...
498+
OK!
499+
```
500+
501+
project management features:
502+
```bash
503+
hedra test submit my_test.py --project github.com/myorg/tests
504+
505+
Submitting my_test.py to github.com/myorg/tests...
506+
Repo updated!
507+
```
508+
509+
And RPC remote execution:
510+
511+
```bash
512+
hedra cloud test my_test.py --send staging
513+
514+
Sending to - staging - cluster at 155.020.313.33:6883
515+
```
516+
517+
Allows developers to focus on value delivery as opposed to maintaining a plethora of of extensions, disorganized tests, and execution environments.
518+
519+
<br/>
520+
521+
## Summing it Up
522+
523+
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:
524+
525+
- Facilitating simulation of realistic user interactions via workflows
526+
- Allowing for concurrent use of multiple protocols/libraries in a single test/workflow
527+
- Embracing statistical frameworks like A|B testing, using optimization to automate configuration, and providing protocol-level fault injection for chaos testing
528+
- Including modern developer experience features like starter template code generation, "unified experience" CLIs, test linting, and project management
529+
530+
to create a new class of tooling, simulation frameworks, that both deliver upon and exceed the value proposition of performance testing frameworks.

0 commit comments

Comments
 (0)