自動化どうでしょう

アジャイルにまつわるエトセトラ #2

あらかー
WingArc1st Inc.
10 min readOct 10, 2019

--

入国審査も自動化の時代@成田空港 photo by K12A

Agile Testing とテストの自動化は切っても切り離せません。

ウイングアークのQA部門でも積極的にテスト自動化を導入していますが、その中でもウイングアーク札幌オフィスは、開発とQAが双方で協力しながらいい感じにテスト自動化を導入しています。

東京オフィスでも同様の取組みを推し進めるべく、今回私は札幌オフィスへ「自動化武者修行」に行ってきました。

修行中は札幌のQAエンジニアから手厚いフォローをいただきながら、実際に下記のような構成のテスティングフレームワークを構築しました。

①を実行すれば⑥まで自動で実行されます

今回はこのフレームワークの構築手順を記しておきます。

目次

① Eclipse で Maven プロジェクトを作成する
② JUnit を試実行する
③ Jenkins で試実行する
④ BitBucket と Jenkins の連携を設定する
⑤ コード Push → テスト結果出力を確認する

事前準備、前提条件および環境情報

・Eclipse( Eclipse IDE for Java Developers Version: 2019–06 (4.12.0))
・Java( openjdk version “11.0.2” )
・Maven のインストール( Apache Maven 3.6.1 )
・Git のリポジトリ(今回は BitBucket を使用)の準備
・Jenkins のインストール

① Eclipse で Maven プロジェクトを作成する

ウィザード( File -> New -> Project )で Maven Project を選択して「Next」を押下します。

デフォルトの状態でウィザードを進めていき、Group ID (パッケージ名)、Artifact ID (プロジェクト名)を入力後に「Finish」を押下します。

Maven のプロジェクトが作成されました。

② JUnit を試実行する

「 archetype-quickstart 」のカタログが適用されているはずなので、src/test/java の com.example.maven_test パッケージ下に AppTest.java が存在しているはずです。

AppTest.java を JUnit 実行すると、テスト実行後(サンプルなので実際にはテストしてないけど)にグリーンコードが表示されます。

これでローカル環境に Maven プロジェクトを作成して JUnit が実行できる環境が整いました。あとはテスト対象のコードとテストコードをそれぞれ src/main/java とsrc/test/java に配置していけば基本的なテストが実行できます。

次の手順のために、pom.xml を更新します。

③ Jenkins で試実行する

②で作成したローカルに存在するプロジェクトを準備していた Git のリポジトリに Push して、Jenkins の設定を行います。

まずは Jenkins が使用する JAVA と Maven の設定を行います。

Jenkins の管理から「Global Tool Configuration」を選択して、JDK と Maven の箇所を設定して保存します。(名前やパスなどは適宜任意のものに読み替えてください)

次に、新しいビルドの作成からフリースタイルのビルドを選択して「OK」を押下します。

Git の情報を入力します。

ビルドに使用する Maven の情報を入力します。

プロジェクトトップ画面で「ビルド実行」を押下すると、対象の Git リポジトリからプロジェクトを持ってきて、pom.xml に書かれた情報を基にMaven ビルドが始まります。

ビルドと同時に JUnit テストが走り、コンソールに結果が出力されました。(Skip の2件は無視してください。そういう設定をしています。)

これで、Git のテストコードを Jenkins にて ”手動で”実行できる環境が構築できました。
次は、Git に 最新のテストコードが Push されたタイミングで、Jenkins が ”自動で”テストを実行するようにします。

④ BitBucket と Jenkins の連携を設定する

Git リポジトリのウェブフックの設定で、対象の Jenkins の情報を設定します。その際、Push をトリガーとして通知を飛ばすようにします。
(キャプチャは BitBucket の例)

最後にテストの実行結果が Jenkins で出力されるように設定情報をビルド設定に追加して保存します。

⑤ コード Push → テスト結果出力を確認する

ローカルPCでソースコードを編集して、Git に Commit>Push します。

おめでとうございます!ビルドが走り始めました。
ビルド終了後にテスト結果も出力されています。

今後は開発と相談しながら Git やビルドツールの変更( AWS の CodeCommit・CodeBuild etc.)なども検討していますので、またこのブログで紹介できる機会があればと思っています。

それではまた!

色んな要素が合わさって人々を虜にするスープカレー。私もそんなエンジニアになりたい。 photo by K12A

--

--

あらかー
WingArc1st Inc.

ウイングアーク1stでプロセス改善とソフトウェアテストの自動化に取り組んでます / Certified ScrumMaster® /Certified ScrumDeveloper®/Certified Scrum Product Owner® / JBA公認E級審判