Hatena::ブログ(Diary)

現場のためのソフトウェア開発プロセス - たかのり日記 このページをアンテナに追加 RSSフィード Twitter

2011-12-01

[]テスト/品質系エンジニアが身に付けておくと得をする7つの技術 テスト/品質系エンジニアが身に付けておくと得をする7つの技術を含むブックマーク テスト/品質系エンジニアが身に付けておくと得をする7つの技術のブックマークコメント

Software Test & Quality Advent Calendar 2011」の初日エントリーとして、書きます!


テスト/品質系のエンジニアも、今や、テストや品質のことだけを知っているだけでは、幸せにはなれない時代となってきています。

プログラムは書けなくても、身に付けておくと良いと思っている技術をまとめてみました。

※注

今回記述した内容は、以下のような私のドメインに偏ったモノになっています。

他のドメインでは異なる部分や他の標準的なツールがあれば、コメントを頂ければと思います。


バージョン管理/課題管理

今や、必須のスキルと言えるでしょう。

バージョン管理(SCMVCS/DVCS)としては、

などが有名ですね。

分散型の場合は、各エンジニアが自分のリポジトリで作業可能ですが、最終的にはバージョン管理のマスター的な存在が必要になるので、開発者以外でブランチ/マージもできる人がいると、心強いですね。


また、課題管理(ITS)も、バージョン管理とセットで利用できるとうれしい。

TracRedmineあたりが有名ですが、基本的な概念に大きな差はないので、

  • バージョン管理との連携
  • チケットのカスタマイズ
  • チケットのレポーティング

などができると良い。


ビルド

Javaでは、AntMaven、.NETでは、NAntMSBuildを良く使います。

テスト/品質系の方では、自分が思っているよりも、上記ツールのビルドスクリプトの作成方法を知らない方が多いのですが、ビルドぐらいはできないと、テストやリリースの効率が悪いです。

ビルドコンパイル」ではなく、アプリケーションを動作させるためのパッケージングまで、自動ビルドできるようにしておくことが重要。


CI継続的インテグレーション

上記、バージョン管理/課題管理+ビルドができれば、CIの世界は目の前。

ビルド、メトリクスの取得、xUnitテストなどが自動で行えるようになります。

これまでいろいろ経験した中で思うことは、実は、上記に挙げた部分は、自動化しておかないと続かず、問題が発生しても放置されてしまいます。

だから、CIが重要。

ツールとしては、Jenkinsが素晴らしく使いやすい。

最近、「Jenkins実践入門」も出版されたので、これから始める人も良い機会ではないでしょうか。


スクリプト言語

プログラムは書けなくても、とは言いましたが、スクリプト言語は使えるようになっておくと、仕事も効率的になります。

Windowsバッチ/WSHPowerShellUNIXシェルといったプリミティブなモノから、アプリまで開発できるようなGroovyRubyPythonなどの高機能なモノまであります。

何かひとつでも使えるようになっておくと、仕事の効率が大分上がります。


自動試験

世の中、まだまだ人海戦術でテストを行っている状況が多々ありますが、自動化できるところを増やして、より創造的な仕事をしたいですね。

私のおすすめは以下。

これだけでも使い方を知っていれば、自動化で対応できる範囲が広がります。


仮想化・クラウド

テスト環境を構築するって、大変ですよね?

最近のシステムは、構成も複雑になっているので、テスト環境を構築するだけで、かなりの工数がかかることがあります。

仮想化として、VMWare vSphereMirosoft Hyper-VOracle VirtualBoxなどを知っておくと、環境の複製やバックアップ、切り戻しなどが簡単に行えるようになります。

私の場合、基本的にテスト環境は仮想化で構築するようにしています(もちろん、実機としての評価が必要な場合は、その限りではないですけど)。

また、仮想化だけでなく、場合によってはクラウドのサービスをを利用するのも手です。

サーバをレンタルするよりも、クラウドのサービスを利用した方が、手間もコストも減るケースもあると思います。

分散拠点でテストを実施する場合も、利用効果は高いと思います。


Excel

最後は、なんだかんだ言ってもExcelは必須だと思います。

(といっても、バグなどの管理は課題管理のツール使ってくださいね)

COUNTIF、SUMIF、VLOOKUPなどの集計関数や、ピボットテーブルは、当たり前。

SUMPRODUCT、INDEX、OFFSET関数配列数式あたりまで使える人は強者。

さらに、マクロなどで、データの取り込み・加工から、集計・グラフ化まで行える人は最強ですね。


最後に

思っていたより長くなってしまいました。

「QC7つ道具」を意識して、「7つの技術」を挙げたのが間違いだったか...

と、ここまで書いてみて「Software Test & Quality Advent Calendar 2011」と言いつつも、直接テストに関係していない内容になっているかもw

テーマは自由、ということで、この後続く方のエントリーもお楽しみに!

#まだまだ参加人数少なく、これでは12/25までもたないので、

#このエントリー見てくださった方も、一緒に Advent Calendar やりませんか?