このページの本文へ

2008年01月31日更新

第2回 「テストエンジニア」で一歩先行くためには

組込み一直線

組込み系の現場で成果を上げるためのポイントや必要なスキルを紹介している「組込み一直線」。連載2回目は、製品が市場に出てから不具合を修正するのが非常に困難な組込み系ソフトウェア開発において、品質を握る存在となる「テストエンジニア」を取り上げます。テストエンジニアが現場で担う役割りや陥りやすいテストの失敗の原因とは何か。そしてテストエンジニアとしてキャリアアップしていくのに必要なマインドとスキルとはどのようなものかに迫ります。

適正な時間とコストで目的の品質に導くのがテストエンジニア

組込み一直線
(株)富士通ラーニングメディア 研修事業部 増田晃章さん         1984年から約20年、主にネットワーク機器のソフトウェア開発に従事。現在、組込みソフトウェア開発における教育を担当。

 テストエンジニアとは、その名のとおりテスト、つまり不具合(バグ)を検出し、品質を検証するエンジニアのことを言います。しかし一口にテストと言ってもさまざまです。「品質」のテストでは、要件が満足できているかを確認する機能性の検査や、信頼性、使用性、効率性、保守性などの非機能性の検査があります。また、「手法」のテストでは機能を確認するためのブラックボックステストや、処理の流れや構造を確認するためのホワイトボックステスト、経験ベースのエラー推測、最終的にお客様に満足していただけるレベルであるかを検査する総合(受け入れ)テスト、不具合を修正後にその修正によって新たな問題がないかを検査する回帰(リグレッション)テストなどがあげられます。このように、多種多様な検査を経て、組込み系ソフトウェアの品質は高まっていくのです。

 とはいえ、品質を高めるために時間やコストを無制限に使えるわけではありません。そこでテストエンジニアには、どこまでいつまでテストをするか、適正な時間とコスト内で効率的なテストを行ない、目的とする品質に近づけていくスキルが必要となります。つまり、言い換えればテストエンジニアはいかに「限られた時間内で効率よく改善の提案ができるか」で、評価が決まる仕事だと言えます。

現場でよくあるマイナスポイント

 実際のテストの現場でありがちなのは、しっかりしたテストケース(入力するデータ、処理内容、想定する結果をセットにしたもの)を作らず、あいまいな行なわれ方をしているという点でしょう。思い付いたケースから検証が行なっていくので、その結果バグが見つかったとしてもしっかりと順序立てた手順が踏めておらず、網羅性に欠けていたり、記録として不確かで不具合の流出原因もしっかりと分析できないことも多いようです。またそのような現場では、往々にして作業の進捗が把握できておらず、スケジュール管理もあいまいと言えます。その結果、後で大きな問題を引き起こしてしまいがちで、お客様はもちろん、会社や開発者自身にとっても不幸な結果となってしまうのです。組込み系のソフトウェアは、製品が世に出てからの修正をすることが非常に困難で、回収となれば何十億円という負担が発生してしまうこともあります。また、社会に与える影響も大きいので、仕事に対する意識をより高く持たなくてはなりません。

 テストはこのように重要な項目に関わらず、コスト面などから、一般的にエンジニア経験の浅い人が担当することが多いようです。そういう状況もあり、微妙な不具合を発見するのは難しかったりするのも現実です。しかし、そこで優秀なテストエンジニアとして確かなスキルを身につければ、エンジニアとして大きく成長できるでしょう。

次ページへつづく

■関連スキルアップコース(富士通ラーニングメディア)
・組込みソフトウェア開発初心者のためのテスト入門
・組込みソフトウェア開発初心者のためのレビュー入門
・C言語コーディング作法

1 2
キャリア連載バックナンバー
採用を勝ち取る転職必勝マニュアルバナー

おすすめ連載

組み込み系エンジニア特集

今さら聞けないIT英語

エンジニアライフ

資格試験対策

プロマネ・スキル

ビジネススキル

独立起業事例集

キャリア・コーナー紹介