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
1
3.3k
Autify初心者でも気軽にテスト実行できる仕組み作り
LegalForceではAutifyを活用した自動E2Eテストの整備を行っています。
これまで1年ほどAutifyを使ってきた中で社内に蓄積されたうまく運用する仕組みづくりについてご紹介します。
LegalOn Technologies, Inc
PRO
February 08, 2021
Tweet
Share
More Decks by LegalOn Technologies, Inc
See All by LegalOn Technologies, Inc
リーガルテックにおける検索・推薦技術
legalontechnologies
PRO
4
2k
[NLP2023] 最小コスト法に基づく形態素解析におけるCPU キャッシュの効率化
legalontechnologies
PRO
1
140
生成AIを搭載したプロダクト開発 - 少人数で爆速リリースしてわかったこと -
legalontechnologies
PRO
1
14k
Auto-evaluation of ranking model by LLM
legalontechnologies
PRO
0
1k
株式会社LegalOn Technologies 会社紹介資料
legalontechnologies
PRO
9
100k
【LegalOnに聞く】ChatGPTを活用したプロダクト開発〜本番運用のハードルとは〜
legalontechnologies
PRO
0
280
[DEIM2023] 高速な形態素解析器Vibratoの紹介
legalontechnologies
PRO
1
1.1k
株式会社LegalOn Technologies 検索・推薦チーム紹介資料
legalontechnologies
PRO
0
1.8k
株式会社LegalOn Technologies 開発職向け会社紹介資料
legalontechnologies
PRO
1
37k
Other Decks in Programming
See All in Programming
Асинхронность неизбежна: как мы проектировали сервис уведомлений
lamodatech
0
760
テストケースの名前はどうつけるべきか?
orgachem
PRO
0
130
数十万行のプロジェクトを Scala 2から3に完全移行した
xuwei_k
0
270
Haze - Real time background blurring
chrisbanes
1
510
命名をリントする
chiroruxx
1
400
php-conference-japan-2024
tasuku43
0
270
Symfony Mapper Component
soyuka
2
730
わたしの星のままで一番星になる ~ 出産を機にSIerからEC事業会社に転職した話 ~
kimura_m_29
0
180
From Translations to Multi Dimension Entities
alexanderschranz
2
130
HTTP compression in PHP and Symfony apps
dunglas
2
1.7k
testcontainers のススメ
sgash708
1
120
Fibonacci Function Gallery - Part 1
philipschwarz
PRO
0
210
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
229
52k
BBQ
matthewcrist
85
9.4k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
Designing for Performance
lara
604
68k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Six Lessons from altMBA
skipperchong
27
3.5k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
32
2.7k
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.3k
Fireside Chat
paigeccino
34
3.1k
Reflections from 52 weeks, 52 projects
jeffersonlam
347
20k
Typedesign – Prime Four
hannesfritz
40
2.4k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Transcript
Autify初心者でも気軽にテスト実行できる仕組み作り 株式会社LegalForce QAエンジニア 川﨑 彩 LegalForceとMarshallのご紹介 2021/01/28 Autify User Meetup 1
自己紹介 2
川﨑 彩(Kawasaki Aya) 2020年2月より QAエンジニアとして 株式会社LegalForceに参画 自己紹介 ◇◆ LegalForce Engineering
Blog ◆◇ https://tech.legalforce.co.jp/ (QAの事例も後日公開予定です ..!) 3
契約リスクの制御を実現する製品ラインナップ 契約書レビューをAIで加速。 締結済みの契約書を自動で整理。 いつでも見つかる。 4
契約書レビューサービスLegalForce • 契約書レビューを自然言語処理技術等を用いてサポートするプロダクト 650 5 ※2021年1月時点
6 本日のお話 Autifyの活用例 LegalForceの取り組み ~ Autify導入から現在に至るまで ~ Autify初心者でも気軽にテスト実行できる仕組み作り ~ 資料の整備について
~ 今後取り組んでいきたいこと Autify初心者でも気軽にテスト実行できる仕組み作り ~ シナリオ作成Tips ~
Autifyの活用例 7
8 Autifyの活用例(LegalForceの場合) 機能監視テスト リグレッションテスト • 本番環境で定期実行 • 日次テスト(月〜金) :13シナリオ • 週次の全体回帰テスト
(日) :21シナリオ →毎日結果確認し、NGがでた場合や機能リリースの状況によって適宜シナリ オ修正 • 検証環境(6環境)で不定期実行 • 全体回帰テストとカスタムテストを用意 • 普段Autifyを触らない人でも好きな時に実施可能 • 複数環境で同時に実施可能 ◆2020年2月から本格運用開始 ◆定期実行の機能監視テスト・不定期実行のリグレッションテストを実施 ◆QAチームでシナリオ作成や定期実行の運用をしつつ、開発メンバーでも気軽にテスト実行できるよう環境整備
LegalForceの取り組み Autify導入から現在に至るまで 9
現在の体制になるまで 2020.02 2020.04 2020.06 2020.10 2021.01 Autify利用開始 本番環境での テスト実行開始 検証環境での
テスト実行開始 現在 テスト実施環境改良 &ナレッジ資料作成 ◆機能ごとの簡単な シナリオを作成 ◆検証環境でテスト 実行開始 ◆機能ごとの確認範囲を拡張 ◆本番環境で日次・週次の テスト実行開始 ◆テスト設計書の作成 ◆失敗しやすい検証環境での テスト実行を行うため シナリオ修正 ◆検証環境でのテスト 実行開始 ◆Autify専用の テスト環境整備 ◆本番・検証環境で気軽に テスト実行できるように 手順書作成 ◆ナレッジ資料の拡張 ◆開発に関わるメンバー への情報共有 課題 リリース後で良いので 機能監視テストとして活用 したい 課題 リリース前のリグレッションテ ストとして活用したい 課題 テスト実施の属人化 を解消したい 10
現在の体制になるまで 2020.02 2020.04 2020.06 2020.10 2021.01 Autify利用開始 本番環境での テスト実行開始 検証環境での
テスト実行開始 現在 テスト実施環境改良 &ナレッジ資料作成 ◆機能ごとの簡単な シナリオを作成 ◆検証環境でテスト 実行開始 ◆機能ごとの確認範囲を拡張 ◆本番環境で日次・週次の テスト実行開始 ◆テスト設計書の作成 ◆失敗しやすい検証環境での テスト実行を行うため シナリオ修正 ◆検証環境でのテスト 実行開始 ◆Autify専用の テスト環境整備 ◆本番・検証環境で気軽に テスト実行できるように 手順書作成 ◆ナレッジ資料の拡充 ◆開発に関わるメンバー への情報共有 課題 リリース後で良いので 機能監視テストとして活用 したい 課題 リリース前のリグレッションテ ストとして活用したい 課題 テスト実施の属人化 を解消したい 11
Autifyのテストを実施してみよう!と思ってもらうために何をしたか Autifyとは何か、普段どんな運用をしているかを周知する 本番・検証環境関係なく同一のシナリオでテスト実施できるよう整備する テスト実行までの手間を最小限にする テスト実行の手順書を作成する 12
Autifyのテストを実施してみよう!と思ってもらうために何をしたか Autifyとは何か、普段どんな運用をしているかを周知する 本番・検証環境関係なく同一のシナリオでテスト実施できるよう整備する テスト実行までの手間を最小限にする テスト実行の手順書を作成する ナレッジ資料の作成、シナリオの汎用化 13
Autify初心者でも気軽にテスト実行できる仕組み作り 資料の整備について 14
LegalForceで作成している資料 Autifyのテスト実施に必要な情報について Autifyの運用について リグレッションテスト実施手順について 環境整備について 15
LegalForceで作成している資料 Autifyのテスト実施に必要な情報について Autifyの運用について リグレッションテスト実施手順について 環境整備について 16
Autifyの運用について 導入の目的、実際行っているテストについて 記載し、メンバーに情報共有を行う LegalForceの場合・・・ ◆Autifyとは何か・導入の目的 ◆運用している定期実行テストについて ◆現在作成しているシナリオで確認できないこと ◆社内のシナリオ作成ルールについて ◆シナリオやテストプランの作成方法について Point
17
LegalForceで作成している資料 Autifyのテスト実施に必要な情報について Autifyの運用について リグレッションテスト実施手順について 環境整備について 18
Autifyのテスト実行に必要な情報について テスト実行に必要な情報を集約しておく LegalForceの場合・・・ ◆Autify専用アカウントの情報や参考資料について Point 19
Autifyのテスト実行に必要な情報について テスト実行に必要な情報を集約しておく LegalForceの場合・・・ ◆Autify専用アカウントの情報や参考資料について ◆定期実行についての詳細日程や時間について Point 20
Autifyのテスト実行に必要な情報について テスト実行に必要な情報を集約しておく LegalForceの場合・・・ ◆シナリオ名にIDを振って管理 Point 21
Autifyのテスト実行に必要な情報について テスト実行に必要な情報を集約しておく LegalForceの場合・・・ ◆シナリオ名にIDを振って管理 ◆実施時間の目安があると便利 Point 22
Autifyのテスト実行に必要な情報について テスト実行に必要な情報を集約しておく LegalForceの場合・・・ ◆シナリオ名にIDを振って管理 ◆実施時間の目安があると便利 ◆実施対象のテストプランやシナリオで使用するファイル名も記載 Point 23
LegalForceで作成している資料 Autifyのテスト実施に必要な情報について Autifyの運用について リグレッションテスト実施手順について 環境整備について 24
環境整備について 事前に用意が必要なものについて記載しておく LegalForceの場合・・・ ◆検証環境での実行までにかかる時間を減らすため、 事前に準備する点のリストアップをして設定 →共通アカウント作成 →ファイルアップロード 等 Point 25
環境整備について 実施する状況に応じて使用するテストプランを分ける LegalForceの場合・・・ ◆システム全体を実施するテストプラン「全体回帰テスト」 →定期実行の設定なし、シナリオ修正なし ◆一部の機能だけ実施するテストプラン「カスタムテスト」 →定期実行の設定なし、テスト実行時にシナリオを選択 の2種類のテストプランを環境ごとに用意し、用途に応じて使い分け できるように設定している
◆検証環境ごとにURLが異なるのでURL置換も活用することで ステップグループやシナリオ修正の手間をなくす Point 26
LegalForceで作成している資料 Autifyのテスト実施に必要な情報について Autifyの運用について リグレッションテスト実施手順について 環境整備について 27
リグレッションテスト実施手順について 実施手順・パターンを記載してわかりやすく LegalForceの場合・・・ ◆テスト実施に必要な設定・ファイルのアップロード等は 事前に行い、実施時の手間を削減 (「環境整備について」の対応) ◆用途に応じてテストプランを使い分けてもらえるよう 実施パターンを記載 Point 28
Autify初心者でも気軽にテスト実行できる仕組み作り シナリオ作成Tips 29
シナリオ作成Tips 実施環境に依存した確認対象を除外し、シナリオを汎用化する • 環境ごとに変わる値の確認(URLの確認等)については、共通部分だけ抜き出して確認する • 使用するアカウントについても本番・検証環境で全く同じアドレス、PWで用意しておく シナリオごとに使用するファイルを分ける・シナリオ内で削除する • 各シナリオで使用するファイルを全て異なる名前にして分けることで、確認対象のファイルを間違えてしまうこ とがなくなる
• 確認後のファイルはシナリオ内で削除するとその後同一のシナリオのテスト実施をした際にNGが出にくくな る(シナリオの最初に不要なファイルが存在していないか確認するのもおすすめ) 30
シナリオ作成Tips 待機ステップの活用 • ローディングが発生する部分の確認についてはこまめに「待機ステップ」を追加することで、実施環境ごと動 作速度が若干異なってもNGが発生しにくい 並列実行の活用 • シナリオを複数同時実施できるよう準備が必要な場合があるがとても便利 →全体回帰テストにかかる時間が4、5時間から1時間ほどになった(NGの数もほぼ変わらず) 31
今後取り組んでいきたいこと 32
33 今後取り組んでいきたいこと Chrome以外の実行環境 でのテスト実施を可能に ビジュアル リグレッションテスト ナレッジ資料の拡充 リリース前の機能修正確認として Autifyを活用
ご清聴ありがとうございました! 34