プリンタドライバ?のバグ?ってなに???
描画のバグってどのタイミングで出来るの???
プリンタ ドライバは、
コンピュータ プログラムがプリンタと通信するためのソフトウェアです。
ユーザーがコンピュータから送信した情報を プリンタが認識できるコマンドに変換します。
あなたがパソコンとプリンタをつないだ時に
パソコンにインストールした、そう、あのソフトがプリンタドライバなんです。
印刷するとき、自然に使ってる 用紙サイズを指定したり、横とか縦とか、カラーとかモノクロとか。。。
そう、あの部分も。
Windows XP クライアント コンピュータのユーザーが、ドキュメントの印刷を選択します。
ドキュメントが Windows アプリケーションから送信された場合は、
アプリケーションはグラフィック デバイス インターフェイス (GDI) を呼び出します。
GDI は送信先プリンタと関連付けられたプリンタ ドライバを呼び出します。
GDI とドライバは、
アプリケーションから送信されたドキュメント情報を使用して、
この印刷ジョブを送信先プリンタのプリンタ言語で表現するためにデータを交換します。
印刷ジョブをクライアント側の印刷スプーラに渡します。
このとき プリンタ ドライバは、
↑ つまりここにプリンタドライバによるバグが生ずるわけです
ユーザーによってコンピュータから送信された情報(GDI)を
プリンタが認識できるコマンド
[注]に変換します。
( クライアントがWindows 以外のOSまたは非 Windows アプリケーションを使っている場合は、
別のコンポーネントが GDI の代わりに同様の作業を実行します。)
注:
プリンタドライバから送信されるプリンタ言語(制御言語)は機種により異なり、
大きくはラスタ言語とページ記述言語(PDL:Page Description Language)の二種類に分類されます。
たとえば、PSによる関数テストはPostScript機種専用で、主としてファーム用テストですが、
【AkanesByP.KS】は一般アプリと同じポジションのOS関数によるプリンタドライバテストなので
評価対象プリンタの機種は一切問いません。
しかし、このバグを検知する為には、
例えばText関数ひとつでも TextOut・ExtTextOut・DrawTextOut・DrawTextEx。。。等々複数あり、
しかも、アプリによって使用関数がまちまちなため、テストの結果は一致せず、
ご存知のように、WordやExcelその他一般アプリケーションでは、
OS関数のうち、どのGDIScript(API関数)で描画命令しているかを明確にすることはできません。
ユーザの使用しているアプリケーションがこのうちのいずれの関数で描画しているかは見えません。
たとえ10個の一般アプリケーションでテストしたとしても
すべての関数をテストしたという保証は全くないのです。
一致しても片寄った関数しかテストしていない結果となります。
そして、何よりもこのテスト漏れが潜在バグを生むことになるのです。
A: そこで!
Akanesは
描画関連のGDIScript(API関数)で構成され、これを意識的に直接描画命令するシステムなので
極めてクオリティが高くバグ検出効率の良いテストを実施することができ、
これによってテスト漏れを未然に防ぐことが可能となるのです。
Copyright(C) Project Kumikos Co., Ltd. All rights reserved.
Designed by P.KS
著作権法に基づき当サイトはすべて【無断転載・複製・複写・盗用】を禁止させて戴きます |