$30 off During Our Annual Pro Sale. View Details »

私が経験したアジャイルテスト

Culvert
September 30, 2023

 私が経験したアジャイルテスト

XP祭り2023の発表資料です
2023/9/30(土)
https://confengine.com/conferences/xp2023/proposal/18836

Culvert

September 30, 2023
Tweet

More Decks by Culvert

Other Decks in Technology

Transcript

  1. 私が経験したアジャイルテスト
    2023/09/30 XP祭り2023

    View Slide

  2.   藤原 考功(Takanori Fujiwara)
    ・XP祭り実行委員
    ・ユーザベースの社員(テストエンジニア)
    ・JSTQB(Japan Software Testing
    Qualifications Board)技術委員
    自己紹介
    2

    View Slide

  3. JSTQB Foundationシラバス Ver4.0(日本語版)がリリースされました
    ✨お知らせ✨
    ・ソフトウェアテストに関する知識が体系的に書かれているシラバスです
    ・無料でダウンロードできます
     https://jstqb.jp/syllabus.html
    3

    View Slide

  4. WFとアジャイル
    | 01 |
    4

    View Slide

  5. ・リリースは一度きり、リリース後は基本的にプロジェクトが解散
    ・軽微なもの、稀にしか起こらないものなども含めてバグはできるだけ潰す
    ・テストはテスト専門の担当者/チームに依頼する(私は依頼される側)
    (自分が所属した)WFなプロジェクトの特徴
    5

    View Slide

  6. ・リリースは常にする、プロダクトそのものが存在する限りリリースは続く
    ・ビジネス価値を速く届けることがまず大事。必要なテストを絞る
    ・クロスファンクショナルなチームで、チーム全員でテストをする
     (テスト以外のあらゆる仕事もチーム全員でやる)
    (自分が所属した)アジャイルなプロジェクトの特徴
    6

    View Slide

  7. テストのことを考え始めるタイミングの変化
    WF:仕様が固まったあと(仕様が決まるまでテスト担当者は呼ばれない)
    アジャイル:仕様が固まる前を含めて、いつでも(私以外もみんな考えてる)
    テストのことを話している中でより良い設計に気づくこともあるし、
    設計のことを話している中で足りないテストに気づくこともあるし、
    ユニットテストを書く中でユーザーストーリーの不足に気づくこともある
    (ここからここまでがテストを考える時間、のようにかっちり分けられない)
    7

    View Slide

  8. 開発ライフサイクルの外側
    ・いわゆる「運用」フェーズだったもの
    ・プロダクトは生きているので、開発だけやるわけにはいかない
    本番環境で動いているサービスに対する監視なども、
    大きな括りでいえば「テスト」
    8

    View Slide

  9. アジャイルチームへの適応
    | 02 |
    9
    1 受け入れテスト編

    View Slide

  10. ・最初に受け入れテストを設計し、自動テストとして記述する
    ・テストステップ(※)は自然言語で書く
    ・テストコードの実装難易度が低め(HTMLの要素を操作・検証する)
      ※このあたりの用語はややこしいので用語集を見てね!
       https://glossary.istqb.org/ja_JP/search
    最初は受け入れテストの自動化から
    10
    * “Fujiwara”ユーザーでログインする
    * ”中嶋製作所”の”会社概要”を表示する
    * “資本金”に”1000万円”が表示される

    View Slide

  11. ・HTML/CSS
    ・REST
    ・Mock
    ・Selenide
    ・Gauge
    ・Kotlin
    ・Linux
    ・アジャイル(XP)
    覚えることは意外と多かった(粒度は合ってないです)
    11

    View Slide

  12. ペアプロで修行する
    ・わからないなりに手を動かす
    ・理解していなくてもまずは動くものが書ければヨシ!
    ・後追いで理解する
    これだけで2年半くらいを費やしました。自転車の練習と似ていて、
    ひたすら手を動かしているうちに、急に書ける瞬間が来る感覚でした。
    詰まったら秒でバレるので、恥ずかしくも助けてもらいやすい環境でした。
    12

    View Slide

  13. アジャイルチームへの適応
    | 02 |
    13
    2 その他もろもろ編

    View Slide

  14. 受け入れテスト以外へも手を広げたくなる
    ・API(バックエンド)のテスト
    ・ユニットテスト
    ・CI/CDパイプライン
    チームは受け入れテスト以外も色々やっているので、
    自分だけ浮いてしまうのが色々な意味で良くなかったと思います
    (作業分担を考える難易度が上がったり、自己肯定感が上がらなかったり)
    14

    View Slide

  15. 覚えることはもっと増える(弊社採用ページより)
    15

    View Slide

  16. やっぱりペアプロで修行する
    ・わからないなりに手を動かす
    ・理解していなくてもまずは動くものが書ければヨシ!
    ・後追いで理解する
    特にプロダクトコードは、全く読めませんでした。
    1年半くらいかかって、それなりに手が動くようになってきた感覚です。
    16

    View Slide

  17. いま現在からふりかえって
    ・とても大変だった(今も大変)
    ・テスト以外にもそれなりに関われるようになったことは大きい
    ・もっと期間を短くできたのかな、という思いはある
    17

    View Slide

  18. まとめ
    | 03 |
    18

    View Slide

  19. 大変だけど意味のある変化だった
    ・(私の場合)WFからアジャイルへの変化は、想像以上に大きかった
    ・(良い意味で)テストだけに関わるイメージが持てなくなってきた
    ・適応するための手段はペアプロだった(自分が当事者になる仕掛け)
    19

    View Slide

  20. 20
    ・エクストリームプログラミング
    ・Clean Agile 基本に立ち戻れ
    ・クラウドネイティブで実現する マイクロサービス開発・運用 実践ガイド
    参考書籍

    View Slide