この記事はフロムスクラッチ Advent Calendar 2016の12日目の記事です。
改めて自己紹介
1987年の三重県人です。関西の人間(特に大阪)からはよく虐げられます。くやしいのぅ。現在はフロムスクラッチの開発部隊にいます。主にはテストチームのマネージメントをしていますが、要件定義のお手伝いをしたり、AIのためのデータモデルの設計のお手伝いをしたり、テストデータ自動生成の仕組み考えたり、などとやってることは様々です。なんでもやったるぞと。
今回は前回に紹介したテスト品質管理できる仕組みの第2段!テスト進捗状況表についてお話します。全3話完結予定!
前回までのおさらい
前回は、WBS・テストケースとその結果・不具合報告書をインプットとして、Google Apps Scriptで加工し、テスト進捗状況表と品質情報表をアウトプットするという話をしました。そして今回はテスト進捗状況表についてお話します。
システム構成
システム構成は以下のとおりです。そうです。前回と変わっております。
まず、不具合報告一覧がRedmineからexportしたCSVファイルに変わっております。そしてテスト進捗状況表もHTMLファイルからGoogle Spread Sheetに変わっております。そして一番変わったのは、DBとしてFusion Tablesを使っているところです。
インプットデータの取得について
テストケースと結果は複数のファイルが存在しており、Spread SheetのID管理がめんどうなので、フォルダ内のSpread Sheetを全部取得するようにしています。やり方はGoogle Apps API JAPANの質問にあったものを参考にしました。
特定フォルダ内の全スプレッドシートの名前とIDを取得する。
不具合報告一覧はRedmineからCSVファイルとして出力しています。こいつについては、一度Google Drive上に配置してから取り込みをしています(いまのところ手動・・・!)。
Fusion Tables
テスト進捗状況表でみたい情報は以下の4つ。
- プロジェクト全体の現時点の進捗情報
- プロジェクト全体の時系列の進捗情報
- テスト担当者単位の現時点の進捗情報
- テスト担当者単位の時系列の進捗情報
時系列で見たい。担当者単位で見たい。
うーん、じゃあ過去のデータを取っておきたいなぁと思っていたところで、以下の記事に出会いました。
恥ずかしながら、あんまりGoogleのAPIとかに詳しくない私にとっては「へー、これはいいや。」と思って使ってみました。制限はあるものの、今のところは問題ないです。
蓄えているデータは以下の通り。
ユーザ、テストスイート、日付の単位でGoogle Apps Script上で加工したデータを登録しています。
データの取り込み順
データの取り込みは、いまのところ1日の終りにGASの関数を実行しています。
- フォルダ内からテストケースとその結果のデータを取得。合格テストケース数、不合格テストケース数、未実施テストケース数、保留テストケース数を舐めに行きます。
- 当日分の不具合一覧から不具合修正完了数、不具合残数、不具合対処扶養数、不具合保留数を舐めに行きます。
- 当日分レコードを作成し、Fusion Tables上に登録します。
出力結果
以下、サンプルですが出力結果を紹介します。
まずは現時点での進捗情報
上記はプロジェクトの全体に対する現時点での進捗情報のサンプルになります。
集計対象を変えることで、個人の進捗情報も確認することができます。
確認できる情報としては、総テスト数に対していくつ合格していて・残はいくらあるか。また、不具合はどれくらい出てて、残は何件あるかなどが分かります。
次に時系列での進捗情報
上記は、あるテストスイートに対する時系列での進捗情報のサンプルになります。
テスト進捗、不具合対応の推移が日単位でみることができます。
とまぁ、このように進捗情報をサマリであったり、時系列であったりと確認することができます。
まとめ
テスト品質管理できる仕組みの第2段ということで、今日はテスト進捗状況表についてお話しました。次回は品質情報としてPB曲を見える化の話をしたいと思います。
基本的に業務外に作っているということもあり、ゆっくりゆっくり出来上がってきていますが、 @take_chan_man 先生にはよいクリスマスプレゼントが出来そうです。
さてさて、明日の担当は @jkkitakita 先生です!よろしくお願いしまーすね!