2022年12月21日

Katalonでテスト自動化

目次

Contents

再春館システムベトナムの水谷です。

再春館システムベトナムはオフショア開発先として、これまで様々なアプリ開発を行ってきました。
しかし、海外で開発するにあたり、気になるのはやはり品質面ではないでしょうか?
この点に関して、多くのオフショア開発会社ではプログラマーとは別に、専門のソフトウェアテスターを雇用していることと思います。
再春館システムベトナムでもテスターの雇用を行っていますが、とりわけ、日本語の仕様書や日本の品質基準を理解できるテスターを中心に採用することで、少しでも言語や文化、ニュアンスによる品質劣化を防ぐよう心がけています。

ベトナムにおけるテスター状況

ひと昔前まではベトナムもまだまだIT発展途上の段階で、開発技術先行という考えが大きかったこともあり、プログラマーなどに比べるとテスター人口はそれほど多くありませんでした。
給与面に関しても、開発者に比べると低い風潮にあり、その点も上記における一つの要因だったと考えられます。
ただ、近年のベトナム国内における国策によるITの盛り上がりとともに、品質面に対する認識はより一層高まっており、それに伴うソフトウェア開発におけるテスター需要も高まりを見せています。
現在では国内・国外企業に関わらず、多くの企業でテスターの募集が盛んに行われているのが現状です。
給与面においても、開発者とそれほど遜色ないレベルまで引き上がっており、テスター資格(ISTQBなど)や多言語の習得有無によっては、開発者より高い給与となっている場合も往々にしてあります。

また、ベトナム国内の大手航空会社であるVietJetの会長が東南アジア初の女性ビリオネアであることもあり、ベトナムにおける女性のキャリアアップに対する意識は非常に強いです。IT系職業の給与がベトナム国内の他業種より高めに設定されやすく、テスターが女性のキャリアアップ先の1つとして選択されることも多いようです。
個人的な主観ですが、ベトナム人女性は実直で忍耐強い人が多く、タスクに真摯に取り組んでくれる傾向が強いため、テスターという職業に向いているように感じています。

給与データの参考例として、下記のようなものもあります。

給与平均:
Developer 平均給与 13.900.000 VND
※参照:
https://vietnamsalary.careerbuilder.vn/detail/Developer-kw-en

Tester 平均給与 13.800.000 VND
※参照:
https://vietnamsalary.careerbuilder.vn/detail/Tester-kw-en

ただ、いくらテスターとはいえ人が行う作業である以上、ミスや漏れが発生するのは世の常です。
この点に関する一つの取り組みとして、再春館システムでは「Katalon Studio」というソフトウェアを用いたテスト自動化運用に取り組んでいます。

テスト自動化ツール「Katalon」

KatalonはKatalon, inc.によって開発されたテスト自動化実装のためのIDE(統合開発環境)であり、テストケースに伴う操作をコーディング(またはレコーディング)し、Google Chromeなどのブラウザと連携することによって、Webアプリケーションのテストを自動的に行うことが可能となります。
Eclipseをベースに開発されたIDEであることから、Java由来のGroovyという言語で実装し、設定ファイルやDB連携も行えます。そのため、ログインアカウントなどの動的に値を変更する必要があるパターンテストの実施も行えるのです。
また、スクリーンショットの撮影・保存も可能で、テストの過程や結果のエビデンス取得も容易なことが特徴の1つです。

テスト自動化 = 機械的なテストという性質上、繰り返しが多く発生するテストを得意としており、利用シチュエーションとしては下記の様なケースが最適です。

・パッケージ横展開時における共通部分への影響テスト
・保守等における改修箇所以外への回帰テスト

最初こそテストケースの作成やコーディングにより開発コストがかかりますが、上記を人の手で行う場合と比較すると、人的ミスの発生や人件費の面から、長い目線で見た際のコスト削減に繋がります。
使い分けとしては、ユニークなテストケースは人が行い、共通的・繰り返しのテストはKatalon等のテスト自動化ツールを用いてテストを実施することが理想的な利用方法になるかと思います。

ただし、Katalonはあくまでテストケースの操作フローをプログラミングするツールであり、スケジュールなどのトリガーによって自動で定期実施するためには別のツールの助けが必要となります。
再春館システムでは、「Jenkins」というソフトウェアを用いることで、それを実現しています。

※補足情報として、Google Chromeの拡張機能に「Katalon Recorder」というものも準備されており、こちらを利用することでKatalon Studioを使用することなく、簡易な自動テストを実施することも可能です。

Katalon × Jenkins

Jenkinsは開発作業の自動化を目的としたソフトウェアであり、CI/CD(継続的インテグレーション/継続的デリバリー)の実現に利用されます。
Jenkinsにはスケジューラなどに代表される様々なトリガーが設定可能で、拡張機能としてKatalonとの連携も用意されているため、これらを用いることで、自動的にJenkinsからKatalonで作成されたテストケースプログラムの実行=テストの自動化が可能になります。

実際の運用例として、再春館システムでは上記仕組みを用いることで、作業者がいない夜間に内製したECサイトの回帰テストを行う取り組みを実施しています。
この取り組みによる実施結果として、回帰テストにおける工数が60〜70%の削減につながりました。

また、Jenkinsではスケジューラ以外にも様々なトリガーを設定することが可能なことから、例えば、バージョン管理システムであるGitと連携することで、プログラムソースが更新されたタイミングで自動的にビルド→テストを開始させるといったことも可能となります。

まとめ

今回は、ベトナムにおけるテスター事情を皮切りに、KatalonとJenkinsの連携によるテスト自動化運用を紹介させていただきました。
開発において切っても切り離せないテスト工程を自動的・機械的に行うことは、コスト削減ならびに人的ミスをなくすことにつながるかと思います。
もしテスト自動化の実現にご興味ありましたら、ぜひ、再春館システム・再春館システムベトナムにご相談いただければと思います。

記事 : T.M

再春館システムのオフショア開発サービスはこちら