State of Testing Survey 2015の目的は,テスト技術やプラクティス,自動テストなどの採用状況を調査し,テスト担当者が直面している課題に対する見解を提供することだ。テスト担当者がテスト担当者のために行うこの調査は,PractiTest社のJoel Montvelisky氏が,Tea-Time with Testersの協力を得て実施している。
State of Testing調査は2013年に初めて実施された。2015年の調査はその2回目になる。
私たちは皆,テストコミュニティをもっと理解したいと思っています。それが1年前,最初のState of Testing Surveyを行った理由です。その時の調査で私たちは,テストを担当する仲間に,彼らの仕事について,課題について,そしてプロフェッショナルとしての将来に対する考えについて尋ねました。(...) [第2回のState of Testing Surveyでは,]コミュニティが今日の現実をどう見ているのか,明らかになると思っています。同時にそれは,私たちがプロフェッショナルとして,今後進むべき道を示すものだと思うのです。
InfoQの記事 “State of Testing 2013 Report”のインタビューの中で氏は,テスト担当者が直面する課題について,次のように話している。
私たちが直面する最大の課題は,プロジェクトが変化するペースの早さです。万能でもなく,日常的なタスクとして変化を受け入れる意思もないテスト担当者は,遠からず行き詰まることになると思います。
彼ら(あるいは私たち)は,これにどう対処できるでしょう? 答は意外に簡単です – オープンマインドを心掛けて,仕事の一部として,できる限り多くのことを学ぶのです。
時間不足やプロセスの欠如,予算不足といった“ごく普通の”問題もあります。しかしこれらは些細なことであって,何ら新しいものでも,あるいは(何をしようとも,どんな仕事をしていようとも)満足いく方法で解決できるようなものでもありません。
Janet Gregory氏とLisa Crispin氏は,InfoQの記事 “Q&A about their book More Agile Testing”の中で,テスト担当者が対処すべき課題について述べている。
Lisa: 最初の本を書いてから,私にとって意外だったのは,ビジネスに最も大きな価値を提供する機能を見つけ出して,それを実行可能な最小のチャンクに分割する上で,デリバリチームがユーザを支援することが可能であり,また,そうするべきだと分かったことです。Gojko Adzic氏とDavid Evan氏の業績は,私自身の活動にも大きな影響を与えています。彼らは,ユーザが,どのソフトウェア機能が最大のROIを持つのかを判断するために,品質の視覚化や影響のマッピングといった方法で支援しているのです。
Janet: 自分たちに特有の状況を考慮せずに,与えられたものを鵜呑みにするようなチームでは,テストのスキルが失われていることが往々にしてあります。アジャイルに移行しようとしているある大規模な組織が,アウトソースしているテストチームも彼らに従ってくれると信じ込んでいるのを見たことがあります。あるいは小規模のチームが,さまざまなテストの必要性について考慮することもなく,これ以上のテスト担当者は不要だと言っているのを聞いたこともあります。テスト担当者(あるいはテスト)が開発プロセスのどこに配置されるべきかについても,今でも多くの疑問があります。
発展を続ける開発技術に,テストは対応していかなければならない。モノのインターネット(IoT)や,あるいは,開発者とテスト担当者が同じチームで共同作業するアジャイルへの適用などはその例だ。いずれにおいても,役割や職名よりも能力が,より重要な意味を持つ。
InfoQの記事 “アジャイルの現状 (2014年12月)”では,モノのインターネットが製品テストの必要性に与える影響も話題になっていた。
モノのインターネット(ウェアラブルも含む)は,想像もしていない方法で,開発チームに影響を与えると思います。最大の影響のひとつは,テストのコミュニティに対するものです。テストが桁違いに複雑化することで,それに対処するために,テストの自動化が大きく推進されることになるでしょう。
Gerie Owen氏は“Testing the Internet of Things”の記事の中で,IoT製品のユーザエクスペリエンスをテストすることの重要性について述べている。
これらのデバイスはすべて私たちの対象ですから,各デバイスでのヒューマンエクスペリエンスがどのようなものか,テストすることは不可欠です。ヒューマンインタラクションをテストしなければ,品質に対する私たちの評価や判断には,デバイスが出荷可能かどうかを判断する上で必要な,最も重要な情報が欠けているということになります。
ヒューマンエクスペリエンスのテストには,さまざまなテストテクニックやプラクティスを駆使する必要がある,と氏は言う。
ヒューマンエクスペリエンスをテストするためのテストアプローチには,“フィールド”テストだけではなく,ユーザのいる現実世界でのテストが関与していることは明らかです。では,そのようなテストシナリオを設計するには,どうすればいいのでしょう? テストシナリオはユーザの特性だけではなく,デバイスとのインタラクションやコラボレーションによって得られる価値に基づいたものである必要があります。最も効果的なヒューマンエクスペリエンスの設計方法は,人間とコンピュータのインタラクション設計原理を利用することです。“ペルソナ”を発展させることにより,ユーザの個性や特性といったものを掘り下げて,そのデバイス上でのエクスペリエンスを理解できるようになります。そのような“ユーザバリュー・ストーリ”を作り上げることで,人間であるユーザが,そのデバイスの価値を受け取る方法をテストすることができるのです。
テスト担当者と開発者は別々の場所で作業するべきではない – Forrester Researchで主席分析員を努めるDiego Lo Giudice氏は,InfoQの記事 “従来型テストの先を行くアジャイル開発”で,次のように述べている。
テストチームを開発作業から分離した場合,ほとんどのテスト担当者は可能な限り多くのバグを見つけようとします – ただしそれが可能なのは,開発者がコードを書き終えた後です ..... テスト担当者と開発者を分離すると,彼らの作業を連続的なデリバリ・パイプラインにすることが難しくなります。
前述の記事“Q&A about their More Agile Testing”ではLisa Crispin氏が,アジャイルチームの存在と,そこでの役割や職名から能力への移行が,テストのプロフェッショナルにどのように影響を与えているかを説明している。
それはつまり,チーム全員のソフトウェア品質確保のスキルが上達する,ということだと思います。テスト担当者としては,他の役割のチームメイトから何かを学ぶことで,さらに価値を加えることができます。そして,チームの仲間がテストにより注意を払ってくれることで,より品質の高い製品を提供する方法も見つかります。私の今のチームメイトたちは,探索的テストを手助けしてくれます。トリッキーなバグを解決する方法を,皆で探してくれるのです。おかげで私たちテスト担当者は,付加価値を高めるための活動に,より多くの時間を充てることができるようになりました。
“State of Testing Survey 2015”に参加すれば,レポートの公開時に,その全ての内容を無償で受けとることができる。