XP祭り2023の発表資料です 2023/9/30(土) https://confengine.com/conferences/xp2023/proposal/18836
私が経験したアジャイルテスト2023/09/30 XP祭り2023
View Slide
藤原 考功(Takanori Fujiwara)・XP祭り実行委員・ユーザベースの社員(テストエンジニア)・JSTQB(Japan Software TestingQualifications Board)技術委員自己紹介2
JSTQB Foundationシラバス Ver4.0(日本語版)がリリースされました✨お知らせ✨・ソフトウェアテストに関する知識が体系的に書かれているシラバスです・無料でダウンロードできます https://jstqb.jp/syllabus.html3
WFとアジャイル| 01 |4
・リリースは一度きり、リリース後は基本的にプロジェクトが解散・軽微なもの、稀にしか起こらないものなども含めてバグはできるだけ潰す・テストはテスト専門の担当者/チームに依頼する(私は依頼される側)(自分が所属した)WFなプロジェクトの特徴5
・リリースは常にする、プロダクトそのものが存在する限りリリースは続く・ビジネス価値を速く届けることがまず大事。必要なテストを絞る・クロスファンクショナルなチームで、チーム全員でテストをする (テスト以外のあらゆる仕事もチーム全員でやる)(自分が所属した)アジャイルなプロジェクトの特徴6
テストのことを考え始めるタイミングの変化WF:仕様が固まったあと(仕様が決まるまでテスト担当者は呼ばれない)アジャイル:仕様が固まる前を含めて、いつでも(私以外もみんな考えてる)テストのことを話している中でより良い設計に気づくこともあるし、設計のことを話している中で足りないテストに気づくこともあるし、ユニットテストを書く中でユーザーストーリーの不足に気づくこともある(ここからここまでがテストを考える時間、のようにかっちり分けられない)7
開発ライフサイクルの外側・いわゆる「運用」フェーズだったもの・プロダクトは生きているので、開発だけやるわけにはいかない本番環境で動いているサービスに対する監視なども、大きな括りでいえば「テスト」8
アジャイルチームへの適応| 02 |91 受け入れテスト編
・最初に受け入れテストを設計し、自動テストとして記述する・テストステップ(※)は自然言語で書く・テストコードの実装難易度が低め(HTMLの要素を操作・検証する) ※このあたりの用語はややこしいので用語集を見てね! https://glossary.istqb.org/ja_JP/search最初は受け入れテストの自動化から10* “Fujiwara”ユーザーでログインする* ”中嶋製作所”の”会社概要”を表示する* “資本金”に”1000万円”が表示される
・HTML/CSS・REST・Mock・Selenide・Gauge・Kotlin・Linux・アジャイル(XP)覚えることは意外と多かった(粒度は合ってないです)11
ペアプロで修行する・わからないなりに手を動かす・理解していなくてもまずは動くものが書ければヨシ!・後追いで理解するこれだけで2年半くらいを費やしました。自転車の練習と似ていて、ひたすら手を動かしているうちに、急に書ける瞬間が来る感覚でした。詰まったら秒でバレるので、恥ずかしくも助けてもらいやすい環境でした。12
アジャイルチームへの適応| 02 |132 その他もろもろ編
受け入れテスト以外へも手を広げたくなる・API(バックエンド)のテスト・ユニットテスト・CI/CDパイプラインチームは受け入れテスト以外も色々やっているので、自分だけ浮いてしまうのが色々な意味で良くなかったと思います(作業分担を考える難易度が上がったり、自己肯定感が上がらなかったり)14
覚えることはもっと増える(弊社採用ページより)15
やっぱりペアプロで修行する・わからないなりに手を動かす・理解していなくてもまずは動くものが書ければヨシ!・後追いで理解する特にプロダクトコードは、全く読めませんでした。1年半くらいかかって、それなりに手が動くようになってきた感覚です。16
いま現在からふりかえって・とても大変だった(今も大変)・テスト以外にもそれなりに関われるようになったことは大きい・もっと期間を短くできたのかな、という思いはある17
まとめ| 03 |18
大変だけど意味のある変化だった・(私の場合)WFからアジャイルへの変化は、想像以上に大きかった・(良い意味で)テストだけに関わるイメージが持てなくなってきた・適応するための手段はペアプロだった(自分が当事者になる仕掛け)19
20・エクストリームプログラミング・Clean Agile 基本に立ち戻れ・クラウドネイティブで実現する マイクロサービス開発・運用 実践ガイド参考書籍