【テスト自動化#2】「テスト設計の自動化を支える技術」

はじめに

こんにちは、技研の「むらたん」です。

前回の投稿でテスト自動化に先駆けて、テストについて簡単に触れました。

「テスト自動化」と聞くと、人が手で行っている作業が自動化され、楽になり、品質も上がって幸せになれるような感覚を抱きがちですが、それは紛うことなき幻想であります。この手の話は各方面で語りつくされており、内容に目を通してみると、現時点では「こうすれば良い」という模範解答は無いということが見えてきます。
そして、しばらくはこの状態が続くことと思われます。

それが故に、
「我が社のテスト自動化事例」という形で各社の取り組みが紹介されたり、有償・無償を問わず、多様なテスト自動化ソフトが開発・販売されているのだと思います。

テスト自動化の取り組みについて

クレスコの現状

事業の特性上、様々なお客様とお取引をさせていただいているため、テストに求められることも様々で一概に語れない状況です。
また、お客様の要求に合わせたプロジェクト運営を行うため、完全には成果物の形式が統一されておらず、画一的な施策が打ちづらいという課題もあります。

開発技術の研究

技術研究所では、研究テーマの1つに「開発技術」を挙げており、テスト工程に限らず、作業の自動化や開発業務に適用可能な技術の研究を行っています。
テストの自動化については、テスト設計の自動化やコードレビュー自動化の実現に向けた研究を行っています。

テスト設計の自動化で活用できそうな描画ツール「PlantUML」

テスト設計を自動化するには、アプリケーション設計の表現が標準化され、機械が解釈できるようにしなければなりません。
表現の標準化となると、UML(Unified Modeling Language)こと、統一モデリング言語が頭に浮かぶのですが、
×:書く方も読む方もそれなりの知識が求められ、
×:文書化する際のツールのデファクトスタンダードが存在しない。
という課題があり、開発現場への適用の敷居が高くなることがあります。

UMLをUMLとして描こうとすると敷居があがりますが、自分たちに都合の良く活用することで導入していければと考えています。
例えば、自然言語で表現しがちな「処理記述」を、UMLのアクティビティ図の書式で「フローチャートを描く」という使い方です。
また、デファクトスタンダードな描画ツールが無いことや、ツールの使用方法を覚える敷居の高さを下げるため、UMLをテキストで出来るツールを探していたところで見つけたのが「PlantUML」です。

PlantUMLの特徴は以下のとおりです。

○:オープンソースであり、導入コストがほぼ0。
○:実体はテキストファイルであるため、軽快な操作感。
○:生成されたUMLは画像として保管可能。
△:PlantUML独自の表記ルールを覚える必要がある。

とはいえ、表記ルールを覚えるといっても、頭のなかに叩き込む必要はなく、Atomエディタで描けば、PlantUML Viewerプラグインを導入すると、リアルタイムでテキストの内容をUMLプレビューしてくれるので、さくさくと正しいUMLが描けます。これだけでも楽しいです!

まとめ

  • テスト設計の自動化には、アプリケーション設計の表現の標準化が必要。
  • 設計表現の標準化にはUMLを、自分たちの都合の良い使い方で適用しよう。
  • PlantUMLオススメ。

といったところで、次回はUMLやその他の仕様書をどうやって活用するかを紹介できればと思います。
現在、鋭意研究中でございます。

  • このエントリーをはてなブックマークに追加