Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
VR自動テストの導入によるプロジェクトの改善と、新卒一年目の苦悩
Search
Fumihito Morita
March 26, 2022
Programming
81
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
VR自動テストの導入によるプロジェクトの改善と、新卒一年目の苦悩
Fumihito Morita
March 26, 2022
Other Decks in Programming
See All in Programming
Verilogで学ぶCPU自作入門
uyuki234
8
4.1k
IBM Bob でAI駆動開発『QC-Playbook』
ichirokano2
0
110
残高管理から台帳サービスへの進化
artoy
1
210
R8 の設定見直しでアプリサイズ削減
andpad
0
220
自サークルのIdPからログアウトできるようになるまで
taiseiue
1
140
當我們開始不讀 Code - AI Agent 時代,Code Review 與 Clean Code 還剩下什麼?
jame2408
1
260
re:Inventに行く前に知っておきたい現地参加のノウハウ
nokomoro3
0
440
コードで差別化できない時代の ソフトウェアエンジニアリング / Software Engineering in an Era Where Code Doesn’t Differentiate
kishida
2
180
S3 TablesのIcebergデータに、AIエージェントからアクセスしてみた / 20261016developersio2026joetsu-accessing-iceberg-in-s3tables-via-agent
kasacchiful
PRO
0
170
AWS CDKのカスタムリソースでContinuum(旧Security Agent)を実装した話 | Implementing Continuum (formerly Security Agent) via AWS CDK Custom Resource
akihisaikeda
2
150
KiroのSpecで「五目並べ」を作ってみる
satoshi256kbyte
1
380
Next.js: The final boss of Web Performance
guaca
0
280
Featured
See All Featured
YesSQL, Process and Tooling at Scale
rocio
174
15k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3.1k
Discover your Explorer Soul
emna__ayadi
2
1.3k
Documentation Writing (for coders)
carmenintech
77
5.6k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Marketing to machines
jonoalderson
1
5.9k
Automating Front-end Workflow
addyosmani
1369
210k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
340
Site-Speed That Sticks
csswizardry
13
1.6k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.5k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
Transcript
VR自動テストの導入による プロジェクトの改善と新卒一年目の苦悩 森田文人 2021/05/26 Gotanda.unity #18
森田文人(ぶんぶん) 株式会社ジョリーグッド UnityとかモバイルとかCI/CD整備とか やってる雑食エンジニアです 好きな言語 RustとElm 2
テーマ Airtestを使ったVR自動テストを導入するまでの話 何も分からないのにスタートアップに入った時の苦労 3
自動テストを根付かせるまでの戦い 4
なんかノリでVRの会社に入ったぞ! Unity何も分からん 5
何も分からない Web開発から始めたのでUnityは少し しか分からなかった • コルーチン??? • Start関数の前にAwake関 数ってのもあるんです か??? 一緒に入ったインターン以外、全員中途
• レベル差なんてものじゃない • C++で例え話しないで? 6
どうやって貢献しよう? 悩んでたらある課題を見つけた 7
テストが一個もなかった • 毎回のリリース前に手作業のQAで確認 • リグレッションによって手戻りすることも少なくなかった 自分はWeb開発から入ったので、CI/CDや自動テストが整備されている環境 があることを知っていた 8
僕「(Unity何も分からないけど、これ作れば貢献できるんじゃね?)」 僕「作りましょう!!!(作り方知らないけど)」 CTO「いいよ!お願い!」 9 即快諾してもらって作成開始
技術選定 Airtest • Pythonで簡単に書ける • Pocoを使ってUnity内のオブジェ クトの操作ができる • Jenkins等のCIツールへの組み込 みも容易
10 Jenkins • 既に自動ビルドで使っていた • オンプレCIなのでテストに使う実機 とも簡単に接続できた
11
苦労したこと • 社内の誰も自動テストの知見が無 かった ◦ 全部一人で調べて作る必要 があった • VRの自動テストの前例が見つから なかった
◦ adb touchを利用して、カメ ラの回転方向・角度を指定で きるようにした 本当はもっと良い方法があ る… 12 (x, y) = (100, 30) の座標をadb touchすると上に30度回転
一ヶ月半かけて完成! けど 誰も使ってくれない😢 13
課題 • 自分以外に書ける人がおらず、ブラックボックス化 • そもそも自動テストの知見を持つ人がいない 14
みんなに使ってもらうために • ドキュメントを整備する ◦ 他の人がテストを書く時に徹底サポート • 自動テストについての勉強会 ◦ 自動テストの意義を知ってもらう •
Slackコマンドから気軽に実行できるようにする ◦ 要望・フィードバックを貰って適宜改良 • 毎晩リグレッションテストを実行 ◦ 実際にリグレッションを検知して、有用性を知ってもらう 15
半年くらいかけて • チームの半分くらいは自動テストが書けるようになった • 自動テストをもとに議論が行われるようになった • みんなが頻繁に使ってくれるようになった 16 自動テストを根付かせることに成功!!
まとめ 17
自動テストを導入して何が良かったか • リグレッションを検知して手戻りを防ぐ ◦ 常に最低限の動作を保証できる ◦ 安心感を持って開発できる • 自動テストを前提とした議論ができる ◦
QAのフローの見直し ◦ テスト結果をマージリクエストに添付 18
何でもかんでもUIテストにやらせない • UIテストは壊れやすい • 時間がかかる • できるだけユニットテストを書くよう にする 19 引用元:https://blog.knoldus.com/agile-testing-pyramid/
何も分からんのにスタートアップに入って学んだこと 20 手取り足取り教えてくれない • 研修もない • 孤独との戦い • TwitterやDiscordで質問できる人を作っ ておく
◦ 結構みんな教えてくれる • 「分からない」を楽しむ 何もできることがない • 誰もやってないことをやる ◦ スタートアップは常にリソース不足 ◦ 違う界隈を見ておくと色んなヒントが 出るかも
大変だけど楽しいこともある • 何もないからこその面白さ ◦ 「俺が作ってやるぜ!!」の精神 ◦ 根拠を持って手を上げればやらせてくれる • 熟練の人と一緒に働く楽しさ ◦
うまくキャッチアップできれば色々教えてもらえる 21
参考文献 • 自動テスト・ソフトウェアテストについて ◦ 「初めての自動テスト Webシステムのための自動テスト基礎」 Jonathan Rasmusson ◦ 「質とスピード(2020秋100分拡大版)」
和田卓人 ◦ 「テストの自動化とテスト駆動開発」 安井力 ◦ 「LINE のUI自動テスト事例」 大園 博昭 • 個人のマインドセットと組織文化の創出について ◦ 「Effective DevOps 4本柱による持続可能な組織文化の育て方」 Jennifer Davis、Ryn Daniels • AirtestとPocoの拡張方法 ◦ 「AirtestとPocoを拡張して、Componentのメソッドを直接実行する」 @mmm_hiro 22