Upgrade to Pro — share decks privately, control downloads, hide ads and more …

[Money Forward x Shippio] BaySide-Tech-Nite (May 19, 2023)

[Money Forward x Shippio] BaySide-Tech-Nite (May 19, 2023)

A LT presented at 【Money Forward x Shippio】 BaySide Tech Nite, May 19, 2023(https://moneyforward.connpass.com/event/281065/)

More Decks by Takayuki WATANABE (渡辺 喬之)

Other Decks in Programming

Transcript

  1. Who are you? ▶ Takayuki Watanabe ▶ Software Engineer (Launchable,

    Inc.) ▶ SNS ▶ Blog: https://blog.takanabe.tokyo ▶ GitHub: takanabe ▶ Twitter: @takanabe_w ▶ Expertise ▶ Developer Productivity ▶ Site Reliability 2
  2. 6 Test-heavy CI/CD pipeline What do you do if tests

    are the bottleneck in delivery pipelines?
  3. 8 Tests in different phases pre-merge post-merge pre-release minutes hours

    days E.g. tests running in pre-merge, post-merge, and pre-release Smaller size = smaller test suite Bigger size = bigger test suite
  4. 9 Approach: Parallelization pre-merge post-merge pre-release minutes hours days w/

    optimizations w/o optimizations Reduce time Reduce time Reduce time
  5. 10 Approach: Parallelization in Ruby ▶ Use Ruby on Rails’

    test parallelization (Rails 6 or later version + Minitest) ▶ Use third-party gems such as parallel_tests, rrrspec ▶ Use SaaS supporting parallel tests such as CircleCI
  6. 11 Approach: Shift-left testing pre-merge post-merge pre-release minutes hours days

    w/ optimizations w/o optimizations Reduce time shift-left Reduce time Reduce time & shift-left
  7. 12 Approach: Shift-left testing ▶ For Rspec, use filtering function

    ▶ E.g. grouping test suites into small, medium, and large or domain expert groups # To run tests only having :small tag $ rspec --tag small # To run tests only having :large tag $ rspec --tag large
  8. 13 AI based approach pre-merge post-merge pre-release minutes hours days

    w/ optimizations w/o optimizations Reduce time shift-left Reduce time Reduce time & shift-left AI based test optimization is language agnostic and interesting as for new solution
  9. 14 AI based test optimization like what Launchable does is

    language-agnostic https://speakerdeck.com/takanabe/developers-summit-2023-evolution-of-software-testing-by-machine-learning AI based approach
  10. 16 Launchable is hiring new members! ▶ We are hiring

    a few software engineers who want to work in English. ▶ If you are interested in the position, please DM me or reach out to me later.