ソフトウェア開発パラダイムの進化

ソフトウェア開発におけるソフトウェアテスト(2)--開発者とテスターの違い

Atif Memon(メリーランド大学博士) 2017年05月10日 16時00分

  • このエントリーをはてなブックマークに追加

ソフトウェア開発パラダイムの進化に伴い、ソフトウェアプロセスも進化した。そして、今日のコモディティ化されたソフトウェアには、アジャイルプロセスが非常に適している――メリーランド大学カレッジパーク校 コンピューターサイエンスの教授を務めるAtif Memon氏はこう話す。日本では、ビッグツリーテクノロジー&コンサルティング(BTC)と共同研究しているMemon氏に、ソフトウェア開発とテストについて寄稿してもらう。今回は1回目に続く2回目。

 今日の継続的インテグレーション(CI)システムでは、ソフトウェアテストが中心的な役割を果たしているので、「どこからテストケースを作成するか」という疑問に回答することは重要です。つまり、各テストケースの作成者を割り当てることです。

 この疑問への回答は、各テストケースがソフトウェア開発プロセス全体にうまく当てはまり、ソフトウェアの特定の機能をテストするように正確に作成され、ソフトウェア開発のさまざまなフェーズで役立つ必要があるために重要です。

 10年、20年前には、「開発者」と「テスター」の間には明白な違いがありました。開発者はソフトウェアのコードを書き、そのテストを手動で行ない、場合によってはテストケースを作成、コード化、文書化する責任を持つ専門のテスターに送付したものです。能力があるソフトウェア開発者は不足していたので、この役割区分は、労働力不足の一時的な間に合わせ措置としてうまく機能していました。

 有能で費用がかかる開発者は、貴重な時間をテストに取られることなく、顧客を満足させるために安定したペースでコードへ新機能を追加することに注力していました。「テスター」は、通常はそれほど能力あるプログラマではなく、費用も割安で、マネージメントからは、当時の認識では「あまり技術でない仕事」をするのに向いていると思われていました。

 テスターは(コンピューターサイエンス以外の)さまざまな分野出身で、手動でテストするためにテスターとしてトレーニングを受けていました。十分なスキルを身につけると、テストケースを文書化し、その実行を自動化する場合もありました。

開発者とテスターの違い

 開発者とテスターの違いは、次に述べる3つの要因により、ゆっくりとなくなってきています。第1に、ソフトウェア品質の重要性が広く理解され、もはやこの仕事を能力のないテスターにアウトソースできなくなりました。

 第二に、より能力のあるコンピュータサイエンティストがソフトウェアテストに加わるようになり、コード開発者のメンタルモデル、そしてコード開発と上手なテスト開発の間で起こる微妙な関係をより理解できるようになりました。

 例えば、Javaで単独のメソッドをコーディングしている開発者は、そのメソッドの実行、さまざまなエラーコードを返すメソッドの原因となる可能性がある例外条件、そしてコードの他の部分との相互作用を一番理解する能力があります。従って、この開発者は、メソッドのコーディング時に、テストし、そのテストケースをコード化し、文書化するために適任です。

 開発者とテスターとの役割間の差異についての議論は、それぞれの役割に帰属するテストケースの異なる種類を考慮しなければ不完全です。

ZDNet Japan 記事を毎朝メールでまとめ読み(登録無料)

  • このエントリーをはてなブックマークに追加

この記事を読んだ方に

関連ホワイトペーパー

連載

CIO
IT部門の苦悩
Rethink Internet:インターネット再考
インシデントをもたらすヒューマンエラー
トランザクションの今昔物語
エリック松永のデジタルIQ道場
研究現場から見たAI
Fintechの正体
米ZDNet編集長Larryの独り言
大木豊成「仕事で使うアップルのトリセツ」
山本雅史「ハードから読み解くITトレンド放談」
田中克己「2020年のIT企業」
松岡功「一言もの申す」
松岡功「今週の明言」
内山悟志「IT部門はどこに向かうのか」
林 雅之「デジタル未来からの手紙」
谷川耕一「エンプラITならこれは知っとけ」
大河原克行「エンプラ徒然」
内製化とユーザー体験の関係
「プロジェクトマネジメント」の解き方
ITは「ひみつ道具」の夢を見る
セキュリティ
「企業セキュリティの歩き方」
「サイバーセキュリティ未来考」
「ネットワークセキュリティの要諦」
「セキュリティの論点」
スペシャル
ざっくりわかるSNSマーケティング入門
課題解決のためのUI/UX
誰もが開発者になる時代 ~業務システム開発の現場を行く~
「Windows 10」法人導入の手引き
ソフトウェア開発パラダイムの進化
エンタープライズトレンド
10の事情
座談会@ZDNet
Dr.津田のクラウドトップガン対談
Gartner Symposium
IBM World of Watson
de:code
Sapphire Now
VMworld
Microsoft WPC
Microsoft Connect()
HPE Discover
Oracle OpenWorld
Dell EMC World
AWS re:Invent
AWS Summit
PTC LiveWorx
より賢く活用するためのOSS最新動向
古賀政純「Dockerがもたらすビジネス変革」
中国ビジネス四方山話
ベトナムでビジネス
米株式動向
日本株展望
企業決算