株式会社Codeer | 大阪
ソフトウェア開発・テスト自動化




株式会社エクス様では
主力製品の電脳工場の品質向上のため
テスト自動化を導入中です。 電脳工場の詳細はこちら




エクス様では自動テストのトライアルの導入とトレーニングをご利用いただきました。トレーニングは沖縄営業所で実施いたしました。



// インタビュー

左上から受講者の、赤嶺康一朗様、島袋宗龍様、新垣未来様、新里理奈様、新垣公平様。(以下敬称略) 女性社員のお二人は現在小さなお子様がいらっしゃり時短勤務中。 インタビュー前に帰宅されました。 働きやすくて良い会社ですね。

石川: トレーニングお疲れ様でした。


受講者一同: 疲れました。(笑)


石川: Friendlyを使ったプログラムは、マルチプロセスプログラムという他にないジャンルのもので、頭の使い方が普段のプログラムとは違ってとても疲れたと思います。(笑) お疲れのところ申し訳ありませんがインタビューをさせてください。 まずは電脳工場とはどのようなソフトウェアですか?


赤嶺: 電脳工場は中堅・中小製造業向けの生産管理システムで多くの業種に対応可能となっていて、経営を強力に支援します。 販売開始から20年と非常に歴史の長いアプリケーションです。


石川: 20年!?そんなに長期で使い続けてもらえるソフトウェアってすごいですね!


赤嶺: ありがとうございます。 非常に多機能でお客様にご満足いただいているのですが、反面多機能すぎてバージョンアップ時のテストに膨大な工数が発生するようになってきました。


石川: あー、わかります。継続的開発のパッケージアプリケーションの宿命ですよね。


赤嶺: 人間が実施する方法だと工数が大きすぎて取捨選択しながらテストしていくしかないのですが、それでも相当なボリュームです。時間もかかるので開発期間も伸びてしまいます。 なによりテストが足りなくて問題が出るとお客様の業務に影響が出てしまうので何とか改善をということで、今回テスト自動化導入の運びとなったわけです。


石川: 素晴らしいですね。継続的開発での回帰検査には自動テストが最適です。 それで最初に効果が出そうかトライアルを試していただきました。対象プロダクトの概要を聞いて数ケースだけ弊社で自動テストを実装してみました。 いかがでしたか?


赤嶺: 思ってた以上に高速に確実に動作しているので驚きました。正直に言いますと、トライアルを見るまで自動テストは上手くいかないんじゃないかと疑っていました(笑)。


新垣: 実際に自分たちのプロダクトが自動でテストされているのを目の当たりにして、テストを自動化したら開発プロセスがどんなに良くなるのか凄くイメージがわきました。完成系を思い描いてワクワクしましたね。


島袋: 後座標とか全然コードに出てきてないのが良かったですね。あれがあるとメンテが大変なので。


石川: ありがとうございます。 Friendlyは内部APIを直接扱うことができるので非常に安定した挙動になります。 キーマウスエミュレートを行う場合でも内部APIを併用しているので非常に安定したエミュレートを行うことができるのが特徴です。


赤嶺: 実は過去に別の会社に勤めていた時、キャプチャリプレイツールを使ってテスト自動化を試みたことがあったのですが、上手くいかなかったのでトラウマになっていたのですよね。 そのツールではプロダクトに何か変更がある毎にテストを作り直す必要がありました。一応そういう時に備えて処理はそのツール独自の言語で書くことができたのですが一般的な言語でないので非常に使いづらかったのです。 でも、トライアルでいただいたテストシナリオはVB.netで書かれており理解しやすく簡単に書き換えれるようになっていました。(※Codeerではトライアルは普段はC#ですが特注でVB.netで実装しました) またGUIコントロールの特定もフィールド名になっていてプロダクトの変更に非常に強いものになっていると思いました。


石川: ありがとうございます。トライアルでご提案したコードではドライバ層とシナリオ層が分かれているので、画面に関する変更があってもテストへの影響箇所は局所化されますし、 Friendlyではオブジェクトの特定を内部APIで行っているので作り直す自体回数も少なくなります。それからテスト自動化はそれを表現する言語も重要なポイントになりますよね。 Friendlyで作る場合は.NET系の言語で書くので操作以外のテストにかかわる処理(例えばDBにアクセスしたりなど)も簡単に書くことができます。
それで、昨日今日と受講していただいたFriendlyのトレーニングはいかがでしたか?


島袋: 思っていたより難しかったです。そして思っていたより遥かに強力でした。 トライアルのコードをもらっていたので独学で読んではいたのですが、まさかこんなになんでもできるとは!受講中に何度も予想を裏切られました。


赤嶺: そうそう。内部APIを使えると聞いていましたが、せいぜい状態を見ることができるくらいかなーと思ってましたが、まさかメソッド呼んだりプロパティを変えることまでできるとは!ていうかハッキングじゃないですか(笑)


石川: そうなんです(笑) でもテスト自動化ってこの無敵感が大事なんですよね。 人間の認識/操作能力はやはり優秀で、それをプログラムに置き換えるにはこれくらい強力でないと本来難しいのです。


赤嶺: 確かに技術的にはテストを作りきれる自信がつきました!


新垣: それから、二日目の昼にはFriendlyの基本的な部分が終わって実際に電脳工場を動かしながらテストを書いていきましたが、これが非常に楽しかったですね。今まで手でやっていた操作がコードで簡単に書けるし何度も実行できる。 折角楽しくなってきたところでトレーニング終了になったので「あー、もっとテストコードを書きたい!」って思いました。(笑)


石川: すみません。(笑)でもここまでくれば後は皆様だけで自動テストを構築していけると思います。


島袋: 後はテスト設計ですよね。どれくらいパラメータを振るべきなのかとか。


赤嶺: そうそう、まだまだやるべきことは残ってるよね。ここからがスタートって感じ。


石川: 弊社も今後ともご協力させていただきます。 ありがとうございました!