Details
-
Improvement
-
Status: Open
-
Major
-
Resolution: Unresolved
Description
Apache StreamPipes
Apache StreamPipes (incubating) is a self-service (Industrial) IoT toolbox to enable non-technical users to connect, analyze and explore IoT data streams. StreamPipes offers several modules including StreamPipes Connect to easily connect data from industrial IoT sources, the Pipeline Editor to quickly create processing pipelines and several visualization modules for live and historic data exploration. Under the hood, StreamPipes utilizes an event-driven microservice paradigm of standalone, so-called analytics microservices making the system easy to extend for individual needs.
Background
StreamPipes has grown significantly over the past few years, with new features and contributors joining the project. However, as the project continues to evolve, e2e test coverage must also be improved to ensure that all features remain functional. Modern frameworks, such as Cypress, make it quite easy and fun to automatically test even complex application functionalities. As StreamPipes approaches its 1.0 release, it is important to improve e2e testing to ensure the robustness of the project and its use in real-world scenarios.
Tasks
- [ ] Write e2e tests using Cypress to cover most functionalities and user interface components of StreamPipes.
- [ ] Add more complex testing scenarios to ensure the reliability and robustness of StreamPipes in real-world use cases (e.g. automated tests for version updates)
- [ ] Add e2e tests for the new Python client to ensure its integration with the main system and its functionalities ([#774 | https://github.com/apache/streampipes/issues/774]])
- [ ] Document the testing infrastructure and the testing approach to allow for easy maintenance and future contributions.
❗ ***Important Note*** ❗
Do not create any account on behalf of Apache StreamPipes in Cypress or using the name of Apache StreamPipes for any account creation. Your mentor will take care of it.
Relevant Skills
- Familiarity with testing frameworks, such as Cypress or Selenium
- Experience with TypeScript or Java
- Basic knowledge of Angular is helpful
- Familiarity with Docker and containerization is a plus
Learning Material
References
You can find our corresponding issue on GitHub here
Name and Contact Information
Name: Philipp Zehnder
email: zehnder[at]apache.org
community: dev[at]streampipes.apache.org
website: https://streampipes.apache.org/