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
CircleCI における UI テスト
Search
Masahiko Funaki(舟木 将彦)
March 11, 2022
Technology
0
15
CircleCI における UI テスト
CircleCI を使ってどうやって UI テストをするのか、ではなく、CircleCI の開発やリリース、デプロイにおいてどのように UI のテストを行なっているのかをご紹介したスライドです。
Masahiko Funaki(舟木 将彦)
March 11, 2022
Tweet
Share
More Decks by Masahiko Funaki(舟木 将彦)
See All by Masahiko Funaki(舟木 将彦)
Playwrightとmablのパワフルな統合: 効率的なテスト自動化を実現する新機能を学ぶ!
mfunaki
0
130
AIで進化するソフトウェアテスト:mablの最新生成AI機能でQAを加速!
mfunaki
0
190
Harness the Power of Advanced LLM and CI/CD Practices
mfunaki
0
370
CircleCI によるソフトウェア開発の品質向上と効率化の実現
mfunaki
0
260
CircleCI と Argo Rollouts で 実現する Kubernetes 上の プログレッシブデリバリー
mfunaki
0
160
はじめてのCircleCI
mfunaki
0
61
CircleCIでChatGPTにエラーの解説を頼んでみた
mfunaki
0
610
自動化→部品化すると社内開発は楽しくなる
mfunaki
0
61
テストの自動化~簡単に始める、みんなで使う、現況を捉える
mfunaki
0
65
Other Decks in Technology
See All in Technology
AWS全冠したので振りかえってみる
tajimon
0
140
"SaaS is Dead" は本当か!? 生成AI時代の医療 Vertical SaaS のリアル
kakehashi
PRO
3
190
菸酒生在 LINE Taiwan 的後端雙刀流
line_developers_tw
PRO
0
140
活きてなかったデータを活かしてみた話 / Shirokane Kougyou vol 19
sansan_randd
1
260
RubyOnRailsOnDevin+α / DevinMeetupJapan#2
ginkouno
0
340
Introduction to Bill One Development Engineer
sansan33
PRO
0
250
Data Hubグループ 紹介資料
sansan33
PRO
0
1.8k
Javalinの紹介
notoh
0
100
「規約、知識、オペレーション」から考える中規模以上の開発組織のCursorルールの 考え方・育て方 / Cursor Rules for Coding Styles, Domain Knowledges and Operations
yuitosato
6
1.6k
Rubyで作る論理回路シミュレータの設計の話 - Kashiwa.rb #12
kozy4324
1
190
産業機械をElixirで制御する
kikuyuta
0
170
AWS と定理証明 〜ポリシー言語 Cedar 開発の舞台裏〜 #fp_matsuri / FP Matsuri 2025
ytaka23
9
2.4k
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
181
53k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.8k
Building Applications with DynamoDB
mza
95
6.4k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
107
19k
Making the Leap to Tech Lead
cromwellryan
134
9.3k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Mobile First: as difficult as doing things right
swwweet
223
9.6k
How to Ace a Technical Interview
jacobian
276
23k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.8k
Building an army of robots
kneath
306
45k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Transcript
1 CircleCI における UI テスト 注) 「CircleCI を使って、どうやって UI テストをするのか」ではありません。
舟木 将彦 (@mfunaki) Principal Developer Advocate / CircleCI
2 CircleCI をお使いいただいた事はありますか?
3 CircleCI は CircleCI で ビルド〜テスト〜リリース〜デプロイされている プラン コード ビルド テスト
リリース デプ ロイ 運用 監視 継続的インテグレーション (CI) 継続的 デプロイ (CD) 自動化できない 非正常系は 自動化できない 自動化できる→継続的であるために自動化すべき ビジネスが継続する限り、プロジェクトは続く 共有 リポジトリ上 で 常に作業 コード追加・修正時は 常にビルド・テスト (最後にまとめてやらな い→早く失敗すれば 早く品質が安定する) サービス停止せず常時 リリース/デプロイ (失敗時にはクイックに 修正 / 前バージョンに 戻せる)しくみ 運用・監視しやすい 品質をコードに反映 (必要なデータの取得、 スケーラビリティの 確保) CircleCI自体は E2Eテスト (UIテスト)の機能を 持たず、 E2Eテストツールと 連携して、 「テストを依頼」 「結果を取得」 可能 連携可能ツール例 • UIPath Test Suiteなどの 商用製品 • cypressなどの オープンソース ツール
4 どんな UI テストをしているのか Eコマースサイトのテストと違うポイント • ユーザーごとに表示内容や振る舞いが大きく異なる(情報が見える/見えない、 操作ができる/できない) →ログアウトしたり、別ユーザーでログインした時に前ユーザーの影響を受けない •
レコーディング&プレイ型のテストではなく、テストコードを書いて実行 Eコマースサイトと恐らく同じポイント • 「開発者やマネージャーであれば、こういった使い方をするだろう」という ユースケースに対応したテスト • 画面の種類数は一定個なので、種類ごとにオブジェクト定義し、 再利用性を高め、テストコードの記述を効率化する • 何が表示されているか+何が表示されていないか (無効化されているか) • Shift Left Testing (バグが生まれるのはコードが書かれた時 ) + Shift Right Testing (実際の行動を元に UX / DX ~ Developer eXperience ~ 向上)
5 UI テストも大事だけど、Unit テストも大事 フランスの Ponicode 社を買収(3/9) - JavaScript/TypeScript の
Unit テスト (Jestベース) - Python の Unit テスト(Pytestベース) を AI による提案を元に自動生成します。 VSCode 拡張 や IntelliJ プラグインとして動作 CLI も提供 (npm i -g ponicode) → CircleCI に統合を進めていきます
Thank you. 6