2018/12/17
テスト管理ツールというのを知ってますか??
一般的にテスト管理ツールというのは、膨大なテストを管理し実行する手助けをするツールのことを指します。OSSとして提供されているものとしては、TestLinkが有名ですね。
メルカリさんでも過去の記事で色々とテスト管理ツールを比較したかなり良い記事があります。
モダンなテスト管理プロセスのためにテスト管理ツール3つを比較検討したはなし
ただ、Web企業の多くの現場ではExcelやスプレッドシートで管理していてあまり馴染みのないツールでもあります。とくに最近では手動でのテストよりもTDD・BDD影響もあってテストコードの話題が多くなり、手動テストの手法自体があまり日の目を見なくなってきていますね。
ただあまり話題にならなくなっても手動テスト自体は今後も有用であり、テストコードと対立する手法でもありません。
まず、私のサービスを紹介する前に少しだけテストに関しての私の個人の見解を書かせてください。
先程書いたようにExcelやスプレッドシートで管理している現場は多いと思います。
そういう現場では昔から使い慣れたフォーマットがあり、それを流用して管理していることもあると思います。
Excel・スプレッドシートのメリットとして以下が挙げられます。
ただし、以下のようにデメリットもあります。
私はとくにテストケースが蓄積されずその場限りとなってしまうことが一番問題だと感じていました。
理由として、テストケースが十分にあればそのサービスの仕様として活かせると感じるからです。ただ、このあたりについて書くとかなり長くなってしまうので今回はそこまで書きません。
今回作ったサービスはKURURUというサービスになります。
まだ、トップに表示されている機能が十分に完成していないので心苦しいのですが。。
注目点としてテスト実行後に作成したテストケースを将来再利用出来るように設計しました。その場限りのテストケースを使うのではなく、将来的にも流用できる資産として活用出来ます。
今後は特徴にあるPull Requestに紐づけることでよりコードとテスト実行の統合を目指します。
ちなみに今回のサービスで利用した技術はElixir/Phoenixで個人サービスを作ったことの振り返り・本番環境運用に説明されています。
関数型言語を使ったきっかけはテストコードを書くのが楽だというのが動機です。
ここまで読んで不思議と思うかもしれませんが、私自身はそんなにテストが実は好きではないですw
そのため、好きじゃないテストを効率良く実装したいというモチベーションで作りました!
最後にテストに興味を持ったきっかけとして、かつて一緒に働いていた仲が良くテストに強かった同僚が「7年間でバグを混入したことが1回しかない」かつ「開発期間を伸ばしたこともない」という驚異的なエンジニアに憧れたのがきっかけです。その同僚も今回ツールを作ったことで草葉の陰で喜んでいると思います。
明日は、skycat_meさんの記事になります!