TOPへ   もどる

プリンタドライバ?のバグ?ってなに???

   描画のバグってどのタイミングで出来るの???

      プリンタ ドライバは、
      コンピュータ プログラムがプリンタと通信するためのソフトウェアです。
      ユーザーがコンピュータから送信した情報を プリンタが認識できるコマンドに変換します。
      あなたがパソコンとプリンタをつないだ時に
      パソコンにインストールした、そう、あのソフトがプリンタドライバなんです。
      印刷するとき、自然に使ってる   用紙サイズを指定したり、横とか縦とか、カラーとかモノクロとか。。。
      そう、あの部分も。

詳細はマイクロソフトの印刷処理に関するサイト等をご覧ください。


 【印刷処理工程】

Windows XP クライアント コンピュータのユーザーが、ドキュメントの印刷を選択します。


ドキュメントが Windows アプリケーションから送信された場合は、
アプリケーションはグラフィック デバイス インターフェイス (GDI) を呼び出します。

       ↑ つまりこのアプリケーションがWordでありExcelであり OSのGDI(API)Scriptで構成された【AkanesByP.KS】です。

GDI は送信先プリンタと関連付けられたプリンタ ドライバを呼び出します。


GDI とドライバは、
アプリケーションから送信されたドキュメント情報を使用して、
この印刷ジョブを送信先プリンタのプリンタ言語で表現するためにデータを交換します。

印刷ジョブをクライアント側の印刷スプーラに渡します。

このとき プリンタ ドライバは、
ユーザーによってコンピュータから送信された情報(GDI)を
プリンタが認識できるコマンド [注]に変換します。
( クライアントがWindows 以外のOSまたは非 Windows アプリケーションを使っている場合は、
  別のコンポーネントが GDI の代わりに同様の作業を実行します。)

       ↑ つまりここにプリンタドライバによるバグが生ずるわけです

注:        プリンタドライバから送信されるプリンタ言語(制御言語)は機種により異なり、
            大きくはラスタ言語とページ記述言語(PDL:Page Description Language)の二種類に分類されます。

            たとえば、PSによる関数テストはPostScript機種専用で、主としてファーム用テストですが、
            【AkanesByP.KS】は一般アプリと同じポジションのOS関数によるプリンタドライバテストなので
            評価対象プリンタの機種は一切問いません。



 【バグ検出の課題】

しかし、このバグを検知する為には、
ご存知のように、WordやExcelその他一般アプリケーションでは、
OS関数のうち、どのGDIScript(API関数)で描画命令しているかを明確にすることはできません。

例えばText関数ひとつでも TextOut・ExtTextOut・DrawTextOut・DrawTextEx。。。等々複数あり、
ユーザの使用しているアプリケーションがこのうちのいずれの関数で描画しているかは見えません。

       ↑ つまり プリンタドライバのテストを、
             たとえ10個の一般アプリケーションでテストしたとしても
             すべての関数をテストしたという保証は全くないのです。

しかも、アプリによって使用関数がまちまちなため、テストの結果は一致せず、
一致しても片寄った関数しかテストしていない結果となります。
そして、何よりもこのテスト漏れが潜在バグを生むことになるのです。

Q:     。。。では、どうすればよいでしょう?
A:     そこで!



 【バグ検出の特効薬】!!!

Akanesは
描画関連のGDIScript(API関数)で構成され、これを意識的に直接描画命令するシステムなので
極めてクオリティが高くバグ検出効率の良いテストを実施することができ、
これによってテスト漏れを未然に防ぐことが可能となるのです。

プロのあなたは いくつのアプリでテストしていますか?
どれとどれの描画関数をテスト網羅できていると断言できますか?

ちょっと興味が沸いてきたあなたへ →
ちょっと不安になったプロのあなたへ →
Copyright(C) Project Kumikos Co., Ltd. All rights reserved.       Designed by P.KS 
著作権法に基づき当サイトはすべて【無断転載・複製・複写・盗用】を禁止させて戴きます