今年もJaSST'18 Tokyoに参加してきたのでレポートします。
「Advances in Continuous Integration Testing at Google」
John Micco(Google)
Googleのテスト
- 1日、1億5000万件のテスト実行(420万件のテストを1日35回繰り返す)
- マニュアルテストはない。100%自動化している
- 99%のテストはPASSSする
- コードをコミットするときは、当然のごとくテストコードも一緒
テストの選び方
- 依存性関係を持ったテスト
- コードの依存性グラフを作っている
- テストは450万件あるが、依存関係グラフによって実行対象を絞れる→影響のないところはテストしない、割り切り
テスト結果への対応
- テストの合否はすべて記録(2年分)
- ひたすら自動テストを実行
- PASSからFAILに移行した場合→スケジューリングをさかのぼってどこから変わっ・たのかすぐにチェックする。
- 結果のパターンが見えてくる
- 結果は何種類かに分類することで、開発者とインフラチームが責任を持つべき結果を分けている
Flakyなテスト
- 同じテストを実行する中で、結果が成功から失敗(またはその逆)に状態が切り替わるもの。不安定なテスト。
- テスト結果を蓄積して、Flakyの原因が何なのか分析中。問題がない場合もある
「はじめてみようテストプロセス改善〜テストプロセス改善モデルを使った改善活動の勘所〜」
TPI NEXT、TMMi、ISO/IEC 33063といった各種改善モデルの紹介。
改善の勘所
1.アセスメント
やってみる
認識合わせた
振り返り
2.計画
関係者の要求を確認
関係者との調整
バッファを持った計画
3.実行
状況確認
改善アクション
更なる改善
重要だと思ったポイント
改善は大変。何より大事なのは1人で悩まないこと。いろんな人と話す。困ったら誰かに話す。
「テスト会社のテストリード達はどのようにテストを成功に導いているのか?」
いいこと色々いってたのですが、自分的にはツイートした内容がクリティカルだったので、そこについて。
開発/テストエンジニア/エンドユーザを他で例えてみると
— yuki shiromoto (@yuki_shiro_823) 2018年3月7日
開発者:小説家、漫画家
テストエンジニア:編集者
エンドユーザ:読者
いい編集者は、読者の求めてるものを考えてる、一方作家のやりたいことも理解している。そこにずれがあればうまいこと埋めてあげる。 #JaSST
とても良い例えだと思いました。そして、最近自分はこのように行動できてるかな?と自問するきっかけになりました。一応機能の目的とか、どういうユースケースを想定してるのか前よりつっこんで聞くようにしてますが、もうちょっと開発者と一緒に考えられるようになりたい。
「開発がスクラム導入するんだって!試験どーしよ!?」-サイボウズQAスクラム奮闘記-」
クラウドサービスcybozu.comの管理者機能開発の事例
開発:QA:PO=5:5:1
<スクラム導入前の問題>
バグの検出が遅い
要件があいまいなまま開発がスタート
開発とQAの隔たり感
→スクラム研修受ける
やってみよう
<開始までの準備>
(1)「カンバン仕事術」輪講
(2)もろもろ定義
完了の定義
テストに関することをどこまで含めるか定義
開発チームの実力に合わせることが大事
→含めなかったこと
・テスト実行を完了する
・脆弱性検証
(3)アジャイル第一人者の講演を聞く
<導入後のプロセス>
- スプリント2週間
- リリース単位は6スプリント+リリーススプリント
<よくなったこと>
(1)バグの早期検出
類似バグの量産を防げる
(2)要件の明確化
(3)開発チームの一体感
QAは開発のリクエストにこたえられるようになった
開発はQAのことをより気に掛けてくれるようになった
<実際>
スクラムは問題発見のフレームワーク。
Garoonの開発チームの事例
<開発のプロセス>
スプリントは3週間
リリースサイクルは3か月
<導入前>
全員スクラム未経験、拠点は日本、中国、ベトナム三箇所
→とりあえず日本のみ
スクラムチームに日本QAが足りない
当時PG7名、QA2名
→1名SMやるため実質QA1名
→スクラムの基本にのっとるのはあきらめた
スプリント内では実装完了、次のスプリントでテスト設計・実施
テスト設計、実施は海外拠点
★結論:失敗した失敗した失敗した
主な原因
価値分割できず、バックログアイテムが巨大化
仕掛中タスクが大量発生
職能の壁が発生
課題はあれど、海外拠点でもやることに
開発と比べると、QAの方が変化が大きいのでは
<解決>
チームの有志で勉強:実践アジャイルテスティング
ABD(Active Book Dialogue)
職能間の障壁を下げる
できる作業は職能に関係なく着手
感想
★結論のところで、スクラム導入当初のバーンダウンチャートをさらす勇気が素晴らしいと思いました。下がるはずのバーンダウンが炎上している!って紛れもなく失敗で外部に出したくないものだと思うんですが、出してくださって勇気づけられます。失敗しても改善して前に進んでいるチームがいるって事実はちょっとほっとしますね。ありがとうございます。