eclipse-tractusx / sig-release

https://eclipse-tractusx.github.io/sig-release
Apache License 2.0
9 stars 10 forks source link

Automated UI E2E Testing #990

Open charmi-v opened 1 week ago

charmi-v commented 1 week ago

Overview

Explain the topic in 2 sentences

What's the benefit?

This implementation improves quality assurance by providing efficient, reliable testing automation. The streamlined CI/CD integration enables faster releases with a reduced risk of errors reaching production.

What are the Risks/Dependencies ?

It requires collaboration and review of the CI/CD pipeline to ensure seamless integration.

Detailed explanation

Current implementation

Proposed improvements

Feature Team

Contributor

Committer

User Stories

Acceptance Criteria

Test Cases

Test Case 1

Steps

  1. Do something
  2. Click something
  3. Add something

Expected Result

  1. Expectation
  2. Expectation
  3. Expectation

Architectural Relevance

The following items are ensured (answer: yes) after this issue is implemented:

Justification: (Fill this out, if at least one of the checkboxes above cannot be ticked. Contact the Architecture Management Committee to get an approval for the justification)

Additional information

evegufy commented 1 week ago

Relates to https://github.com/eclipse-tractusx/sig-release/issues/419, which had a backend api testing focus up to now, might be a good idea to rename the issue to Automated UI E2E Testing to differentiate it from https://github.com/eclipse-tractusx/sig-release/issues/419.

Also, relates to https://github.com/eclipse-tractusx/portal-backend/issues/617: a similar issue might be needed for portal frontend, and maybe it's better to use LocalDev as that sandbox could be kept more easily up to date with portal-backend changes than the umbrella, at the same time, LocalDev doesn't provide any interfaces other than the portal-backend and the keycloak instances, in comparison the umbrella values.yaml for portal. That decision depends on the kind of test cases and if they are supposed to include also functionalities where interfaces (other than portal-backend, centralidp, sharedidp) are involved.

charmi-v commented 1 week ago

@evegufy I won’t be able to join the refinement session today and would like to discuss it in the Open Planning on Wednesday.

evegufy commented 1 week ago

Sana will connect to @charmi-v, as she's also planning to introduce Cypress.

charmi-v commented 1 week ago

I have listed some direct references for key subtasks to kickstart Cypress implementation in the repo:

Please share thoughts regarding the CI/CD Integrations & defining testing modules @evegufy @ss-nikunj @manojava-gk @oyo

evegufy commented 1 week ago

Committers: @oyo @ntruchsess @Phil91 @evegufy

evegufy commented 1 week ago

Hi @charmi-v, I was informed by @mgarciaLKS and he and @CDiezRodriguez and @gomezbc, would like to contribute. I think maybe in the context of ci/cd integration would make sense.

mgarciaLKS commented 1 week ago

Hi @charmi-v, I was informed by @mgarciaLKS and he and @CDiezRodriguez and @gomezbc, would like to contribute. I think maybe in the context of ci/cd integration would make sense.

Hello all, @gomezbc is not available, but @CDiezRodriguez and I would love to help with this task if possible.

evegufy commented 1 week ago

@mgarciaLKS great! I guess you could start by creating an issue in the portal-frontend for creating a GH action workflow which spins up the Umbrella sandbox in a Kind cluster. @charmi-v what do you think?

charmi-v commented 1 week ago

Agreed, @evegufy , that sounds perfect. I’m setting up an initial testing setup with common functionalities that can be executed locally. I’ll be sharing the PR for review soon so we can combine efforts, test, and progress the initial testing setup and CI/CD workflow

charmi-v commented 3 days ago

We have an internal sync scheduled for tomorrow (at 2:15 IST) to plan the test automation alignment. @CDiezRodriguez @mgarciaLKS could you please share your email so we can include you in the meeting? This will help us all gain clarity on the feature integration.

charmi-v commented 2 days ago

Meeting Points Discussed

  1. Create a GitHub Issue

    • Clearly outline the scope of automation testing.
    • Define objectives, deliverables, and approximate timelines in the issue description.
    • Action Item: as discussed @sana, please create a new issue in Eclipse Tractus-X Portal Frontend Repository to kickstart discussions and finalize the functionalities to be automated and tested.
  2. Define Standards for Test Cases

    • Establish clear guidelines for writing test cases to ensure consistency and quality.
    • Begin with both positive tests (expected scenarios) and negative tests (edge cases) for comprehensive coverage.
    • Suggestion: We should maintain a centralized file to document test-writing standards for easy reference and consistency across teams.
  3. Cross-Browser Compatibility

    • Discuss and decide if cross-browser testing should be prioritized at this stage or deferred for later phases.
    • Evaluate the resources and timelines required to implement this effectively.
    • Note: This decision remains pending, requiring team alignment.
  4. Integration Automation

    • Review the feasibility and scope of integration automation tests and their alignment with our overall testing strategy.
    • Define a standard procedure for executing these tests across production, development, and QA environments.
    • Tests will be directly added to the frontend repository and executed in an umbrella environment.
    • Action Item: @mgarciaLKS , please create an issue outlining the workflow for integrating automation tests with the repository.

Roadmap

Step 1:

Step 2:

Step 3:


By following this roadmap, we can establish a robust and scalable automation testing strategy that aligns with our project's goals and timelines.

Please share your feedback and suggestions. @evegufy

evegufy commented 17 hours ago

@charmi-v sounds like a plan 👍 maybe you could share the progress in nexts week open portal meeting Nov 28? There we could talk about open decision items as well. Just one note from side regarding the testing scope. For me it would be important to have a maintainable set of tests which test the most important processes within the application (e.g. app release, app subscription, connector registration, ...).