Markdown で書いた試験仕様書を Excel に変換するツールを作った
だいたいの試験項目書は Excel で作られている事が多いと思いますが、試験手順の修正や項目追加などでちょいちょい変更することがあって、バージョン管理していると衝突したり差分がわからなくなったりしがちだったりしませんか?
そんな現状をなんとかすべく、試験仕様書を Markdown で書くという試みをしてみました。(一応、実プロジェクトでも運用済み)
Github のプロジェクトとして公開しています。
以前 Java で書いてたのですが、今だと Kotlin の方が管理しやすそうだったので Kotlin で書き直しました。Kotlinは本当に書いてて気持ち良い言語。
使い方
Github の README にも書いてますが、ここでは日本語で説明書きます。
1. 試験仕様書の Markdown を書く
下記のような Markdown を作成します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# 試験カテゴリ ## 大項目サンプル ### 中項目サンプル #### 小項目サンプル 1. 手順1 2. 手順2 * [ ] 確認項目1 * [ ] 確認項目2 # 機能試験 ## ユーザ情報変更機能 ### ユーザ名変更 #### 最小長ユーザ名設定 1. アプリを立ち上げる 2. メイン画面でユーザ名を"a" と設定する 3. OKをタップする * [ ] アプリでエラーが表示されないこと * [ ] アプリを再起動し、メイン画面でユーザ名が "a" となっていること #### 最大長ユーザ名設定 1. アプリを立ち上げる 2. メイン画面でユーザ名を"12345678" と設定する 3. OKをタップする * [ ] アプリでエラーが表示されないこと * [ ] アプリを再起動し、メイン画面でユーザ名が "12345678" となっていること |
現在使っているのは、h1、h2、h3、h4 要素と 順序付きの項目、チェックボックスになります。それぞれの役割としては
- h1 は試験のカテゴリ。コンバートする時はこの要素が Excel の 1シートになります。
- h2、h3、h4 はそれぞれ大項目、中項目、小項目
- 順序付きの項目は試験手順
- チェックボックスは確認内容
という感じです。Markdown そのままでも普通に見れるようなルールにしました。レンダリングすると以下のような感じになるかと。
2. コンバート
ツールは jar となっています。下記コマンドで実行します。
1 2 |
java -jar evalSpecMaker.jar test_spec.md test_spec.xlsx |
出来た Excel
注意点
自分利用前提だったので、現在はヘッダは日本語のみです。ソースは大した量ではないので、必要なら適宜カスタマイズして使ってください。
実プロジェクトで運用してみての所感
道半ばって感じです。
実際、あるプロジェクトでこのツールで出力した試験項目書を使ってみました。列幅とかの調整がちょっと不完全だったんですが、基本はコンバートしたものをほぼそのまま使えました。
当初の目的である、テキストベースでの試験項目書の管理は成功しました。
試験項目書あるあるだと思いますが、同じような項目がでてくることが多く、もうちょっとMarkdown の方で参照とかループ的な抽象的なルールを追加しても良いかもと思いました。
それでもAtomかVSCodeで書いているのでコピペも置換も慣れたキーバインドでできるので大分楽にはなりましたね。
他のプロジェクトでも使いつつ、ツール自体の機能も充実させていきたいです。
最後に
以前、AsciiDoc と PlantUML と mermaid.js で素敵なテキストベース仕様書ライフという記事を書いたのですが、6/8現在最も読まれている記事になっていました。
今回はその関連でソフトウェア開発で作成するものを、可能限りテキストベースにして、手に馴染んだテキストエディタで編集したり差分管理したいという試みを載せてみました。
フリーランスはこういう仕事のやり方的なところも自分で試行錯誤できるのが楽しいですね。
最後まで読んでいただきありがとうございます。 このブログを「いいな」と感じていただけましたら、Twiter にてフォローいただけるとうれしいです。ブログ更新情報などもお届けします。
Follow @ryuta461
この記事をシェアする