テスト自動化は一般的には難易度の高いプラクティスです。 しかし弊社の長年積み上げたノウハウがあれば、導入、運用時の無駄を省き低コストで高品質な自動テストを導入できます。 CodeerはWebアプリではSelenium、そしてWindowsアプリでは弊社開発のFriendlyを使ってテストを自動化させていただきます。 組み込み機器でも対応するWindowsアプリがあれば、それをFriendlyで操作してテストを自動化させていただいております。 お気軽にお問い合わせください。各現場に最適なプランをご提案、お見積りさせていただきます。
テストのコストは膨大です。リリース前のテストはもちろん、実は実装中にも開発者は細かく何度も確認しています。これは数値に現れにくく、実装コストの中に埋もれています。また手動では繰り返すことができないので、確認後にコード修正が入った場合にテストの漏れが発生しがちでリスクが高くなります。 また、リリース時にはテスト工数を積み上げることでリスクを低減できますが、コストや負荷が集中します。さらに緊急リリース時には想定外のコストが発生し、場合によってはリスク込みでリリースせざるを得なくなる場合もあります。
自動化により、これらのコストやリスクを低減することが可能です。テストは資産となり蓄積されるので繰り返し実行可能となります。負荷分散にもつながります。また現状の品質を正確に把握することが可能となり、リスクに対応することが可能となるです。
テスト自動化でリスクを削減しているからこそ攻めることが可能です。リリース速度を向上させ、ユーザー満足度を向上させることができます。思い切ったリファクタリングが可能となり、改善の結果ますます開発速度が向上します。
システムテストを自動化するにはアプリを外部からプログラムで操作する必要があります。 これができるかどうかがテスト自動化の成否を分けるといっても過言ではないでしょう。 CodeerではOSSのライブラリを使います。WebアプリならSelenium,WindowsアプリならFriendlyです。 特に弊社開発のFriendlyはWindowsアプリに対して強力な操作能力を有しています。もちろん開発元ですのでその機能を余すことなく使い自動化を成功に導きます。
Friendlyは結合テスト作成用のライブラリです。 現在の対象はWindowsアプリケーション(ネイティブ、.NetのForm、WPFアプリケーション)です。 プロダクトプロセスを起動してテストプロセスから操作します。 しかし、その操作方法は従来のGUI自動テスト(キャプチャリプレイツール等)とは異なります。 もちろんキーマウスのエミュレートもできますが、それに加え対象プロセスの内部のメソッドを外部から呼び出すことができるのです。 この機能により従来の手法では自動実行が難しかったテスト項目、オペレーションも自動化することが可能になります。 Friendlyはすでに様々な現場で利用されています。通常のWindowsアプリのテストはもちろん、Windowsアプリから操作可能な組み込みアプリのテストにも利用されています。
SeleniumはもはやWebアプリ自動操作ではデファクトスタンダードになっています。弊社メンバーは特にC#を得意としていますのでAsp.Netで作ったプロジェクトではプロダクトと同じ言語でテストが実装できるので特に喜ばれています。SeleniumもFriendlyのようにブラウザで動作するJavaScriptの呼び出しもできるので細やかな制御が可能になっています。
自動テストの設計は通常のテスト設計と少し異なります。 自動で実行できるので手動の場合に比べてパラメータも多めに振ることができます。 また成否をプログラムが判断するのでそれに応じた期待値判定を考える必要があります。 弊社は衛星通信の品質を保証できるほどのテスト設計のスペシャリストがいます。 テスト設計にお悩みのお客様は是非ともご相談ください。
もちろんテスト設計だけでなく、テスト自動化プログラムの設計も必要です。 テスト自動化プログラムはアプリを外部から操作するという非常に技術的な面とテスト内容を分かりやすく記述するという二つ面があります。 テスト自動化を成功させるにはこれを綺麗に分離しなければなりません。設計と実装はCodeerの最も得意とするものです。
トライアル
テスト自動化が上手くいくかは、対象のプロダクトの性質にも大きく依存します。まずは、テストの一部だけを自動化して、効果をご確認ください。お客様自身のプロダクトが自動でテストされている様子を実際に見ることで、より具体的にテスト自動化の計画をイメージしていただけます。
トレーニング
テスト自動化を成功させるためにはお客様の力も必要です。開発者、テストエンジニアの方々ならFriendlyはコツをつかめばすぐに使いこなせます。経験豊富なコンサルタントがハンズオン形式でトレーニングいたします。またトレーニングの後半では実際に対象のプロダクトのテストを自動化する実践的なメニューも用意しています。
設計
自動テストにはそれにあった設計が必要になってきます。弊社では非常に高いテスト設計技術を持ったメンバーをそろえております。
開発
トレーニングを受ければお客様自身で自動化できるのですが、より早く自動化したい場合や、最初にサンプルとなるコードが欲しい場合はご依頼ください。
サポート
弊社の提案する自動テストは運用時のトラブルを少なくする設計になっています。従来のキャプチャリプレイを使ったテスト自動化は運用が一番のボトルネックになることが多いからです。とは言え、0にすることはできません。運用時に解決の難しい問題が発生した場合は現場に伺ってトラブルを解決いたします。また、メールサポートも受け付けております。