見出し画像

《1回目》CATの原点と機能開発の変遷

こんにちは。CAT 推進グループ・石井 優です。
SHIFTでCATを専任で開発している本グループ内で、ユーザーサポート・要件抽出などを担当しております。

現在SHIFTが提供する「CAT(キャット)」とは、テストの実行管理に主眼を置いた正式名称「CAT TCM(Test Cycle Management)」という製品を指します。ケースと実行結果・エビデンスの管理、およびプロジェクトの進捗管理や品質分析を担うツールです。詳しい紹介はぜひ製品HPをご確認ください。
[CAT製品HP]

画像1


本製品は社内ツールとして開発、2015年6月からSaaS形式で外部へ販売を始め現在6年目。私もちょうど販売開始のころにSHIFTへ参画し、外販の期間と同じぐらいCATに携わってます。

機能拡張は毎年3回から4回程度。テスト実行やプロジェクト管理を、もっと効率よく便利にするための機能を、大小問わずリリースしています。

ソフトウェアの開発・提供に5年も携わっていると、いつも同じようなテーマで開発しているのではなく、そのソフトウェアのフェーズや取り巻く環境によって開発する機能や考え方が変わっていることに気づきます。

そこで今回、CATが何を開発してきたかを振り返ってみることにしました。私自身、ソフトウェアはその時々で姿が変わる生き物であると考えています。Adobe社のPhotoshopも、Microsoft社のWindowsも長い間、さまざまな課題をフォーカスし成長しつづけています。

CATという製品の変遷からソフトウェアの開発の道のりや、テスト管理ツールに求められていることなどを知っていただければ幸いです。


■CATの歴史・変遷

CATの歴史・変遷をたどっていくと、大きく以下のように区分けできます。

• ExcelからWebアプリケーションへ
• 2015年・基礎固め・外販開始
• 2018年・開発との統合
• 2018年後期~2019年・幅広いフェーズ対応
• 2019年~2020年・基礎機能の再強化


今回は、外販開始とその後の基礎機能を固めるという点までを紹介します。


■SHIFTがCATの開発に踏み切った理由

SHIFTはツールベンダーではありません。なぜSHIFTがCATというツールを開発しているかを少しお話します。

2009年、今の基礎となるシステム開発における第三者検証事業を開始以来、SHIFTはソフトウェアのテストサービスに軸足を置いてきました。お客様のシステム開発に対するテストを行う際、ツールなしでは弊社メンバーからお客様への不具合や進捗の報告が、どうしても遅くなるという問題が発生します。

テストや不具合の情報・進捗は本来リアルタイムにプロジェクトメンバー間で共有され、進捗の遅延や開発の課題をいち早く察知・対応することが理想です。その点を実現するために、弊社代表・丹下が「CAT(Computer Aided Test = コンピューターで支援されたテスト) 」という構想を提唱しました。

また、このCATという言葉はプロジェクトの情報共有だけでなく、テストに関わるあらゆる業務(設計・実行・採用等)をコンピューターで支援、効率化し、今まで不可能だった必要な情報を提供するという意味合いもあります。

このなかで、テストの実行管理を担当するのが、今説明しているCAT TCM(以下CATと呼ぶ。)という製品です。CATは先にあげた通り、不具合報告や進捗の情報共有といったテスト実行管理に関わる機能をもちます。

ではCATが開発される前、一般のテスト工程ではどのように管理されていたのか。日本における、結合テストから総合フェーズまではExcelでテストケースを記述し、進捗や品質の管理をすることが一般的です。厳重な品質管理・テストが必要とされ、次のような情報を表現するためには、Excel(スプレッドシート形式)で表現するのが一番的確であるからです。

• 条件分岐と網羅性
• テストの分量の計画
• 実施の結果とエビデンス
• 作業を実施したとの証跡


[一般的なExceのテスト仕様書例]

画像2


これは、ベンダーとユーザー、ユーザー系SI企業とユーザー企業など開発において発注側と受注側で分かれ、作業範囲や作業の証跡を示す必要があることも背景にあるようです。その一方で、テストの表現には優れているExcelでも、以下のような作業には不向きです。

• 全メンバーのテスト進捗を集計する
• テストの品質を瞬時に可視化し、品質の悪い部分を確認する
• ユーザーごとのパフォーマンスから慣れていないテスター等を確認する
• 繰り返し実施したテストのバージョンを管理する


システム開発はプロジェクトですので、テストフェーズの生産性の確認や品質のチェックは必須です。ですが、上記の情報を管理するためのツールというのは、開発を開始した当初はほぼ市場になかったのが現状でした。

また、海外ではテスト管理ツールはあったものの、テスト表現の違いによりExcelのテストケースを直感的に管理できるものはありませんでした。第三者検証のプロ集団である弊社がExcel管理に時間と手間を取られる、そしてチームの状況確認やお客様への報告が遅れることがあってはなりません。

これがSHIFTがCATの開発に踏み切った理由です。

[テストケース・海外と日本の管理粒度の違い]

画像3


■現行バージョンの基礎に至るまで

上記のような背景のなかで誕生したCAT。開発を継続し、現行のバージョン(4系)に至るまでは、何回かアーキテクチャーを変更しています。その変遷を少しご紹介します。

Excelのマクロ機能でテスト実行管理を効率化するという点がCATの第一歩でした。そこから情報共有として優れているPerlでのWebアプリ化、表現方法やマルチテナントの実現・パフォーマンスの安定等を主眼に置いたJavaへの移行を経て、現在の4系のバージョンに至っています。

Webアプリ化した初期のバージョンは、CSV形式のテストケースの取り込み・実施結果登録・エビデンス格納・シンプルな課題登録機能・進捗情報の表示といったエッセンシャルな機能のみで構成していたため、現場側での導入時、Excelの方が取り回しがしやすいなど課題もあったと聞いています。

[当時のUI]

画像5


ですが、そのころの現場メンバーの協力・フィードバックと、ユーザーの声に答える開発チームの忍耐強さが、この頃のCATを育たと認識しています。この時期の基礎がなければ今のCATはありません。

■2015年・基礎機能搭載と外部販売開始前後

ここから現行のバージョン(4系)のCATの変遷をお話します。

Java版を弊社内部のプロジェクトでリリースし、弊社メンバー内での運用を行うとともに、お客様へも公開しました。その実運用のなかで、弊社ユーザーおよびお客様の声から必要な機能を洗い出し、カスタマイズ可能な課題管理機能・外部BTS(Redmine・JIRA)連携機能・テストケースの検索・グリッド表現(フィルタ・ソートが可能な表)などを搭載。Java版の基礎機能が固まってきました。

[今の基礎となる画面となったUI]

画像5


そのなかで、お客様からも「CATを購入できないか?」という声をいただくようになりました。弊社のテスト事業を拡大してくなかで、やはりExcel管理の問題は業種を問わず多くのシステム開発現場を悩ませていることがわかってきました。

そこで2015年6月、SaaS形式での単体販売を開始、一般のお客様にも弊社の実行管理ノウハウをツールとしてご利用いただけるようになりました。

余談ですが、私は2015年8月に入社しました。
前職・物流企業の基幹系システムの開発・保守に携わっていた際、「テスト工程の重要さ」「管理の煩雑さ」の両方を痛感しており、結果の登録・エビデンスの紐付け・進捗の自動共有するツールって無いのかな・・・と常々思っていました。

そしてSHIFTに転職後、入社しCATを知ったときは衝撃が走りました。

「あの頃思い描いていたテスト効率化するツールがここにある!これまで探しても見つからなかったのに!」

現場が思い描く便利なツールがここにある。これを実現する事はこれはなかなか難しいと考えています。なので余計に感動しました。それから今までCATというプロダクトに誇りをもって携わっています。

[OK・NGを1クリックで簡単に登録]

画像6


■2016年9月、ついにExcelファイルの直接取り込みを実現

この時点で、テスト結果登録とエビデンス格納・不具合報告、テストの進捗やサブシステム毎の不具合分析機能を備えており現場側、管理側の機能ともに基礎的な機能が揃っていました。

とはいえ、実運用をしていると「ファイル添付されているテストケースのみを検索したい」「不具合情報を一括で更新したい」「グラフの画像をダウンロードしたい」「環境毎の品質分析をしたい」と細かな要望もあり地道に改良を加えていきました。

[環境毎の品質分析]

画像7

[検索機能]

画像8

そのなかで1点、大きく不足していた機能がありました。テストケースの取り込み機能です。CATは開発当初からスプレッドシート形式でテストケース表現にこだわってきました。ユーザーが持っているExcelの資産を有効に活用するという点もCATの重視しているテーマですので、事前にテンプレートなどの設定の手間なしにExcelのファイルをCAT上にアップロードする機能はありました。ですが一度Excel形式からCSV形式に変換してからアップロードするという手順が必要でした。

これは開発当初、とにかく早くリリースしたいという背景もあり、開発コスト面で有利なため採用している仕組みです。しかし弊社の成長につれて、テスト仕様書が数十個以上あるプロジェクトを管理することも多くなりました。そうすると、どうしてもCSVへの変換をユーザーに強いるという課題が大きくなりました。

ここを2016年9月にリリースしたCAT4.13というバージョンで解決しました。今まで別画面であったテストの管理画面と実行画面を統合し、Excelファイルの取り込み機能をサポート。現在の「ドラッグアンドドロップで複数のテスト仕様書を数クリックで登録できる」という中核の機能が完成しました。

[Excel仕様書をドラッグアンドドロップで追加(製品紹介HPより)]

画像9

Excelの直接取り込み機能はCATの大きな一歩でありました。

とはいえまだまだ、必要な機能、要望は絶えることはありません。この後のバージョンで、また違うテーマを取扱い、機能として提供していくのですが、この話はまた次回の記事にて紹介します。


__________________________________

執筆者プロフィール:石井 優
倉庫事業企業のシステム部門にて、基幹システムの開発・保守・導入及び大規模基幹システム移行への参画を経験し、2015年SHIFTへ入社。
CAT開発チーム内でユーザーサポートとして、ユーザーと開発メンバーのブリッジを行いユーザーの課題分析や新機能提案などを日々実施している。

公式noteお問合せ画像

お問合せはお気軽に
https://service.shiftinc.jp/contact/

SHIFTについて(コーポレートサイト)
https://www.shiftinc.jp/

SHIFTのサービスについて(サービスサイト)
https://service.shiftinc.jp/

SHIFTの導入事例
https://service.shiftinc.jp/case/

お役立ち資料はこちら
https://service.shiftinc.jp/resources/

SHIFTの採用情報はこちら
https://recruit.shiftinc.jp/career/