BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース よりテクニカルなテスタになるには

よりテクニカルなテスタになるには

原文(投稿日:2017/06/15)へのリンク

テストの実施において、テクニカルなテスト技法(test craft)のテクニックをうまく適用できるテスタは、チームの品質と生産性の向上を実現するという意味から、より価値の高い存在である。テスタがよりテクニカルになるためには、コードについて学ぶとともに、テキストファイルを操作し解析する方法、アプリケーションプラットフォームにおいて最も重要な分析ツールを扱う方法を知っておくことが必要だ。

Unity Servicesの品質責任者であるAlan Page氏は、Spring Online Testing Conference 2017で、テクニカルテスト(technical testing)の具体的事実について基調講演を行なった。このカンファレンスに関してはInfoQでも今後,Q&Aや要約,記事を通じて取り上げる予定だ。

オンラインのテスト会議を組織しようという企画が立ち上がったのは2016年のことだ。6月13日と14日に開催された2017年春エディションは、その第2回のイベントということになる。

OnlineTestConfは、パーソナルラーニングやネットワーキングなど、プロフェッショナルなQA関連カンファレンスに参加するアドバンテージのすべてを、スケジュールや経費や出張に煩わされることなく得られるイベントです。テストやテストコミュニティに関わる人であれば、誰でも無料で参加することができます。

テクニカルテストに関する講演を終えたAlan Page氏に話を聞いた。

InfoQ: テクニカルテストとは何でしょう?

Alan Page: “10人に質問すると11の答がある”類の質問ですね。私にとってのテクニカルテストとは、テストのプロセスでテスト技法のテクニックをうまく適用する、という意味に過ぎません。これにはツールを活用するという意味が当然ありますが、モデルベースのテストやユーザの使用状況分析といった、他のテスト設計アプローチも含めることができます。

InfoQ: テスタがテクニカルになる必要があるのはなぜでしょう?企業や彼ら自身にとって、どのようなメリットがあるのですか?

Page: 簡単に言えば、より多くのテクニックを使えるテスタは、チームの貴重なメンバである、あるいは、なり得るからです。私が仕事で出会った最も貴重なテスタは、(負荷テストツールやコードレビューのガイドラインといった)ツールやプロセスを開発することで、チームの品質と生産性を向上させています。

一般論として、知識労働は、ひとつの事だけを深く追求したい人のためのフィールドではありません。テスタは特に、ソフトウェアエンジニアリングチームのどのコントリビュータよりも、狭く深い知識と広く浅い知識を合わせ持つ必要があります。つまり、ソフトウェアテストと品質を専門とするゼネラリストなのです。

InfoQ: テスタをよりテクニカルな存在にする上で、企業には何ができるでしょうか?

Page: 失敗と学習の両方を奨励し、サポートすることです。実験が奨励され、ありとあらゆる取り組みにおける学習と振り返りが奨励され、それが評価される環境を作るのです。進むべき方向を示すフレームワークないしプロセスを構築したならば、メンバに自由な行動を許して、学習とイノベーションをさせましょう。

InfoQ: お勧めのツールやテクニックはありますか?

Page: 挙げれば切りがありませんが、一般論としては、3つのカテゴリに絞り込むことができると思います。

  1. コードについて学ぶこと。スーパーコーダである必要はありませんが、どのように動くのか(そして動かないのか)は知っておいた方がよいでしょう。ちょっとしたスクリプトが書けたり、あるいは簡単な関数を自分で読むことができれば、その価値は莫大です。
  2. テキストファイルの操作や解析の方法を知っておくこと。これにはgrep(場合によってはexcel)などのツールの知識や、テキストエディタを使ったファイル操作と解析の方法などが含まれます。例えば、Webサーバが1ギガ以上のデータログを1日、場合によっては1時間で生成するかも知れません。少なくとも、簡単なスクリプトを書いて“error”という単語を検索し、それをWebサイトやEメールアドレスにポストしたり、あるいはエラーに至るまでの一連のアクションを特定できればよいでしょう。巨大なログファイルからエラー文字列を探すことに比べて、無駄(と眼の披露)の防止になります。
  3. 自分たちのアプリケーションプラットフォームにとって、最も重要な分析ツールの使用方法を知っておくこと。Windows用のデスクトップアプリを開発しているのであれば、sysinternalsスイートをインストールし、procmonなどのツールの使い方を覚えて、アプリケーションの挙動を把握できるようにします。Webアプリの開発中ならば、fiddlerやF12デバッガの使い方を学んで、何が起きているのかを理解できるようにしてください。ウィザードである必要はありませんが、ユーザインターフェース以外の方法で、何が起きているのかを理解できることは必要です。

開発者が使っているツールを見つけて、チュートリアルをオンラインで探しましょう。twitterやministryoftesting.comのようなサイトを活用して、同じようなアプリケーションを開発している他のテスタを探し、どんなツールを使っているか聞いてみてください。よいテストとは絶え間ない学習を要する任務であると同時に、未知のことを発見しようとする人たちによってこそ実現されるものなのです。

InfoQ: テスタがよりテクニカルになるためには、何をすればよいのでしょう?

Page: 常に学び、さまざまなツールを常に試してください。テスト(とチーム)をより効果的にするためには、それらのツールをどのように(いつ)適用すべきかを学ぶのです。

 
 

この記事を評価

採用ステージ
スタイル
 
 

この記事に星をつける

おすすめ度
スタイル

BT