テスト自動化パターン言語プロジェクト

信頼性バトル(信頼性イタチゴッコ)

文脈

SUTと自動化システムとの間で信頼性を競い合う争いが行われる。 自動化システムでテストを行おうとした場合に、片方が止まってデバッグ⇒他の課題でまた止まる⇒を繰り返す。 たとえば、自動化ツールがダウンする状況を改善したところ、今度はSUT側の不具合で自動化が進まない…という状況が発生する。 (結局は、信頼性が低い側が足枷になり続ける)

問題

自動化を動かして試験をするという際に、見積もり作業期間とは異なり、しばらくデバッグが続く状況が発生する。 一筋縄ではいかない、という理解が少ない場合には、 ビッグバン自動化 を実施したうえでデバッグ期間を短く見積もってしまい、デスマーチに陥ってしまうなどが発生してしまう。 結果として「自動化はダメだ」という原住民蜂起に繋がる偏見的な判断を持ってしまう可能性が発生する。

フォース

WFの環境や自動化に過剰に期待を持つ組織、SUTと自動化システムの双方に対してデバッグが必要で、信頼性が求められることを理解していない場合に発生しやすい。 ビックバン自動化を行ってしまったチームや組織が本対処を実施することが多い。

解決

信頼性が低いサブシステムを一つ一つ改善していくことで、双方の信頼性が少しずつ高める。ひとつずつ課題を解決することで、自動化システム自体を安定化させるだけでなく、SUT自体の信頼性向上も行われる事になる。

結果

  • 双方の改善の結果、徐々に全体の品質が上がってくる
  • 自動化試験を実施する場合には信頼性向上が必要で、チーム内の共通認識が行われている。
  • エライ人や暴走した人によるビッグバン自動化に対する抑制がかかり、自動化環境の構築に時間がかかるということを体験として理解できるようになる。