TheThingsNetwork / lorawan-stack

The Things Stack, an Open Source LoRaWAN Network Server
https://www.thethingsindustries.com/stack/
Apache License 2.0
941 stars 302 forks source link

Add frontend end-to-end tests that use traffic simulation #6694

Open kschiffer opened 8 months ago

kschiffer commented 8 months ago

Summary

Our frontend-based end-to-end tests are currently not doing any tests that are related to handling network traffic. This needs to be fixed as this is a significant blind-spot in our testing strategy.

Current Situation

We have many end-to-end tests in place and also some tests that do traffic simulation. However these tests are not facilitated through the Console, so any Console functionality related to handling network traffic is not tested.

Why do we need this? Who uses it, and when?

This poses a significant gap in our testing efforts, in which we cannot ascertain that the Console is handling network traffic correctly, apart from the manual testing we do as part of the release process.

Proposed Implementation

I believe we can make use of our testing tool for network traffic to simulate the traffic systematically. We would have to run the tool from within the cypress tests and then run assertions based on how we expect the Console to behave.

Specifically, this includes:

@KrishnaIyer can you point to some information as to how your testing tool can help us doing the traffic simulation? I found this README.md file here with a nice overview of the tool, but maybe you can also let us know your thoughts as to how we can integrate traffic simulation into our frontend-based end-to-end tests.

Contributing

Code of Conduct

KrishnaIyer commented 8 months ago

We discussed this internally. Since the traffic testing tool is internal this can be done in two ways

  1. Devs can build a binary and run the test scripts locally while testing.
  2. We can create a GH actions in the enterprise codebase to pull a particular branch from OS and test it.
KrishnaIyer commented 8 months ago

Let's pick this back up mid to late Q1.