Adventに登録しようと思ったら、もう埋まっていたので?
Adventに登録しようと思ったら、もう枠が埋まってた。 (勘違いだったw 2019年のみてたのでエントリーさせてもらった、わーい) でも面白そうだったし、今の活動もなくなってしまうので、せっかくだから何か書いてみることに。
僕たちのチームでは、全員が毎日1日1時間、「ユーザーになったつもり」で回帰試験をするという取り組みを続けています。
とある地域では “忍者式テスト” と呼ばれているやつの一部です。
チームに入ってから約19年、毎日1時間、この回帰試験を続けてきました。
最初は何もわからないところから
初めのころは右も左もわからず、ただ決められた手順をなぞるだけの日々。
けれど、仕事を続けるうちに少しずつ仕様が理解できてきて、実装の意図や構造も見えるようになり、試験の内容も自然と深まっていた。
それと同時に、回帰試験の課題も見えてきたように思う。
- 同じような試験を繰り返すことに飽きる人がいたり(自分自身もそう)
- 増えていく試験シナリオで、リリースまでに回帰試験が終わらない
- 実装に夢中で試験に参加しない人がいる
そうした状況の中で、途中から試験の作戦を考えたり、準備をする側に回るようになり、今日までいろんな試行錯誤をしてきました。
その試行錯誤の一部を書き留めておこうと思います。
いつか、どこかで、似たような開発現場にいる誰かのヒントになれば嬉しいです。
やってきたこと
- 試験分割:担当者に負荷が偏らないよう、試験範囲を細かく分解する
- カテゴリー整理:試験観点を分類して、回帰試験が期間内に終われるようにする
- 回帰試験マシンの確保:いろんなバージョンやシステムの組み合わせが試験できるよう、安定したテスト環境を用意する
- ペアテストの設定:知識が偏らないよう、定期的にペアで試験する仕組みをつくる
- 試験時間の固定化:毎日決まった時間に試験することで、習慣化と負荷分散を図る
- 試験時間の見直し:リズムのマンネリ化を軽減したり、試験のペアも見直して、リフレッシュする
- 試験カテゴリーの評価と作戦決め:どの試験を厚めにやるか作戦会議する
- 試験時間になったら声をかける:忘れないよう、ちょっとしたリマインドをする
- 試験中に“燃料”を渡す:新しい視点や観点を共有し、試験の質を底上げする
- 気になるテストシナリオを吹き込む:特に怪しいところを、意図的に試してもらう
- バグが出たら人を呼ぶ:再現や影響範囲の把握のため、関係者をすぐ集める
- 不具合を楽しむ:問題を別の方法でも再現できないか、周囲を巻き込んで取り組む
- テストのやりにくさをヒアリング:試験環境の充実化、試験シナリオ手順の改善ポイントを拾い上げる
- テスト中に声をかける:眠そうだったり、違うことをしていたら軌道修正を促す
- テストの不安を定期的に伝える:開発の中で試験の大切さを共有する
嬉しい変化について
活動を続ける中で、周囲にも少しずつ変化が生まれました。
- 最初は試験に消極的だった人が、いつの間にか率先して試験を進めてくれるようになった
- 試験の大切さを、自分から周りのメンバーに伝えてくれる人が出てきた
- 試験の進め方について、新しいアイデアをくれる人が増えた
みんな、すごい
もちろん、毎日全員が必ず試験できるかというとそうでもないし、他にも試験に関するさまざまな課題はたくさんありました。 でも、それでも前向き試験に取り組み続けてくれたメンバーがいたからこそ、この活動は途切れず続いてきたように思います。 誰かが声をかけ、誰かが支え、新しいアイデアが生まれ、それが積み重なって今の形になっていったと思う。
名前がついた取り組みというのは、外から見ると当たり前のように動いているように見えるけれど、その裏では多くの努力や工夫が積み重なっている。 簡単じゃないけれど、みんなで協力してやってきた偉大な活動だったと思います。
おわりに
この活動で積み重ねてきた時間や姿勢が、どこかでまた誰かの力になることを願っています。