AL: Added final section for Day 16

This commit is contained in:
Ada Lundhe 2024-01-15 13:39:14 -06:00
parent 32970c7149
commit 9a0952506e

View File

@ -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('<ADD_URL_HERE>')
```
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.
<br/>
## 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.