テスティングサービス会社のQASymphonyが「State of Test-First Methodologies 2016 Report」をリリースした。15ヶ国から200を超える個人/組織を対象に調査したもので、テストファースト技術(BDD/ATDD/TDD)の導入状況と、それについてどう思っているかを評価するのが目的だ。
以下に、レポートから抜粋したポイントを紹介する。
回答者のほぼ半数は、BDD/ATDD/TDDを実施していない。導入済みのところでも、37%は去年導入し、3年以上現場で実践しているのは少数 (~13%) だ。
ソフトウェア開発にテストファーストを実施している人たちのうち、ほぼ半数がソフトウェアの品質を向上させるため、23%がチームメンバー間のコラボレーション改善と製品要求の理解向上のため、12%がすばやいデリバリーのため、8%がさらに自動化するためである。
半数の組織 (52%) では、開発者はテスターとともにテストを書く責任がある。40%の組織では、テスターだけがテストにアサインされている。ソフトウェアメーカーの残り少数 (2.7%) では、テストを書く責任はすべて開発者にある。
テストファースト手法の導入を妨げるものについて、一番多かった (~44%) のが「コードを書く前にテストに貢献するよう開発者に強いること」の恐れだ。好きなこと、すなわち機能を実現するために動作するコードを書くことよりも、「役に立たない」ように思えることをするという考え方に対し、一部のプログラマには強い反感があるようだ。次に多かった (~36%) のが、既存のテスト手順やフレームワークを新しい自動テストフレームワークで変えることの恐れだ。
回答者の45%は3ヶ月以内にテストファーストのアプローチにうまく切り替えたが、30%は1年間ほど必要とし、3年以上を必要としたところもある (~12%)。テストファーストに関心のある人たちへの提案として、この調査では、文化的要因が最も重要であると結論づけている。
テストファーストへの変革を成功させるために必要な理解と協力を得るためには、チーム全員、そして組織のあらゆるレベルの人たちを参画させることが重要です。さらには、やってみるのに適切な大きさのプロジェクトを見つけることと、現実的な目標を設定して結果が見えるまで十分待つことにおいて、我慢することが重要です。全体的に、テストファーストを実施しながらバックミラーをのぞき込んでいる多くの組織にとって、技術的なスキルとツールの実装は、関心のリストの下の方に落ちているようでした。
回答者はさまざまなテストファーストツールを使っており、その大部分はオープンソースだ。ユニットテストではJUnitが、BDDではCucumberが優勢だ。
これまでにどんなプロセスを使ってきたか、テストにおける次の目玉は何か、TDD/BDDなどで何を恐れているかなど、もっと詳しく知りたい人は、レポート全体を読むことをおすすめする。
Rate this Article
- Editor Review
- Chief Editor Action