ヒャクテムのブログ

ベトナムダナンでWeb系ITオフショア開発しているヒャクテムのつぶやきブログです

IT オフショア開発

ベトナムITオフショア開発とPICTツール

投稿日:2018-08-19 更新日:

Matrixを使った組み合わせテストにはPICTを使うのがお勧めです。

ベトナムのITオフショア開発チームにソフトウェアのテストを依頼すると、通常日本人チームでは省略してしまうような細かいパターンも愚直に網羅してくれる傾向にあります。

傾向にあるというか、まぁ、そういう依頼をしていると言った方が正しいのか。。

「この機能は重要機能なので、パターンを網羅したテストを実施してね」

といった依頼をすると、愚直にMatrixを作成し、全パターンをテストケースに落とし、その結果、テスト実行に膨大な時間がかかります。。という相談が来たりします。

そんな時、PICTというツールを使うと便利です。

オールペア法やPICTについては、検索していただければすぐに分かります。このページなどがわかり易いです。要するに、

「組み合わせテストの信頼性を担保したまま、テスト実施パターンを減らす」

ということです。

MacでPICTツールをビルド

PICTはMicrosoftが作成したツールですが、GitHubで公開されています。

https://github.com/Microsoft/pict

Macの場合、下記のように簡単にビルド出来ます。

$ git clone https://github.com/Microsoft/pict.git
$ cd pict
$ make
$ ./pict
Pairwise Independent Combinatorial Testing

Usage: pict model [options]

Options:
 /o:N    - Order of combinations (default: 2)
 /d:C    - Separator for values  (default: ,)
 /a:C    - Separator for aliases (default: |)
 /n:C    - Negative value prefix (default: ~)
 /e:file - File with seeding rows
 /r[:N]  - Randomize generation, N - seed
 /c      - Case-sensitive model evaluation
 /s      - Show model statistics

パラメータとパラメータの値をモデルとして定義する

次に、組み合わせテストを実施したいパラメータとその値を列挙したテキストファイルを作成します。

例えば、このページのサンプルであれば下記のようになります。

$ vi model.txt
$ cat model.txt
OSバージョン:     Windows Vista, Windows XP, Windows 2000
Wordバージョン:   Word 2007, Word 2003, Word 2000
Excelバージョン:  Excel 2007, Excel 2003, Excel 2000

 

このファイルに対して、下記のようにPICTを実行します。

$ ./pict model.txt 
OSバージョン	Wordバージョン	Excelバージョン
Windows 2000	Word 2003	Excel 2003
Windows XP	Word 2003	Excel 2007
Windows 2000	Word 2000	Excel 2000
Windows XP	Word 2007	Excel 2000
Windows XP	Word 2000	Excel 2003
Windows Vista	Word 2003	Excel 2000
Windows 2000	Word 2007	Excel 2007
Windows Vista	Word 2007	Excel 2003
Windows Vista	Word 2000	Excel 2007

 

このケースでは、3つのパラメータがそれぞれ3つの値のバリエーションを持っているので、愚直にすべての組み合わせをテストすると、3×3×3=27 ケースのテストを実施しなければなりません。

しかし、PICTを使うと、上記のように9ケースの確認で十分という結果になりました。

パラメータの数と値が増えてくると、テストケース数が劇的に増えますが、PICTを通すと劇的に減らせます。

「テストケースを減らして、本当に信頼性が担保できるのか?」

という点については、検索すると文献がいろいろ出てくるので、それらをステークホルダーに見せれば、ほぼ納得してくれます。

以上。。ベトナムはあんまり関係なかった。。

-IT, オフショア開発

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

仕様書を書くということ

オフショア開発をしていると、仕様書の正確性について考えさせられる。 日本人技術者は仕様書に対して甘く考えていると感じることが多い。 仕様書は少なければ少ない方が良い かつ 正確でなければ意味が無い & …

Ticket管理ツールを使ってベトナムオフショア開発を成功させる秘訣

プロジェクト管理ツールやバグ管理システムと呼ばれるツールって、Webシステム開発で必須のツールですよね。 私は最近はJIRAをよく使っています。 ここ7,8年くらいの私の経験プロジェクトでは、Trac …

Whyを伝えるということ

オフショア開発において、開発者に対しWhyを伝える事はとても重要です。 では、Whyとは何か。 日本人技術者が、オフショア開発チームへ伝えるべき”Why”を正しく理解していない …

10年ぶりにブログを書く

ヒャクテムのページをブログで作ってから早10年。 10年か。。。 10年でいろいろありましたが、現在はベトナムのダナン在住でベトナム人女性と結婚し、子供も生まれました。 サーバー準備 ヒャクテム当時か …

日本人とベトナム人の思考の相違について感じること

オフショアIT開発をしていて感じる日本人とベトナム人の思考の違い。 日本人:やりたい事に対して計画を立てる ベトナム人:自分が出来る範囲でやろうとする