Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The "che-dashboard-next" testing roadmap #18391

Closed
6 of 11 tasks
Ohrimenko1988 opened this issue Nov 17, 2020 · 12 comments
Closed
6 of 11 tasks

The "che-dashboard-next" testing roadmap #18391

Ohrimenko1988 opened this issue Nov 17, 2020 · 12 comments
Assignees
Labels
area/qe kind/task Internal things, technical debt, and to-do tasks to be performed. lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. severity/P2 Has a minor but important impact to the usage or development of the system.

Comments

@Ohrimenko1988
Copy link
Contributor

Ohrimenko1988 commented Nov 17, 2020

0 stage

(responsibility of the "dashboard-next" team)

1-st stage

(responsibility of the "Che QE" team)

2-nd stage

(responsibility of the "Che QE" and "dashboard-next" teams)

  • 1) Add to "quality gate" running of the existing component tests and coverage measuring.

  • 2) Create the "e2e" test for covering the most critical functionality (1 userstory)

  • 3) Apply created test for the "quality gate" instead of "smoke" test

  • 4) Create integration tests for covering other important functionality

  • 5) Add created integrational tests to the "quality gate"

Related issue: #18348

@Ohrimenko1988 Ohrimenko1988 added kind/epic A long-lived, PM-driven feature request. Must include a checklist of items that must be completed. kind/task Internal things, technical debt, and to-do tasks to be performed. labels Nov 17, 2020
@Ohrimenko1988 Ohrimenko1988 self-assigned this Nov 17, 2020
@che-bot che-bot added the status/need-triage An issue that needs to be prioritized by the curator responsible for the triage. See https://github. label Nov 17, 2020
@vzhukovs vzhukovs added area/qe and removed status/need-triage An issue that needs to be prioritized by the curator responsible for the triage. See https://github. kind/epic A long-lived, PM-driven feature request. Must include a checklist of items that must be completed. labels Nov 17, 2020
@Ohrimenko1988
Copy link
Contributor Author

Ohrimenko1988 commented Nov 18, 2020

Current coverage by component tests is something close to 20%
Screenshot from 2020-11-18 12-46-40

@l0rd @rhopp @dmytro-ndp @olexii4 @akurinnoy @sleshchenko WDYT ?

@psrna
Copy link

psrna commented Nov 18, 2020

Thanks for preparing the plan, Ihor. It looks solid. However I suggest to highlight ownership of the respective stages to make it clear who is responsible for what, e.g. stage 0 is owned by dashboard.next engineering team., stage 1 Che QE team etc.

For promoting dashboard.next to be the default, I consider completion of stage 0 & 1 as a requirement. Otherwise we will be creating technical debt.

@Ohrimenko1988
Copy link
Contributor Author

Thanks for preparing the plan, Ihor. It looks solid. However I suggest to highlight ownership of the respective stages to make it clear who is responsible for what, e.g. stage 0 is owned by dashboard.next engineering team., stage 1 Che QE team etc.

For promoting dashboard.next to be the default, I consider completion of stage 0 & 1 as a requirement. Otherwise we will be creating technical debt.

Done.

@Ohrimenko1988
Copy link
Contributor Author

Current coverage by unit tests is ~ 30%
Screenshot from 2020-11-24 11-43-32

@gazarenkov
Copy link
Contributor

Hi @psrna

First of all I highly appreciate the initiative of making test unit coverage analysis recommendations, I strongly believe it is a really good goal toward improving product quality.
I am curious whether we have the same requirement (50% of code should be covered with test units as a strong, phase 0 prerequisite) for all the components or it is a privilege of the Dashboard.next only? :)

@psrna
Copy link

psrna commented Nov 26, 2020

Hi @gazarenkov

thank you for bringing up this topic.

I believe that we should treat all components the same. Dashboard.next should not be unique. And you probably correctly identified that we have a lot of technical debt in other components as well.

But for dashboard.next I think we should do it right rather then burning technical debt later. We might argue about the coverage number. However the number itself is not important. What is important, is that we are DONE if we do have sufficient test coverage that gives us confidence in the quality. Component level tests are the foundations and the biggest part of the testing pyramid. Compared to the Integration tests, they have the benefits of being cheap in terms of execution time and stability and tremendously help preventing bugs.

Would you agree that we don't have the required confidence with the current level of component tests?

@gazarenkov
Copy link
Contributor

@psrna

Would you agree that we don't have the required confidence with the current level of component tests?

I would agree that we do not pay enough attention to the unit test coverage analysis. It is even difficult to know what is the current coverage level in general... Do we have the actual numbers for all the components somewhere?

@psrna
Copy link

psrna commented Nov 30, 2020

@gazarenkov,

I agree with your statement and I don't think we have a consolidated coverage report for all the components. I'll bring it up as a goal/topic to discuss in the next internal call.

@sleshchenko
Copy link
Member

The current test coverage is a bit less than 50%
Screenshot_20201231_103803
But as we agreed on Che Internal Call, the number is not the goal.
Code coverage in existing components is going to be improved along the way, new components should be provided along with proper test coverage.
So, 0 stage is complete

@sleshchenko sleshchenko modified the milestones: 7.24, 7.25 Dec 31, 2020
@rhopp rhopp added the severity/P2 Has a minor but important impact to the usage or development of the system. label Jan 18, 2021
@nickboldt nickboldt modified the milestones: 7.25, 7.26 Feb 9, 2021
@nickboldt
Copy link
Contributor

Slip to 7.26 since not completed for 7.25

@sleshchenko sleshchenko removed this from the 7.26 milestone Feb 10, 2021
@sleshchenko
Copy link
Member

The stage 1 is done in 7.26. Removing milestone since there is no concrete timeframe for stage 2 at this point.

@che-bot
Copy link
Contributor

che-bot commented Aug 9, 2021

Issues go stale after 180 days of inactivity. lifecycle/stale issues rot after an additional 7 days of inactivity and eventually close.

Mark the issue as fresh with /remove-lifecycle stale in a new comment.

If this issue is safe to close now please do so.

Moderators: Add lifecycle/frozen label to avoid stale mode.

@che-bot che-bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Aug 9, 2021
@che-bot che-bot closed this as completed Sep 2, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/qe kind/task Internal things, technical debt, and to-do tasks to be performed. lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. severity/P2 Has a minor but important impact to the usage or development of the system.
Projects
None yet
Development

No branches or pull requests

8 participants