Gemma Bui

Gemma Bui

3 posts published

ホワイトボックステストとは
testing

ホワイトボックステストとは

ソフトウェアやシステムは人間が開発する以上、不具合などが発生することはどうしても避けられません。こうした不具合を防ぐためにはソフトウェア製品の品質と適切な機能を保証することが欠かせませんが、その上で主要な役割を果たすのがソフトウェアテストです。ソフトウェアテストにはいくつかの手法がありますが、今回は「ホワイトボックステスト」というテスト技法について、詳しくご説明します。 1. ホワイトボックステストとはホワイトボックステストとは、どのコードの行がエラーを引き起こしているかをテストすることでプログラムのソースコードと内部構造を評価するテスト技法です。つまり、システムの内部構造がクリア(ホワイト)な状態を前提としたテストということです。 この技法はオープンボックステスト、クリアボックステスト、コードベーステスト、単純なボックステスト、ガラスボックステストとも呼ばれ、テスト対象は機能、機能モジュールなどのソフトウェアコンポーネントです。ホワイトボックステストは、ソフトウェア開発の初期でエラーを検出する上では最も効果的な手法です。 2. ホワイトボックステストのメリットとデメリット仮にGUI(Graphical User Interface、グラフィカル・ユーザ・インターフェース)が使用できなくてもテスト自体は早めに開始することが可能です。 開発者は、単体テストの作成中にホワイトボックステストを使用しますが、Junit (Java フレームワーク)、 PHPUnit (PHPフレームワーク)、NUnit (.Net フレームワーク) などの単体テスト補助ツールを利用することで品質保証における客観性を保証することができます。ただし、ホワイトボックステストを実行するテスターはコードを詳しく理解できる知識を持っている必要があります。また、コード構造によりテストケースの再利用はほとんど不可能です。 3.

ブラックボックステストとは
testing

ブラックボックステストとは

ソフトウェアの品質を高める上で欠かせないテスト工程では、いくつかの主要なテスト技法が存在します。今回はその中のひとつであるブラックボックステストについてご紹介します。 ブラックボックステストとはブラックボックステストとは、システムの内部構造を考慮せずプログラムが仕様通り設計されるかを検証するテスト方法です。システムの内部構造を直接確認することはできないシステムをブラックボックス(中身が見えない箱)に見立ててテストを実行するため、このように呼ばれています。ブラックボックステストはシステムの内部構造を理解していない場合でも、仕様書があればテストを実施できるというメリットがあり、主に機能テストとシステムテストで行われるほか、機能以外のユーザビリティなどのテスト(非機能テスト)でも実施されます。 ブラックボックステストのテスト技法としては主に以下の5種類があります。 1. 同値分割法 同値分割法とは入力条件を類似と見なすことができるグループ(同値クラス)に分割し、テストを実行する技法です。同値クラス分は、出力、内部変数、時間に依存する値(例えば、イベ ントの前後)のほか、インターフェースパラメータにも存在し、テスト実行においては各クラスから代表的な値を使って分析します。同値分割法は単体テスト、統合テスト、システムテストなどのすべてのレベルのテストに適用できます。 2. 境界値分析(限界値分析) 境界値分析とは、仕様条件の境界となる値(境界値)とその隣の値に対してテストする技法のことです。境界値とは、ある範囲の最小値または最大値などの同値分割した領域の端に当たる値です。具体的には「未満」や「以下」などが該当し、こういった境界部分は間違いを引き起こしやすく、

オフショア開発国ごとの特徴
misc

オフショア開発国ごとの特徴

オフショア開発を手掛ける国はベトナムを含め、新興国を中心に広がっています。そこで、今回はごく簡単ではありますが、オフショア開発先として知られる代表的な国をご紹介します。 中国中国はオフショア開発の委託先として日本と長い関係を持つ国のひとつです。中国ではアリババやテンセントなどに代表される国内のIT企業が大きく成長する中、デジタル技術活用が進んでおり、高度・先進技術の開発に関して高い技術力を持っていると言われています。また、圧倒的な人口の多さに加えて、IT教育を重視した国策により優秀なIT人材の層が厚いという強みがあるほか、日本語能力が高いエンジニアを確保しやすいというメリットもあります。 その一方、中国特有のカントリーリスクの問題や他国と比較して単価が高いなどのデメリットも存在します。 インド世界有数のIT大国であるインドは、日本でもオフショア開発の主要な委託先の一つになっています。インドは13億人超の人口を有し、そのうち5割以上強が30歳以下という若い国です。また、大半エンジニアが英語を日常的に使いこなし、技術レベルも総じて高いことが知られています。‌‌‌‌ただ、インドの開発企業の多くは欧米企業をクライアントに抱えていることが多いため、日本語対応が可能な会社は少ないと言えます。また、日本との時差(3時間30分)、人件費の高騰、あるいは予期せぬ政治不安などもデメリットになります。 フィリピンフィリピンも近年は魅力的な人件費や英語が話せる人材が豊富という点が支持され、人気上昇中の委託先となっています。オフショア開発のプロジェクトを円滑に進める上ではコミュニケーションを積極的に取ることはとても重要なので、英語が話せるスタッフを容易に確保できることはメリットと言えます。その半面、フィリピンには日本語人材はまだまだ少なく、政治的な不安定さもカントリーリスクとして挙げられます。 東欧諸国最近、英語人材の確保や高い技術レベルを備えたオフショア開発先として注目を集めているのが東欧諸国です。ただし、日本語対応可能なエンジニアを確保することは容易ではありません。また、東欧諸国と日本との時差は5時間〜8時間ほどあるため、日本とリアルタイムのやりとりやミーティングが難しいという面もあります。 ベトナムベトナムも国策としてIT人材育成に力を入れている国のひとつです。また、他のASEAN諸国と比較すると日本語学習者が数多く存在し、国レベルでも親日国であることが大きなメリットです。