システムテスト自動化カンファレンス2019 (前半) 後でいっぱい書き換える予定
概要
7回目のシステムテストの自動化に特化したカンファレンス
私の確認する 講演会場2 テーブル
AIを活用した交通事故削減サービスのテスト自動化(仮) / 鈴木翔太さん、馬 立東さん
AI をちゃんと理解できてなくて難しかった。
なんとなくやっていることはわかる気がするのだが、いずれのことについてもそれが「なぜ」必要になるのかがわからなかった。
EM×QA視点で進めるテスト自動化への取り組み / 斉藤健太さん
ウエディングパークでEM(エンジニアリングマネージャー)とQAチームの責任者をしております。 両役割の視点から、QAで考えるテスト計画や設計をもとに、エンジニアリングでテスト自動化を進めていく取り組みを始めました。 弊社ではテスト自動化が、ほぼ標準化されておらずゼロからの取り組みとなり、そこに向けてどういうアプローチで進めていってるか、どういう全体構成や技術で基盤作りをしようとしているかなど、具体的な事例を交えてお話します! QAチーム自体も、私が約1年半前に完全内製化で立ち上げたチームですので、これからテスト自動化を進めていこうと思っている皆さんの参考になればと思います!
▼キーワード
思ったよりわかりやすかった。自動テスト関係なく大事なことも話してた。
Serverless automation UI testing by using AWS Fargate / 引持力哉さん
弊社LIFULLではサービスの回帰テストを目的として自動システムテストを利用しています。 リリース前に約800ケースの自動システムテストを定期的に行っています。 先日、テスト実行環境をEC2インスタンスからAWS Fargateへ移行しました。 これにより、効率的なテスト実行環境を作り上げることができました。 具体的には以下のものです
サーバコストの効率化
課金発生がテスト実行時のみになったため。 テスト実行時間の短縮
実行環境のスケールアップによる実行時間の短縮 実行の並列化による実行時間の短縮 AWS Fargateでのテスト実行環境アーキテクチャと、構築時に得た知見等をお話できたら良いと思っております。
コスト削減(性能的な部分の)に成功した話。
めんどくさいことが、タスク定義を書くだけで解決できるようになった。
問題解決の時に、ツールのオプションに頼りすぎず、ChromeDriver で解決したところとても好感度高い。
休憩中に tweet まとめ
講演会場2 に入った~。#stac2019
— つみき @ 12/22ボドゲ予定。預かり中 2 (@mktk0808) 2019年11月30日
サポート不足の具体的な内容は何でしょうか?
— つみき @ 12/22ボドゲ予定。預かり中 2 (@mktk0808) 2019年11月30日
30-35% が問題を抱えている。
品質不足の具体的な内容
自動テストが不安定が多かった 2018年。今年は減ってきた。実行に時間がかかりすぎるとかのほうが増えてきた。 #stac2019
アンケート結果を今年は公開したい。 #stac2019
— つみき @ 12/22ボドゲ予定。預かり中 2 (@mktk0808) 2019年11月30日
頑張れー
テスト自動化スキル標準 AutomationTest.SSF ver1.0 を公開しました! #stac2019
— つみき @ 12/22ボドゲ予定。預かり中 2 (@mktk0808) 2019年11月30日
AIを駆使したやつ! #stac2019
— つみき @ 12/22ボドゲ予定。預かり中 2 (@mktk0808) 2019年11月30日
AL/ML システムについてのテストって何するの?
— つみき @ 12/22ボドゲ予定。預かり中 2 (@mktk0808) 2019年11月30日
ミッションクリティカル領域での AI/ML 活用
何をもって品質を保証できたといえるのかがわからない。 #stac2019
ソフトウェア開発との違い
— つみき @ 12/22ボドゲ予定。預かり中 2 (@mktk0808) 2019年11月30日
機械学習
・入力データに対して「確率的」に振る舞いが決まる
・仕様を網羅できず、部分集合に対するテストしかできない #stac2019
エラーかどうかの検出が難しい。 #stac2019
— つみき @ 12/22ボドゲ予定。預かり中 2 (@mktk0808) 2019年11月30日
仕様を網羅できず、部分集合に対するテストしかできないのってなんで?
— つみき @ 12/22ボドゲ予定。預かり中 2 (@mktk0808) 2019年11月30日
CACE性
— つみき @ 12/22ボドゲ予定。預かり中 2 (@mktk0808) 2019年11月30日
・少しでも変更すると全体に影響が及ぶ性質
・学習や変更が行われるたびに品質を保証する必要がある
・コンポーネント全体に対してすべての条件で高品質なテストが必要なので自動化必須#stac2019
MLOps
— つみき @ 12/22ボドゲ予定。預かり中 2 (@mktk0808) 2019年11月30日
DevOps のML 版。 #stac2019
AIプロダクトの品質保証ガイドライン #stac2019https://t.co/rs09mRtWfK
— つみき @ 12/22ボドゲ予定。預かり中 2 (@mktk0808) 2019年11月30日
これかな
手探り感がいっぱいで、これといった方法論もない。できる範囲のことをやっていくしかない。 #stac2019
— つみき @ 12/22ボドゲ予定。預かり中 2 (@mktk0808) 2019年11月30日
からの、DRIVE CHART でやってること。
— つみき @ 12/22ボドゲ予定。預かり中 2 (@mktk0808) 2019年11月30日
・モデル部分以外は普通のソフトウェア開発手法を行う。CI/UT/CT
#stac2019
テスト条件の洗い出しをしてみた。 #stac2019
— つみき @ 12/22ボドゲ予定。預かり中 2 (@mktk0808) 2019年11月30日
いろいろ羅列されてるけど、これってどこかにため込んでるのかな?
— つみき @ 12/22ボドゲ予定。預かり中 2 (@mktk0808) 2019年11月30日
特に注意してテストを考えたいのは、エッジケース
— つみき @ 12/22ボドゲ予定。預かり中 2 (@mktk0808) 2019年11月30日
通常観測できる事象は豊富にデータがあるし、カバーできているはず。
エッジケースは意識して集めないとデータそのものがないことが多い。
とはいえ現実世界のすべての事象をカバーするのは無理。 #stac2019
間違って正しいと言ってしまうパターンと、見逃しの影響を考える。
— つみき @ 12/22ボドゲ予定。預かり中 2 (@mktk0808) 2019年11月30日
過剰品質にならないよう、関係者間で合意を取る #stac2019
これ大事。自動化関係なくあらゆる仕事で大事。マジで。じゃないと疲弊するしコストもかかるし。
AWS で 大量のデータを処理できる環境を用意。 #stac2019
— つみき @ 12/22ボドゲ予定。預かり中 2 (@mktk0808) 2019年11月30日
— つみき @ 12/22ボドゲ予定。預かり中 2 (@mktk0808) 2019年11月30日
モニタリング
— つみき @ 12/22ボドゲ予定。預かり中 2 (@mktk0808) 2019年11月30日
エラーログやステータスコードに加えて、事業KPI や中間指標をモニタリング。
でプロ時の変化、外部要因によるモデルの劣化をモニタリングしている。 #stac2019
まとめ。
— つみき @ 12/22ボドゲ予定。預かり中 2 (@mktk0808) 2019年11月30日
AI/ML はシステム開発が異なっていて、方法論もない。リスクなどは関係者間で合意を取っておく必要がある。なるべく自動化していきたい。 #stac2019
質問
— つみき @ 12/22ボドゲ予定。預かり中 2 (@mktk0808) 2019年11月30日
このシステムのシステムテストは?
回答
AI と Webで分離してテストをしている
#stac2019
雑すぎたかな…
— つみき @ 12/22ボドゲ予定。預かり中 2 (@mktk0808) 2019年11月30日
結合テストをしていきたい。
— つみき @ 12/22ボドゲ予定。預かり中 2 (@mktk0808) 2019年11月30日
EM×QA視点で進めるテスト自動化への取り組み / 斉藤健太さん
— つみき @ 12/22ボドゲ予定。預かり中 2 (@mktk0808) 2019年11月30日
#stac2019
対象ドメイン:Wedding Park:式場探しのクチコミサイト。
— つみき @ 12/22ボドゲ予定。預かり中 2 (@mktk0808) 2019年11月30日
EM とQA の役割について。
#stac2019
テスト自動化の導入は、ビジネスリスクを軸に! #stac2019
— つみき @ 12/22ボドゲ予定。預かり中 2 (@mktk0808) 2019年11月30日
この会社の EM と QA。
— つみき @ 12/22ボドゲ予定。預かり中 2 (@mktk0808) 2019年11月30日
EM は開発チームのマネージャー。
QA は組織を横断で見ている。 #stac2019
EM:いわゆるマネージャーとか、技術導入検討とか。
— つみき @ 12/22ボドゲ予定。預かり中 2 (@mktk0808) 2019年11月30日
QA:テスト計画/設計サポート。実際にやるのはエンジニア。レビューもやる。
テスト自動化導入推進。 #stac2019
自動化を推進するにあたって、QA として推進もするし、推進する上での技術導入検討はEM がやる。どういうツールを使うかとか、言語はどうするかとか? #stac2019
— つみき @ 12/22ボドゲ予定。預かり中 2 (@mktk0808) 2019年11月30日
技術面:利用技術、カバレッジ率、メトリクス測定。
— つみき @ 12/22ボドゲ予定。預かり中 2 (@mktk0808) 2019年11月30日
何の数値を取っていったら品質向上につながるか。
運用面:開発フロー、運用メンテナンス、育成。 #stac2019
意外とこの運用メンテナンスって見えない部分。
QAとして考えたこと。
— つみき @ 12/22ボドゲ予定。預かり中 2 (@mktk0808) 2019年11月30日
QCD:品質上げて、コストは変えず、納期は早めたい。
ビジネス的な重要機能に絞る。テスト観点をベースとする。 #stac2019
QAが要件をしっかり作る。経営とも話をして決める。
— つみき @ 12/22ボドゲ予定。預かり中 2 (@mktk0808) 2019年11月30日
#stac2019
テスト自動化は何を担保すべきかをメインにフォーカスする #stac2019
— つみき @ 12/22ボドゲ予定。預かり中 2 (@mktk0808) 2019年11月30日
ビジネスリスクを軸に!!!!!!!
あれいいなーこれいいなーじゃなくて、きちんと軸がぶれないように考えるのって大事だなー。(小並感) #stac2019
— つみき @ 12/22ボドゲ予定。預かり中 2 (@mktk0808) 2019年11月30日
自動システムフレームワークについて。
— つみき @ 12/22ボドゲ予定。預かり中 2 (@mktk0808) 2019年11月30日
Bucky(LIFULL謹製ツール)
OSS化してまーす。#stac2019
各機能に応じて柔軟なリソース調整がしたい。
— つみき @ 12/22ボドゲ予定。預かり中 2 (@mktk0808) 2019年11月30日
レポート機能の切り離し。→これは大丈夫。
テスト実行時のみインスタンスを立ち上げる。実行ごとにリソースを変更できるようにする。→ のための AWS Fargate 。 #stac2019
細かい技術の話はあきらめよう…
— つみき @ 12/22ボドゲ予定。預かり中 2 (@mktk0808) 2019年11月30日
コスト削減
— つみき @ 12/22ボドゲ予定。預かり中 2 (@mktk0808) 2019年11月30日
料金削減
運用コスト削減
テスト実行速度アップ #stac2019
テスト対象はプライベートIPしかもたない。
— つみき @ 12/22ボドゲ予定。預かり中 2 (@mktk0808) 2019年11月30日
なので、awsvpc ネットワークモードを使った。 #stac2019
40% の料金ダウンってすごいなあ。
— つみき @ 12/22ボドゲ予定。預かり中 2 (@mktk0808) 2019年11月30日
/dev/shm RAMディスクが割り当てられている。容量が足らないとブラウザがクラッシュする。
— つみき @ 12/22ボドゲ予定。預かり中 2 (@mktk0808) 2019年11月30日
chrome driver のオプションを使おう!
#stac2019
#stac2019
— つみき @ 12/22ボドゲ予定。預かり中 2 (@mktk0808) 2019年11月30日
ツールに頼りすぎず、Chrome Driver に立ち返るところ面白い。
#stac2019
— つみき @ 12/22ボドゲ予定。預かり中 2 (@mktk0808) 2019年11月30日
面白いなあ本当に技術的な問題の解決方法の発表だー。 きっとこちらの会社はこういう情報をバンバン公開しているんだろうなー。