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

これから始める!ニ段飛ばしのPHPバージョンアッププロジェクト戦略

 これから始める!ニ段飛ばしのPHPバージョンアッププロジェクト戦略

Keisuke Matsufuji

October 19, 2023
Tweet

Other Decks in Programming

Transcript

  1. PHP Conference Japan 2023
    2023.10.08
    松藤 圭祐(@matsusuke)/GMOペパボ株式会社
    1
    これから始める!ニ段⾶ばしのPHP
    バージョンアッププロジェクト戦略

    View full-size slide

  2. ホスティング事業部 プロダクトチーム
    2022年 中途⼊社
    2
    ⾃⼰紹介
    松藤 圭祐 Matsufuji Keisuke
    ホスティング事業部でバックエンドエンジニアとし
    てプロダクトの設計‧開発‧保守を担当。
    ● matsusuke と呼ばれています
    ● 福岡県福岡市在住の29歳
    ● Twitter : @mtfuji0mtske

    View full-size slide

  3. GMOペパボについて
    3
    https://pepabo.com

    View full-size slide

  4. ホスティング事業部のプロダクトについて
    4
    https://pepabo.com

    View full-size slide

  5. 5
    ‧歴史あるアプリケーションの
    PHPバージョンアップの戦略
    ‧どのような懸念があり、
    どう決断を⾏なったか
    今⽇話すこと

    View full-size slide

  6. 6
    アジェンダ
    1. アプリケーションの現状とゴール
    2. ゴールに向けて⽴てた戦略
    3. アプリケーションの質を担保するテスト戦略
    4. さいごに

    View full-size slide

  7. 1. アプリケーションの
    現状とゴール
    7

    View full-size slide

  8. アプリケーションの現状とゴール
    8
    PHP 5.6 PHP 8.2

    View full-size slide

  9. アプリケーションの現状とゴール
    9
    PHP 5.6 PHP 8.2
    やばい戦略

    View full-size slide

  10. 2. ゴールに向けて⽴てた戦略
    10

    View full-size slide

  11. ゴールに向けて⽴てた戦略
    PHPStanによる静的解析
    →構⽂エラーのうち、3分の2以上がZend Framework
    →フレームワークのバージョンを上げる?
    まず、何から始める?
    11

    View full-size slide

  12. ゴールに向けて⽴てた戦略
    ZendFramework1系は8.2に対応していない  
    フレームワークのバージョンアップが必要
    →厳しい
    12
    懸念

    View full-size slide

  13. ゴールに向けて⽴てた戦略
    ● 静的解析の結果、全ての構⽂エラーを直すのは効率的ではない
    ● エラーの修正とフレームワークのパッチを当てる
    ● テストコードを並⾏して作成する
    戦略
    13

    View full-size slide

  14. 3. アプリケーションの質を
    担保するテスト戦略
    14

    View full-size slide

  15. アプリケーションの質を担保するテスト戦略
    ⼀般的なテスティングピラミッド
    15
    E2E
    Integration
    Unit

    View full-size slide

  16. アプリケーションの質を担保するテスト戦略
    16
    今回のテスト戦略
    Unit
    E2E

    View full-size slide

  17. アプリケーションの質を担保するテスト戦略
    17
    Unit
    E2E
    ● 修正したメソッドのUnitテストのみ
    ● できるだけ⼯数をかけない
    Unitテスト戦略

    View full-size slide

  18. アプリケーションの質を担保するテスト戦略
    18
    Unit
    E2E
    ● コアとなる機能のテストを
    重点的に作成
    ● PlaywrightをE2Eライブラリとして使⽤
    E2Eテスト戦略

    View full-size slide

  19. 4. さいごに
    19

    View full-size slide

  20. さいごに
    ● 質の担保と⼯数のバランスが取れた戦略を考えることができた!
    ● バージョンアップに携われた⽅、
    是⾮体験談を聞かせてください!
    20

    View full-size slide

  21. Thank You!
    21

    View full-size slide