DevOps

テスト工程の改善への取り組み

こんにちは。サービスコンピテンシー統括部のあおやまです。

私は普段は、プロジェクトの技術サポートや開発プロセスの改善活動に従事しています。
また技術研究所での自身の過去成果であるフレームワークの現場適用支援やメンテナンスなども行っています。

今回は、複雑化・短納期化していくシステム開発、恒常的な人手不足などの課題への対応として、自身も携わってきたテスト自動化への取り組みについてお話させていただきます。

テスト自動化への取り組み

技術研究所では、2015年度から研究テーマの1つに「開発技術」を挙げており、
作業の自動化や開発業務に適用可能な技術の研究を行ってきました。

その中でも「テスト自動化」は重要なテーマとして取り掛かってきました。
「テスト自動化」に着眼した理由は以下の通りです。

  • テストケースの作成・実施などではパターン化された作業が多くを占めるため自動化と相性が良い
  • 網羅的なテストケースの作成・実施は工数が大きくなるため自動化による工数削減の恩恵が大きい

「テスト自動化」と一言で申し上げてもJUnit/Seleniumなどの手段の自動化など多種多様な自動化手段がありますが、弊社では主にテストケース(テストモジュール含む)作成の自動化を行ってきました。

続きを読む


Linux-JenkinsからWindows Server-Tomcatにデプロイするのに悩んだ(でる)話

こんにちは。どらおです。

今回の記事はとある案件で、Linux上に構成されたJenkinsからWindows Server環境にデプロイを自動で行うのに悩んだ(でる)話です。

はじめに

巷では、CodeStarなどのクラウド系CIや、Jenkins以外のCIツールの発展などCIツールが目まぐるしく発達しています。

エンジニアとしては、最新のツールをプロジェクトで使ってみたいと思うのですが、SIerの仕事では最新のCIツールを導入することが正解とは限らない場合(導入できない場合)があります。

既存システム構成、既存プロセス、既存リポジトリ、既存CI環境などが構築されており、そういった制約の中でいかに継続的インテグレーションを効率よく回していくのかを考えなくてはいけません。

私は、すでに走り出している案件にアサインされ、ある程度環境が構築されている状態でリリースの自動化タスクを与えられました。こちらの記事はその際に悩んだ話になります。

続きを読む


どうしてもスタイリッシュにSeleniumテストしたかった

この記事は 『CRESCO Advent Calendar 2017』 12日目の記事です。

こんにちは。技術研究所の「310」です。
私は普段、自動テスト関連の活動をしています。主にSeleniumを使ったE2Eテストを手探りでやっています。
最初は動かすことや、安定性を高めることに必死でしたが、段々こなれてくると色んなことが気になってしまいます。
実はWebDriverによって方言があって、同じ内容のテストケースをブラウザ数分作ってみたり、テスト対象のブラウザ名をプロパティファイルに記述して実行して、また別のブラウザ名に書き換えて実行してみたり、定期的にWebDriverが更新されていないか人力クローリングしたり。(そこを自動化しないあたり)

それらも色々調べてみると、便利ツールが用意されていたりしたので、いっぺんに使ってしまおうと思いついた結果がこの記事です。
もっとスタイリッシュな方法があれば教えてください。

続きを読む


Jenkins2のPipelineの運用方法2つ試してみた

この記事は 『CRESCO Advent Calendar 2017』 9日目の記事です。

VPA関連を書こうと思ったけれど、他の人と被りまくりそうな気がするので回避。

「ねえGoogle、Jenkins2から登場したPipelineを試してみて」
「Alexa、Jenkins2から登場したJenkinsFileも試してみて」

ちなみにこの記事内容は、APIやPipelineの内容考えるところから含めて8時間くらい費やし、完成には至らず。
もっと時間を作れれば良かった。。。計画性のなさを反省。

続きを読む


Windows Application Driverでらくらく自動化

こんにちは、技術研究所の「むらたん」です。
この記事は 『CRESCO Advent Calendar 2017』 3日目の記事です。

ロボットを使って業務を自動化するRPA(Robotic Process Automation)が注目されています。
ロボットを使うメリットはあちこちで語られているので詳細は割愛しますが、自動化への期待はIT業界でも高く、苦行のようなテスト実施の自動化はプログラマの夢と希望であったりします。
Webブラウザをスクリプトで操作する「Selenium」というオープンソースのライブラリがあります。ブラウザの起動、指定されたURLの表示、入力値の設定、ボタンアクション、画面イメージの保存など、ブラウザで行う操作をプログラミングして実行できます。スクリプトで記述できることは何でも出来るので、Webシステムのテスト自動化のデファクトスタンダードになりつつあります。
この考え方を流用して、iOSやAndroidのアプリケーションを操作する「Appium」が登場しました。と、歴史を語りだすと止まらなくなるので、そろそろ本題です。

MicrosoftさんのGithub公式アカウントには「Windows Application Driver」が公開されており、Appiumで「Windowsアプリケーション」が操作できます。

!?
これ、Windowsパソコンを操作できるってことは、Webアプリだろうが、Excelだろうが、何でもスクリプトで操作できる最強ツールでではなかろうか。
でも、操作するためのスクリプトを書くのも辛いという方もいらっしゃると思うので、今回は実行環境の構築もプログラミングも簡単な「Python」で行います。
Selenium/Appium、Pythonを知らない方にも実践していただけるよう、細かく説明していきます。

続きを読む


PM学会で発表してきた話 ~2017年度秋季研究発表大会編~

8月31日と9月1日に開催されたプロジェクトマネジメント学会(PM学会)の全国大会である秋季大会で発表してきました。
このプロジェクトマネジメント学会には、クレスコは法人会員として2016年より参加していますが、前回の春季大会に続き2回連続での発表になります。

今回は、弊社社員4名による『アジャイル開発プロジェクトにおける新人の成長事例』の発表についてご紹介します。

今回の発表内容

発表内容は、アジャイル開発プロジェクトでの新人育成の事例紹介になります。

変化の激しいビジネス環境に適した開発手法としてアジャイル開発プロジェクトが注目されています。しかしアジャイル開発プロジェクトでは、その卓越性がある故に誰もが参加できるというものではありません。今回の事例は、高度なスキルが前提であるアジャイル開発プロジェクトに参加した入社一年目の新人が職場経験まったくのゼロの状態から、どのようなチームの支えがあって、いかにスキル習得としたかを詳細に確認しています。

続きを読む


たまには研究の話を①

こんにちは。技研の「110」です。

これまでの投稿はcanvaの話や、資格勉強の話イベント報告、はたまたゲームの話など、ライトな話が多かったのですが、たまには自分の普段の研究についてお話ししたいと思います。

私の研究の話を紹介するのは実は初めてではなく、以前にPM学会に論文を出して発表したことを記事にしています。

今回は昨年度の研究の課題と今期の取り組みについてご紹介したいと思います。

1.昨年度のおさらい

昨年度は、弊社のプロジェクト管理ツールを利用し、設計工程のレビュー記録を収集しメトリクスを表示する仕組みを構築しました。

 

 

続きを読む


【テスト自動化#2】「テスト設計の自動化を支える技術」

はじめに

こんにちは、技研の「むらたん」です。

前回の投稿でテスト自動化に先駆けて、テストについて簡単に触れました。

「テスト自動化」と聞くと、人が手で行っている作業が自動化され、楽になり、品質も上がって幸せになれるような感覚を抱きがちですが、それは紛うことなき幻想であります。この手の話は各方面で語りつくされており、内容に目を通してみると、現時点では「こうすれば良い」という模範解答は無いということが見えてきます。
そして、しばらくはこの状態が続くことと思われます。

それが故に、
「我が社のテスト自動化事例」という形で各社の取り組みが紹介されたり、有償・無償を問わず、多様なテスト自動化ソフトが開発・販売されているのだと思います。

続きを読む