Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
テストコードを書きたいけどテスト対象がない。どうする? / What to do to wri...
Search
akihisa1210
February 10, 2022
Technology
2
970
テストコードを書きたいけどテスト対象がない。どうする? / What to do to write test?
QA Tips LT会 #QATipslt - connpass
https://rakus.connpass.com/event/234065/
akihisa1210
February 10, 2022
Tweet
Share
More Decks by akihisa1210
See All by akihisa1210
Four Keysに基づくリリースプロセス改善とその成果 / Release process improvement based on the Four Keys and its results
ak1210
0
1.3k
独立したQA担当者か開発チームか? あるプロダクトチームのQA体制の変遷 / Independent QA or Dev Team
ak1210
0
1.4k
ソフトウェアテスト 2022 / Software Testing 2022
ak1210
1
8.2k
E2E自動テスト導入・運用をめぐる先入観と実際に起きたこと / Preconceptions and What Happened with E2E Testing
ak1210
7
3k
ここからはじめるスクラムQA(増補改訂版) / Getting started with QA in Scrum (revised)
ak1210
2
920
ここからはじめるスクラムQA / Getting started with QA in Scrum
ak1210
2
1.2k
「開発チーム」とQA /"Development Team" and QA
ak1210
1
8.5k
Other Decks in Technology
See All in Technology
最近のUplift Modeling手法にRでトライ
hskksk
0
120
12/3(火)のBedrockアプデ速報(re:Invent 2024 Daily re:Cap #2 with AWS Heroes)
minorun365
PRO
4
140
2024/11/29_失敗談から学ぶ! エンジニア向けre:Invent攻略アンチパターン集
hiashisan
0
440
イベントをどう管理するか
mikanichinose
1
110
深層学習のリペア技術の最新動向と実際 / DNN Repair Techniques for AI Performance Alignment for Safety Requirements
ishikawafyu
0
490
EthernetベースのGPUクラスタ導入による学びと展望
lycorptech_jp
PRO
0
580
つくってあそぼ! ユビキタス言語作文の紹介
ndadayo
1
140
開志専門職大学特別講義 2024 デモパート
1ftseabass
PRO
0
210
pmconf2024_UPSIDER
upsider_tech
0
7.4k
【ASW21-01】STAMPSTPAで導き出した課題に対する対策立案手法の提案
hianraku9498
0
590
検証と資産化を形にするプロダクト組織へ/tapple_pmconf2024
corin8823
1
9.4k
MySQL 8.0 から PostgreSQL 16 への移行と RLS 導入までの道のりと学び
baseballyama
0
970
Featured
See All Featured
How to train your dragon (web standard)
notwaldorf
88
5.7k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
890
Fashionably flexible responsive web design (full day workshop)
malarkey
405
65k
Rails Girls Zürich Keynote
gr2m
94
13k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.3k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
94
17k
A better future with KSS
kneath
238
17k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
Producing Creativity
orderedlist
PRO
341
39k
A Philosophy of Restraint
colly
203
16k
Transcript
テストコードを書きたいけど テスト対象がない。どうする? 2022-02-10 QA Tips LT会 #QATipslt サイボウズ株式会社 Garoon開発チーム 兼
生産性向上チーム 小山 晃久(@akihisa1210)
自己紹介 小山 晃久 (@akihisa1210) サイボウズ株式会社 Garoon開発チーム 兼 生産性向上チーム 品質、テスト、CI/CD、アジャイル 趣味は読書
Twemoji https://twemoji.twitter.com/content/twemoji-twitter/en.html Copyright 2020 Twitter, Inc and other contributors Graphics licensed under CC-BY 4.0: https://creativecommons.org/licenses/by/4.0/
Cybozu Productivity Weekly • 開発者の生産性向上ネタを毎週共有 • CI/CDや自動テストの話題も • Zenn &
Twitterで発信中!
本題
テストコードを書きたい! • テストコードを書いたことがないので書きたい! • あのテストフレームワークを使ってみたい! • 特に理由はないが書きたい!
テスト対象がない……。 • 何にテストコードを書こう?
なければ作ろう! • Webアプリケーションを作成する類の書籍を買ってくる • サンプルコードにテストを追加しながら進める
書籍を選ぶ際の注意 • 特定のユニットテストツールを使いたい場合は、そのツールが対 応している言語と同じ言語でアプリケーションを作る書籍を選ぶ • E2Eテストツールはテスト対象が何で実装されているかには依存 していないので大丈夫 • できれば新しめの書籍を選ぶ(余計な所でハマらないために)
静的解析
静的解析を導入する • 問題のある書き方を検出・自動修正する • 特定のスタイルを強制する • 「Linter」「Formatter」などで検索!
(参考)パッケージマネージャー • プロジェクトごとに、そのプロジェクトが使うパッケージを管理す るツール • ツール導入時に必要になることも
ローカル開発環境 静的解析 ソースコード
CI
CI? • Continuous Integration • コードに変更が加わるごとにビルドやテストを行う • 早いフィードバックで小さく修正 • 自動トリガーの恩恵(手動だと忘れる)
CIを設定する前に • コードをソースコード管理システムで管理する • サンプルコードのライセンスを要確認 • プライベートリポジトリと連携できるCIシステムもある
CIの設定 • 設定ファイルをソースコードと合わせて管理する • CIシステムがソースコード管理システムからコードを取得できる ようにする • CIシステム上で静的解析が実行されるようにする
ローカル開発環境 静的解析 ソースコード ソースコード管理システム ソースコード 静的解析 CI システム ソースコード
ユニットテスト
ユニットテストを書く • 関数やクラスに勝手にテストを書く • テストが書きづらい場合は、テストが書けるように修正してみる • ユニットテストもCIで流す
ローカル開発環境 静的解析 ユニットテスト ソースコード ソースコード管理システム ソースコード 静的解析 CI システム ユニットテスト
ソースコード
E2E テスト
E2Eテストを書く • ローカル開発環境でWebアプリケーションを立ち上げる • E2Eテストを書いてみる
ローカル開発環境 静的解析 ユニットテスト E2Eテスト ソースコード ビルド デプロイ ソースコード管理システム ソースコード 静的解析
CI システム ユニットテスト ソースコード
E2EテストをCIで動かす • CIシステムがアクセスできるところでWebアプリケーションを動 かす • CIシステム上でテストを実行する
ローカル開発環境 静的解析 ユニットテスト E2Eテスト ソースコード ビルド デプロイ ソースコード管理システム ソースコード 静的解析
CI システム ユニットテスト E2Eテスト デプロイ ビルド ソースコード
最後に
全部やらないといけないの? • やらなくても大丈夫です • 興味のあるところ、開発の効率が上がるところから