streampipes icon indicating copy to clipboard operation
streampipes copied to clipboard

Improving End-to-End Test Infrastructure

Open tenthe opened this issue 1 year ago • 1 comments

Body

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)
  • [ ] 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

Mentor

  • Philipp Zehnder

StreamPipes Committer

I acknowledge that I am a maintainer/committer of the Apache StreamPipes project.

tenthe avatar Mar 02 '23 09:03 tenthe

This issue is intended to be an idea for this year's GSOC. If you are interested in taking part at GSOC via the ASF, please have a look on this guide: https://community.apache.org/gsoc.html In case there are any questions related to the GSOC process or this issue in particular, feel free to reach out to us 🤝

tenthe avatar Mar 03 '23 14:03 tenthe