[nvdajp-team 1104] [nvdajp] #28483: 点訳エンジンのテストケースを作る

SourceForge Ticket System norep****@sourc*****
2013年 1月 15日 (火) 00:14:49 JST


#28483: 点訳エンジンのテストケースを作る

       登録: 2012-05-22 17:53
   最終更新: 2013-01-15 00:14

このチケットのURL:
    http://sourceforge.jp/ticket/browse.php?group_id=4221&tid=28483
このチケットのRSS feed:
    http://sourceforge.jp/ticket/ticket_rss.php?group_id=4221&tid=28483

---------------------------------------------------------------------

このチケットの最終修正/コメント:
2013-01-15 00:14 更新者: nishimoto

コメント:

テストケースの記述方法が変わっているので、情報をまとめます。

自動テスト用ファイルは liblouis にならって harness と呼んでいます。

データは Python のソースコードで、文字コードは UTF-8 です。Unicode 点字シンボルを使っています。

bzr で管理されている harness ファイル:

http://bzr.sourceforge.jp/view/nvdajp/nvdajpmain/annotate/head:/jptools/harness.py

自動テストを実行すると、下記の結果が得られます:

{{{
c:\work\nvda\jpmain\jptools>python jpBrailleRunner.py
h1: 0 error(s). see __h1output.txt
h2: 21 error(s). see __h2output.txt
}}}

h1: カナと記号のテスト

h2: テキスト解析とマスあけのテスト

になっています。

{{{
出力ファイル  __h1output.txt __h2output.txt
テキスト解析の中間結果を確認するためのログ __h2log.txt
}}}

h1 の処理は liblouis テーブルとして実装できそうです。

テスト用データにこれから追加しないといけないのは、文字位置の対応関係です。
これはポジションマッピングと呼ばれていて、
点訳前の文字列の何文字目が、点訳後のセルのどのマスに対応するかを示します。
タッチカーソルの位置を正しく処理するために必要です。


---------------------------------------------------------------------
チケットの状態:

        報告者: nishimoto
        担当者: nishimoto
チケットの種類: 機能リクエスト
          状況: オープン
        優先度: 5 - 中
マイルストーン: 2013.1
コンポーネント: ピンディスプレイ
        重要度: 5 - 中
        解決法: なし
---------------------------------------------------------------------

チケットの詳細:

点訳エンジン改良のために、実現するべき仕様を明確にしなくてはいけませんが、これを「テスト駆動開発」の考え方に当てはめると、テストケースを整備することがひとつの目標と考えられます。

この作業は昨年から構想しているのですが、進んでいません。

例えば下記のようなテストコードが nvdajp に入っています。これはカナ変換と分かち書きに関する自動テストの実装案です。

{{{
> cd C:\work\nvda\jp2012.2\source
> python synthDrivers\jtalk\translateTest.py

mecab:0.993 nvdajp-jtalk-dic 20120403-053143
ヒロイ ウミヲ オヨグ チーサイ サカナ。
ウツクシイ シゼン。
ヒャクエンショップワ ナニデモ 100エン。
ヒャクエン ショップワ ナンデモ 100エン。 : unmatched
2 / 3 passed

以下、テストパターン:

def test_braille():
	tests = [
		[u"広い海を泳ぐ小さい魚。", u"ヒロイ ウミヲ オヨグ チーサイ サカナ。"],
		[u"美しい自然。", u"ウツクシイ シゼン。"],
		[u"百円ショップは何でも100円。", u"ヒャクエン ショップワ ナンデモ 100エン。"],
	]
}}}

日本語の分かち書き規則だけではなく、記号、数字、英字の混在など、さまざまなケースを集めたいと思います。

JTalk のテキスト解析とも連携して整備すべきと思います。

  * http://nvdajp-jtalk-dic.heroku.com/items

-- 
スクリーンリーダーNVDA日本語版 プロジェクトのチケット情報です。
スクリーンリーダーNVDA日本語版 プロジェクトはSourceForge.JPにホスティングされています。

プロジェクト URL: http://sourceforge.jp/projects/nvdajp
SourceForge.JP: http://sourceforge.jp

このチケットのURL:
    http://sourceforge.jp/ticket/browse.php?group_id=4221&tid=28483
このチケットのRSS feed:
    http://sourceforge.jp/ticket/ticket_rss.php?group_id=4221&tid=28483




nvdajp-team メーリングリストの案内