こんにちは!品質保証部の中園です。
私が所属するテストエンジニアリング(以下、TE)チームでは、年に数回、社内メンバー向けにTEの活動報告や取り組みを紹介する「TE Cafe」を開催しています。
TEについてはこちらの記事をご覧ください。 blog.cybozu.io
2018年最初のTE Cafeは東京オフィスで開催され、ベトナム・上海・松山拠点に中継、さらに海外拠点では同時通訳をしながら開催しました!
今回は、TE Cafeでの発表内容をいくつかご紹介します。
2017年の振り返りと2018年の目標
TEチームは「枠組みを超えて品質/生産性の向上に貢献する」をミッションとして活動しています。
2016年は、各プロダクトにヒアリングをし、抱えている問題点を洗い出しました。
2017年は、問題を解決するためのツールの開発、導入支援を行いました。
テストを自動化するフレームワークやツールの開発は進んだものの、導入できたプロダクトはごく一部に留まりました。
反省点として、これらのツールや、自動化の導入事例を社内にアウトプットする機会が少なく、社内でのTEの活動の認知度がまだまだ低いということが挙げられます。
そこで、2018年は2017年に引き続き、「アウトプットを増やす」という目標を掲げます。
TEの活動を積極的に発信することで、TEが開発したツールをプロダクトで使ってもらい、品質や生産性向上の助けとなることを目指します。
また、社内に留まらず、このCybozu Inside Out のブログ等で、社外への情報発信も積極的に行うことにしました。
自動テスト共通基盤について
TEでは、自動テスト共通基盤(Test Common Base、以下TCB)という、サイボウズ製品に合った自動テストのフレームワーク・ツールを開発しています。
TCBを使うことで、プロダクト毎に異なる手法で行われているテスト自動化を共通化して、導入/教育コストの削減や、ナレッジの横展開ができることを目標としています。
TCBには様々な種類のツールがあり、これらについて紹介しました。
以下に書いているものはその一部です。
eslint-config-tcb: サイボウズのESLint共通ルールを自動テストのテストコードに適用できるツール。
tcb-cli: TCBを使ったテストのサンプルファイルとフォルダを作成できるコマンドラインツール。
tcb-api-rest: REST APIをテストする時に利用するツール。APIの実行から、結果の判定までできる。
tcb-hook: 自動テストの結果をkintoneのアプリやスレッドに投稿することができるツール。テストが失敗した時のスクリーンショットを投稿することも可能。
tcb-lerning: TCBを使った自動テストのコーディング方法を学習することができるツール。
スクラム開発に対応した継続的性能検証(Garoon編)
最近、サイボウズでは多くのプロダクトがスクラム開発を採用し始めました。Garoonチームもその一つです。
スクラム開発では、2~3週間のサイクルで、出荷可能な製品の機能を作る必要があります。出荷可能な機能とそのテストだけでなく、性能要件も重要となってきます。
今までは、複数スプリント経過後~リリース前に性能検証を実施していました。
原因の特定に時間を要するような性能劣化が発見された場合、リリース遅延のリスクがありました。
そこで、日々性能検証を実行できるように、継続的な性能検証の自動化に取り組みました。
テスト環境の構築、テストデータの挿入、テストの実行はJenkinsとScaleBenchを使い、テスト結果の確認はGrafanaを使っています。
今後はGaroonだけでなく、他のプロダクトへの普及も視野に入れています。
さいごに
上記に書いたことは、2017年のTEの活動のごく一部となります。
ベトナムTE、上海TEと良いチームワークを発揮し、少しずつですがサイボウズにテスト自動化の文化を浸透させています。
今年は、昨年の活動の実績を糧に、社内外へのアウトプットを積極的に行い、プロダクトの品質向上/生産性向上という使命を果たしていきたいと思います。
We are hiring!
TEでは一緒に働いてくれる仲間を大募集中です!