Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Autifyの運用について
Search
LegalOn Technologies, Inc
PRO
February 08, 2021
Programming
0
2.8k
Autifyの運用について
LegalForce社内で使っているAutifyに関するドキュメントのサンプルです。
LegalOn Technologies, Inc
PRO
February 08, 2021
Tweet
Share
More Decks by LegalOn Technologies, Inc
See All by LegalOn Technologies, Inc
[NLP2023] 最小コスト法に基づく形態素解析におけるCPU キャッシュの効率化
legalontechnologies
PRO
1
52
生成AIを搭載したプロダクト開発 - 少人数で爆速リリースしてわかったこと -
legalontechnologies
PRO
0
2.3k
Auto-evaluation of ranking model by LLM
legalontechnologies
PRO
0
830
株式会社LegalOn Technologies 会社紹介資料
legalontechnologies
PRO
5
97k
【LegalOnに聞く】ChatGPTを活用したプロダクト開発〜本番運用のハードルとは〜
legalontechnologies
PRO
0
230
[DEIM2023] 高速な形態素解析器Vibratoの紹介
legalontechnologies
PRO
0
950
株式会社LegalOn Technologies 検索・推薦チーム紹介資料
legalontechnologies
PRO
0
1.5k
株式会社LegalOn Technologies 開発職向け会社紹介資料
legalontechnologies
PRO
1
28k
[DEIM2022] 高速な単語分割器VaporettoとパターンマッチングマシンDaachorseの紹介
legalontechnologies
PRO
1
660
Other Decks in Programming
See All in Programming
Jetpack for KMP
fornewid
1
290
SRE チーム立ち上げ前に考えたこと・取り組んだこと / Considerations and Preparations Before Establishing an SRE Team
mackey0225
3
320
Activities at Cairo Library
cairolibrary720
0
1.2k
【Go言語】golangci-lintの使い方
tomo1227
0
270
【Go言語】ジェネリクス
tomo1227
0
170
Cloudflare Workers x AWS Lambdaの組み合わせユースケース / Cloudflare Workers x AWS Lambda Combination Use Case
seike460
PRO
2
310
Terraformテスト入門
msato
0
520
HMSコンペ 11th Solution (team : kansai-kaggler)
t88
1
680
企業向け生成AIアプリの 開発から得られた知見
takaakikakei
0
310
CSC307 Lecture 08
javiergs
PRO
0
330
英語
s_shimotori
1
220
3 Effective Rules for Success with Signals in Angular
manfredsteyer
PRO
0
120
Featured
See All Featured
Making Projects Easy
brettharned
111
5.7k
Being A Developer After 40
akosma
72
580k
A designer walks into a library…
pauljervisheath
201
24k
BBQ
matthewcrist
82
9k
Clear Off the Table
cherdarchuk
89
320k
Rails Girls Zürich Keynote
gr2m
93
13k
KATA
mclloyd
20
13k
YesSQL, Process and Tooling at Scale
rocio
166
14k
Git: the NoSQL Database
bkeepers
PRO
423
64k
Thoughts on Productivity
jonyablonski
64
4.1k
Side Projects
sachag
451
42k
Statistics for Hackers
jakevdp
792
220k
Transcript
( 共有⽤Autify の運⽤について 1 🤖 ( 共有⽤)Autify の運⽤について Created Last
edited time Owner Aya Kawasaki Property Tags ⽬次 ⽬的 このページでは、E2E テストをどのように使⽤して実⾏・運⽤していくかをまとめていきます。 主に実⾏しているのは本番環境ですが、stg 環境で実施するための⽅法も併せて記載していきます。 Autify について 導⼊の⽬的と体制 Autify とは? E2E テストを⾃動で実⾏でき、そのシナリオをUI 上で作成できるツールです。 誰でも簡単にプログラムコードを書くことなく、ウェブアプリケーションの検証作業が⾃動化できるため、⾮エンジニアでも テスト⾃動化が可能です。また、AI がアプリケーションコードの変更を監視し、⾃動で検証シナリオの修正を⾏うため、メン テナンスコストを⼤きく下げる事ができます。 ※E2E テストとは E2EEnd to End) テストは、システム全体を実稼働時に近い状況で動かし操作した結果が期待通りとなっているかを確認する テスト(User Interface テストとも呼ばれている) Autify の特徴 ① コードを書かずにテストシナリオを作成できる ② シナリオのメンテナンスをAI が⾃動化 ③ あらゆるブラウザでテスト実⾏できる 導⼊の⽬的 ⽇々の機能実装の各機能( 画⾯) に対して、意図しない機能の不具合を含まないことを定期的に実⾏して確認する⽬的で導⼊し ており、主に本番環境での確認を⾏います。 Jan 28, 2021 547 PM Feb 3, 2021 1041 AM ⽬次 ⽬的 Autify について
( 共有⽤Autify の運⽤について 2 定期実⾏テストについて 現在⾏っている定期実⾏テストはこちら。 全体回帰テスト → サービス全体の確認 ⽇次テスト
→ デグレが起きやすい機能を中⼼に確認 テスト実施機能の詳細は「Autify テスト設計」に記載しています。 全体回帰テストの確認内容は「サービス全体リグレッション確認テスト」とほぼ同様のものになります。(⼀部確認できない 項⽬あり※ ) Autify 上で使⽤しているファイルは「Autify ⽤テストファイル」をご確認ください。 Autify で確認できないこと Autify の機能上確認できないこと 〜〜〜 シナリオ修正ができていない項⽬ 〜〜〜 シナリオ⾃体が未作成・作成中 〜〜〜 その他 〜〜〜 シナリオ作成・管理について Autify のテスト内容 確認すること E2E test 機能がシナリオ形式で動作することを担保します 管理コストや実⾏スピードが落ちないように調整して担保します 確認しないこと Unit test Unit test をE2E テストで担保することはコストが⾼いため、担保しません Unit test はUnit test で担保してください ブラウザ別のテストChrome/Linux でのみテストシナリオ流す ) ブラウザ別のテストを⾏うと時間がかかりすぎるため ブラウザ毎に動かないシナリオが存在することが多々あるため シナリオの書き⽅ シナリオの作成と実⾏⽅法をご確認下さい。 シナリオの作成ルール ① タイトルの命名について [#CaseID 機能名 ⽬的:テスト設計シートとAutify 間のトレーサビリティーを向上するため
( 共有⽤Autify の運⽤について 3 ② シナリオの分け⽅について 各画⾯の基本的な動作確認については、1 シナリオで完結させるようにする。 📌 e.g.
・〜〜〜 👉200 ステップ以上になるシナリオAutify のサポート上限) 、もしくは実⾏時間が1 時間以上かかってしまうものなど、管理 が困難なシナリオについては2 シナリオに分けて良い⽅針とする。 各画⾯で、⼊⼒値の確認やファイルの種類ごとに確認が必要なもの、確認項⽬が多いものについては、別途シナリオを作 成し確認する。 📌 e.g. ・〜〜〜 ⚠ 作成上の注意⚠ ・テスト実⾏は主に本番環境で⾏っているがstg 環境で検証する場合もあるため、どの環境にも対応できるようシナリオの確 認内容の設定をすること 📌 e.g. ・URL の確認 ◯ ページのURL が「example.com/ 」であること ✕ ページのURL が「https://example.com/ 」 👉stg 環境で実施した場合、URL は「https://test◯-example.com/ 」となるためNG になってしまう ※ 画⾯遷移の確認であれば、画⾯のタブタイトル確認でも可 ・シナリオの修正・新規作成後の検証は、本番環境、stg 環境共に⾏うこと ・コメント機能をうまく活⽤し、確認内容がわかりにくい部分については解説を⼊れること テスト設計書について Autify で⾏うテストのシナリオごとに、どのような確認をしているのか・どのようなファイルを使⽤しているか等を設計書に まとめて管理しています。(ログイン情報の記載もしています) 👉Autify テスト設計 「ID Lists 」シートについて Autify でテスト実⾏するにあたり、以下の情報を記載しています。 テストに使⽤するアカウントのログイン情報 定期実⾏テストの内容について Autify で実⾏する各シナリオの情報 参考資料の格納場所等 「Template 」シートについて ① テスト対象 確認する機能( または画⾯) を記載しています。
( 共有⽤Autify の運⽤について 4 e.g. 〜〜〜 〜〜〜 ② テスト観点 テスト対象に対して確認する内容を記載しています。
e.g. チェック UI URL タブタイトル 遷移 画⾯ バリデーション ⼊⼒値 権限 ③ 確認対象外項⽬ 各画⾯ごとに確認しない/Autify では確認できない内容を記載しています。 記載することでAutify で実装が可能になった際に機能追加することができるようにするためです。 ※Autify の機能実装が⽇々改善されているため、確認できるものが増えていないか定期的に確認すること。 ④ レビュー・指摘 作成したシナリオについて第3 者に確認してもらった際のやり取りを記載しています。 ⚠Autify の定期実⾏テストではでテストケースの作成を⾏っておりません。 理由としては、機能が変更された時の運⽤⽅法としてAutify の修正とテストケースの修正を⾏うことがコストになるためで す。この理由から、「テストケース作成をテスト設計のみに抑え、テスト設計で書く内容を固める」の⽅針で資料作成を⾏っ ています。 課題 実⾏スピードが遅い 定期実⾏は問題ないが、作成したテストが動作するかの確認をするときには業務効率が悪い 夜中に⼀回実⾏する程度の利⽤であれば問題ないが開発フローに導⼊は厳しそう( コードレビューと並⾏して実⾏ など) → こちら並列実⾏を取り⼊れることで1/4 ほどまで削減することに成功しました。🎉2020/09 前提条件をまとめられない テストシナリオを新規で作成すると複製以外で前提条件をまとめることができない → ログイン情報のステップについては、ステップグループを活⽤することで可能になりました。🎉2020/04 データバリエーションについて 絵⽂字は確認対象外
( 共有⽤Autify の運⽤について 5 その他、テスト上の細かい課題の洗い出しやAutify に問い合わせを随時⾏っています。 状況についてはテスト設計書の「FAQ 」シートをご確認下さい。 テストプランの作成⽅法 作成したシナリオをまとめて実⾏する場合は「テストプラン」の作成が必要になります。
①Autify 「テストプラン」にアクセス ② 「新規テストプラン」をクリックする ③ テストプラン名を設定する(作業意図、検証環境の情報もあるとよい) ④ テストプランの詳細設定を⾏う 実⾏環境:「Chrome 86.0 / Linux 」に設定する。 (IE の実施も問題なくできるようになったら「IE 11.0 / Windows Server 2019 」も追加) ※ 実⾏速度は「Chrome 86.0 / Linux 」が1 番速い 定期実⾏:定期実⾏が必要であれば⽇時を登録(設定しておくことで⾃動的に実施が可能) シナリオ:実施したいシナリオを選択して登録 シナリオ内のURL 置換:シナリオは全て本番環境で設定しているため、stg 環境等で実施する場合は設定する必要がある
( 共有⽤Autify の運⽤について 6 ◆ ・ 参考 ・◆ 対象のAutify ヘルプページ
https://autify.zendesk.com/hc/ja/articles/900002604346 テストプラン- 旧- スケジュール- とはなんですか- テスト実⾏状況・結果確認について Autify で確認 「テスト結果」より、状況と実⾏結果の確認ができます。 Slack で確認 #notice-autify を確認して下さい。(実⾏結果のみ表⽰されます) テスト実施後について テストを実施後は、速やかに修正したシナリオ内の情報を本番環境に対応した値に戻して下さい。