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

Laravel バージョンアップと品質担保の話

yugkwmt
August 24, 2020
400

Laravel バージョンアップと品質担保の話

yugkwmt

August 24, 2020
Tweet

Transcript

  1. Laravel バージョンアップと
    品質担保の話

    View Slide

  2. 自己紹介
    ● 川又 由雅
    ● Chat Dealerの開発に携わっています
    ● 業務で PHP(Laravel)を使用しています
    2

    View Slide

  3. バージョンアップを行う理由
    3

    View Slide

  4. バージョンアップを行う理由
    ● Laravel 5.5 が 2020年8月末に EOL を迎える
    ● EOL を意識しつつ、LTS(Long-term-support)を集中的に使うルール
    としている
    ○ 5.6 ~ 5.8 は LTS ではなく、EOLを迎えている NG
    ○ 6.0 は LTS で EOL が2年後 OK
    4

    View Slide

  5. バージョンアップにかかる時間
    5

    View Slide

  6. バージョンアップにかかる時間
    ● 公式アップグレードガイドに書かれている見積もり時間
    ○ 5.5 → 5.6: 10分~30分
    ○ 5.6 → 5.7:10分~15分
    ○ 5.7 → 5.8:1時間
    ○ 5.8 → 6.0:1時間
    ● 5.5 から 6.0 まであっという間に終わるんじゃ?(期待)
    6
    合計2時間45分

    View Slide

  7. バージョンアップにかかる時間
    ● というわけにはいかなかった
    ● 実績:63時間
    ● プロダクトの品質担保のため1日では終わらない
    7

    View Slide

  8. バージョンアップ手法
    8

    View Slide

  9. バージョンアップ手法
    1. アップグレードガイド、GitHubを参照して変更点を確認
    ○ Laravel 5.6 ~ 6.0 の各変更点を確認
    ○ 品質担保のため、修正が必要な箇所を調査
    9

    View Slide

  10. バージョンアップ手法
    2. バージョンを上げる
    ○ composer.json(パッケージを定義するためのファイル) の
    “laravel/framework” の修正を行う
    ■ "laravel/framework": “5.5",
    ⇒ "laravel/framework": “5.6",
    ○ “composer update” コマンドを実行する
    10

    View Slide

  11. バージョンアップ手法
    参考:Laravel アップグレードガイド
    https://readouble.com/laravel/6.x/ja/upgrade.html
    11

    View Slide

  12. バージョンアップ手法
    3. 1の調査をもとに、コードの修正を行う
    4. 修正箇所の動作確認を行い、異常なければ次のバージョンに上げる
    ○ 異常があれば修正を行う
    ○ 例:Laravel 6.0 Carbon 1 → 2 へのアップグレード
    ■ 日付操作が正しく行えるか?
    12

    View Slide

  13. バージョンアップ手法
    2 ~ 4 を Laravel5.6 から 6.0 まで繰り返し行う
    5. Laravel 6.0 まで上げ切ったら最後に全機能のテストを行う
    ○ 一通り動かして動作不正がないか確認
    ■ ユーザが行う全設定
    ■ 全画面の表示 …etc
    13

    View Slide

  14. バージョンアップ手法
    ● 公式アップグレードガイドに書かれている見積り時間:約2時間45分
    ● 実績:63時間
    ○ 変更点の調査、テスト仕様書作成:29時間
    ○ バージョンアップ:2時間30分
    ○ コード修正:7時間
    ○ 修正箇所の動作確認:13時間
    ○ 全機能テスト:11時間30分
    14

    View Slide

  15. バージョンアップ手法
    ● なぜ段階的にバージョンアップ?
    ○ 「一気に上げると問題が生じた時に問題の切り分けがしづらい」という
    課題
    ● 事例をネットで検索
    ○ 段階的にバージョンアップしてる記事が実際にあった。こちらを参考。
    ○ https://tech.arms-soft.co.jp/entry/2019/08/28/090000
    15

    View Slide

  16. バージョンアップ手法
     この手法でやってみて
    ○ 良かった点
    ■ どのバージョンが原因でエラーが発生してるか把握しやすい
    ○ 良くなかった点
    ■ 特になし
    16

    View Slide

  17. まとめ
    17

    View Slide

  18. まとめ
    ● バージョンアップを段階的に実行すると、どのバージョンが原因でエ
    ラーが発生しているのか把握しやすい
    ● プロダクトの品質担保のために泥臭い作業が必要となる
    18

    View Slide