テスト・ケース制作ツールの制作記( 開発成果物を読み込んでテスト・ケースを直接つくる)

今はなくなった、某企業から、政府支援課題をする時でした。

成果物を確認し、成果物でテストケースを導出することをガイドしていました。大体コードのドキュメントであり、このコードに対するテストケース導出するガイドが僕の仕事でした。

テストケースを作成するのは企業側の担当者が進行しました。しかし、

「たくさん面倒な作業ですね...」

その際には愚痴だとおもいました。すべての成果物は、MS Wordで書かれ、これを一つ一つ見て分析をしなければならいたからです。

後でマークダウン(markdown)であることがわかりました。その当時はHarooPadというアプリケーションを使用して作成をしてみたところ、かなりの文書形式は、ある程度これでカバーなるという感じがした。特にコード関連マニュアルを作成する際に多くの助けになろうと考えました。

マークダウンで作成した文書をそのまま読み込んでテストケースを作ってくれるアプリケーションがある場合は非常にいいような気がして、これがテストケースの設計ツールの始まりでした。

マークダウン構文でコード部分は、```で囲まれた部分です。マークダウン文書(テキストファイルである)をパーシングしながら ```をぶつかるとコードを読み込むとよくないだろうか。

今ではこの機能はないです。ここで告白しますが、現在のWeb版(analyzingcontext.com)の以前のバージョン(exe版)では、私の怠惰のために、一度コードを入力受けてコードの前と後を ```で囲まれたようコーディングした部分がある。エンジン部分を触りが面倒からでした。

chapter1_1.png

コードを読み込んで、無条件に ```で囲まれてエンジンに投げていいます。

当時のバグだらけのコード分析エンジンを作って完璧ではなかった、ある程度のマークダウン文書を解析して、コードを読んでケースを作るのバージョンまで達しました。当時書いた手法は、MC/DCではなくて条件分の場合の数の「すべての組み合わせ」を作ったのだった。それも条件に3つ以上の移れば機能が動かなかったんです。

コードをgithubに上げて公開するのがどうという話も時々聞きましたが、正直に言うと「恥ずかしい」なでした。自分のコードを自信を持って公開する人は本当にすごい人だと思います。

進行できなかった理由は、いろいろなことがありますが、一度マークダウンというフォームがすべての開発者の間で通用することはなかった。前述し某企業側もMS Wordに習いすぎてマークダウンの反発があり、部外者である私の立場では、これを強制的に力もありませんでした。

もう一つの問題点は、マークダウンエディタがサポートしているマークダウン構文がまちまちであることです。マークダウンがある程度共通のフォーマットを持っているが、注釈機能のようなものは標準機能ではないので、エディタごとにサポートするかどうかが違います。最初はAというツールを基準にとったが、後で出てきたBというツールが機能が多く、より良く見える場合なかなか困難なことですね。

2019年2月の時点で出てきたマークダウンツールを見ると、信じられないほどの機能が良くなりました。特にJavaScriptライブラリ機能のサポートしてシーケンス図やグラフやグラフ(mermaid.js)、フローチャート(flowchart.js)を別心配なしに書き置くのが可能になった。

これを持って成果物を作成し、アプリケーションでこれを読み込んでテストケースを作成することができるという考えは具体化が可能ではないでしょうか。

後で時間になると、上記のスクリプトをサポートするパーサーを作成みようと思う。後で時間になると...