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

Improve tests speeds by reusing tabs #3736

Closed
corinagum opened this issue Feb 18, 2021 · 0 comments · Fixed by #3871
Closed

Improve tests speeds by reusing tabs #3736

corinagum opened this issue Feb 18, 2021 · 0 comments · Fixed by #3871
Labels
backlog Out of scope for the current iteration but it will be evaluated in a future release. team-agility Reduce friction in Web Chat's development process

Comments

@corinagum
Copy link
Contributor

corinagum commented Feb 18, 2021

Notes:

  • Most of the time, the browser spent ~5 seconds to interpret webchat.js, the goal of reuse tab is to reduce 5 seconds to 1 second or less
  • Our webchat.js for test is huge because we have instrumentation code for code coverage
  • Reuse tab = reuse a single HTML page
  • In our HTML tests, webchat.js is loaded via <script> tag at the top of the page
  • It is not trivial to shutdown Web Chat because DirectLineJS cannot shut down cleanly (lingering connections)
  • If a single test failed, we will need to restart the tab page and retry the test
    • Retry test also means, we will need to reset counter used by Jest snapshot

In the screenshot below, the quickest HTML test took 5.7 seconds to complete. Most tests took 10-11 seconds to complete. If run serially, it will take 1:28 hours to complete.

image

@corinagum corinagum added the team-agility Reduce friction in Web Chat's development process label Feb 18, 2021
@corinagum corinagum added the backlog Out of scope for the current iteration but it will be evaluated in a future release. label Mar 10, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backlog Out of scope for the current iteration but it will be evaluated in a future release. team-agility Reduce friction in Web Chat's development process
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant