ドキュメント解析の壁:MarkItDownによる構造化

テスト設計の第一歩は、膨大な仕様書の読み込みです。しかし、PDFやExcelの複雑な表構造やレイアウトをAIが正確に理解するのは容易ではありません。 本プロジェクトでは、Microsoftの「MarkItDown」を採用。Pythonブリッジを構築することで、ドキュメントのレイアウトを維持したまま、AIが最も理解しやすいMarkdown形式へ高精度に変換するパイプラインを実現しました。これにより、情報の欠落を防ぎ、高品質なテスト観点の抽出を可能にしています。

ドキュメント解析の壁:MarkItDownによる構造化

全方位コンテクスト:カスタムスキル・エンジン

単に汎用的なAIにテストを書かせるだけでは、プロジェクト特有のルールや「QAとしてのこだわり」は反映されません。 そこで開発したのが、独自の「カスタムスキル・エンジン」です。ユーザーはサイドバーから、特定のテスト設計ルールやドメイン知識を「スキル」としてオン/オフして管理。生成時にこれらのルールをプロンプトへ動的に注入することで、AIは各プロジェクトの文脈に完全に適応したテストケースを出力します。

Gemini ライクなクリーンな UX

複雑なツールであっても、使い心地はシンプルであるべきです。UIデザインには、最新のGeminiのようなクリーンでレスポンシブなインターフェースを採用。 サイドバーでのスキル管理、チャットベースの対話による生成調整、そして生成されたテスト観点・項目のツリー表示。これらすべてを直感的に操作できるよう設計しました。データはIndexedDB(Dexie.js)によりブラウザ内で完結して保存されるため、高度なプライバシーと速度を両立しています。

技術構成:Python と Node.js の架け橋

フロントエンドはNext.js 14(App Router)で構築し、重量級のファイル解析処理はバックエンドのPythonスクリプトが担います。 この異種言語間の連携には、軽量なブリッジ・プロトコルを自作。Node.jsからシームレスにPythonの強力なライブラリ群(MarkItDown等)を呼び出し、非同期で解析結果を受け取るアーキテクチャを確立しました。

Source Code
// Pythonブリッジによるファイル変換の例
async function convertFile(filePath: string) {
  const result = await pythonBridge.run("parse_doc.py", [filePath]);
  if (result.success) {
    return result.markdown; // 高精度な構造化データ
  }
}

Future Roadmap:設計から実行へ

現在はテスト観点の抽出と項目生成がメインですが、今後は「生成したテストケースのスプレッドシート・エクスポート機能」や「自動テストコード(Playwright等)のボイラープレート生成」を予定しています。 テスト設計の「工数削減」のみならず、品質そのものを「AIによって向上させる」。そんなQAの未来を、このツールで具現化していきます。