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
テストコードを書きたいけどテスト対象がない。どうする? / What to do to wri...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
akihisa1210
February 10, 2022
Technology
1.1k
2
Share
テストコードを書きたいけどテスト対象がない。どうする? / What to do to write test?
QA Tips LT会 #QATipslt - connpass
https://rakus.connpass.com/event/234065/
akihisa1210
February 10, 2022
More Decks by akihisa1210
See All by akihisa1210
推し書籍📚 / Books and a QA Engineer
ak1210
1
250
アジャイルな開発チームでテスト戦略の話は誰がする? / Who Talks About Test Strategy?
ak1210
1
1.5k
Four Keysに基づくリリースプロセス改善とその成果 / Release process improvement based on the Four Keys and its results
ak1210
0
1.6k
独立したQA担当者か開発チームか? あるプロダクトチームのQA体制の変遷 / Independent QA or Dev Team
ak1210
0
1.7k
ソフトウェアテスト 2022 / Software Testing 2022
ak1210
1
8.5k
E2E自動テスト導入・運用をめぐる先入観と実際に起きたこと / Preconceptions and What Happened with E2E Testing
ak1210
7
3.2k
ここからはじめるスクラムQA(増補改訂版) / Getting started with QA in Scrum (revised)
ak1210
2
1.1k
ここからはじめるスクラムQA / Getting started with QA in Scrum
ak1210
2
1.4k
「開発チーム」とQA /"Development Team" and QA
ak1210
1
9.1k
Other Decks in Technology
See All in Technology
さくらのAI Engineから始める クラウドネイティブ意識
melonps
0
120
さくらのクラウドでつくるCloudNative Daysのオブザーバビリティ基盤
b1gb4by
0
130
仕様通り動くの先へ。Claude Codeで「使える」を検証する
gotalab555
8
3.1k
Bluesky Meetup in Tokyo vol.4 - 2023to2026
shinoharata
0
120
ある製造業の会社全体のAI化に1エンジニアが挑んだ話
kitami
2
690
AgentCore RuntimeからS3 Filesをマウントしてみる
har1101
3
380
GitHub Copilotを極める会 - 開発者のための活用術
findy_eventslides
6
3.7k
Oracle AI Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
6
1.3k
Strands Agents × Amazon Bedrock AgentCoreで パーソナルAIエージェントを作ろう
yokomachi
2
260
システムは「動く」だけでは足りない 実装編 - 非機能要件・分散システム・トレードオフをコードで見る
nwiizo
1
220
バックオフィスPJのPjMをコーポレートITが担うとうまくいく3つの理由
yueda256
1
290
Kubernetes基盤における開発者体験 とセキュリティの両⽴ / Balancing developer experience and security in a Kubernetes-based environment
chmikata
0
220
Featured
See All Featured
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
96
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Paper Plane
katiecoart
PRO
1
49k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
2.7k
Scaling GitHub
holman
464
140k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
180
RailsConf 2023
tenderlove
30
1.4k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
130
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
260
Balancing Empowerment & Direction
lara
5
1k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Speed Design
sergeychernyshev
33
1.6k
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テスト デプロイ ビルド ソースコード
最後に
全部やらないといけないの? • やらなくても大丈夫です • 興味のあるところ、開発の効率が上がるところから