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
テスト自動評価_むかしばなし.pdf
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
miii22
April 16, 2020
Programming
560
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
テスト自動評価_むかしばなし.pdf
miii22
April 16, 2020
More Decks by miii22
See All by miii22
たかがテスト_されどテスト_.pdf
miii22
0
350
もくもく会のススメ.pdf
miii22
0
140
とある商人と小人たちのオブジェクト指向物語.pdf
miii22
1
700
えんじにゃーから見たユニットテストのはなし.pdf
miii22
0
350
おのみ__棚卸するってよ_.pdf
miii22
1
330
Other Decks in Programming
See All in Programming
Go × SIMDで高速化するベクトル検索 ~ルーフラインモデルでSIMDが効く境界を探れ! ~
po3rin
1
1.9k
個人開発基盤をまるごとCloudflareに引っ越して爆速で総合的体験を向上させた話
tinykitten
0
200
速く作れる。その次は、速く確かめられる開発へ 〜AIネイティブ開発を支える、Shift Down〜 / Can build fast. Next, moving to development where we can verify fast.
rkaga
5
3.4k
SREの越境 / SRE Collaboration
y0hgi
2
250
テストを司るデーモンに会いに行く 〜隔離した仮想マシンでテストを通すまで〜
h1d3mun3
1
500
What We Talk About When We Talk About XP
m_seki
2
660
UnityでSystem.Net.WebSocketsなWebSocketサーバが動かないのでUnity Monoのコードを覗いてみた / about implementing websocket server with unity mono
drumath2237
1
180
LoopHub - ローカルで動く GitHub で、AI と共同開発
jugyo
1
560
20260914 AIエージェント時代のPlatform Engineering LLM基盤とプロダクトの責務境界線
kanfab1
7
2.1k
LL言語やWebフレームワークのPostgreSQL対応 〜DBの機能がユーザーに届くまで〜
kentaroutakeda
1
150
Jetpack Compose メカニズム
skydoves
0
440
AGENTS.md Is Not Enough:Build Skills, Don't Download Them
lx_t
0
120
Featured
See All Featured
SEO for Brand Visibility & Recognition
aleyda
0
4.7k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
2.9k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.6k
Bash Introduction
62gerente
615
220k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
910
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
890
First, design no harm
axbom
PRO
2
1.3k
Agile that works and the tools we love
rasmusluckow
331
22k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
870
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
BBQ
matthewcrist
89
10k
Transcript
テスト自動評価 むかしばなし おのみ〜(@miiisa22who)
自己紹介 ▪ Name おのみ〜 ▪ Age 27 ▪ 好きなこと お昼寝
▪ 最近の悩み 福岡人は何故焼き鳥 を食べる時に最初は 豚バラからなのか
1.テスト自動評価との出会い ◎昔むかし、あるところに「おのみ〜」というひとりのエンジニアがいたそうな。 おのみ〜のお仕事はエンジニアです。 お客さんから言われた お願い事(要件)を叶えるお仕事をしています。 ◎ある朝、おのみ〜はお客さんに「テストの品質を上げてよ!」と言われました。 お客さんの話によると、「単体テストで防ぐことができたはずの障害が商用で発生した」とのこと。 商用障害。非常に怖い言葉ですね。 おのみ〜はガクブル震えながら、詳しい話をお客さんから聞くことにしました。 ((((;゚Д゚)))))))ひえええええ…
2.おのみ〜、考える。 ◎お客さんから話を聞く中で出てきた課題。 それは、”対象機能に対する経験・スキル依存=属人性 “という問題でした。 おのみ〜が参画している現場では、テスト設計者と実施者が違います。 もちろんどちらもエンジニアですが、テスト対象機能について知識がない実施者が テストを行うと、試験観点が理解できていない中でテストを進めてしまいます。 テスト設計者が確認をすることでバグが混入することは未然に防げますが、 クロスチェックを行い、テスト結果が不合格の場合は モジュールの改修・試験の再実施
というコ ストがかかります。 さて、これではいくら工数があっても足りません。 おのみ〜は、開発者としてチームに参画していたので単体テストについて身を以て知っていま す。 どうにかして解決できないものか、とおのみ〜は考え始めました。
⒊おのみ〜、考える。Part 2 ◎お客さんよりお願い事を聞いたおのみ〜は、早速仕組みを考えました。 経験・スキルに依存することでより工数がかかっているのであれば 設計者観点で作られた期待値と実データを自動で評価すれば良さそう!ということで どうにか自動化する方法を考えてみました。
イメージこんな感じ テスト実行 テスト ファイル 自動比較 実行結果 テスト レポート 今回のスコープ はココ!
※テストケース実行は自動化済み。
4.おのみ〜、開発する。 ◎おのみ〜は、仕事にくる日もくる日も仕組みを考え取り組みました。 浮かんだ仕組みを形にするべく、実装して「あーでもないこーでもない」と悩み続ける日々。 更に、お客さんからの要望として下記のお願い事が出てきました。 ・DBの値を評価したい!! ・DBにインサートされた可変な値の評価をしたい ・システム日付:フォーマットチェック、あり得ない日付の評価 ・現在1つずつ評価しているため、まとめて評価したい 上記の要望は、既存実装だと難しいことがわかりました。 なので、おのみ〜は上記の観点を踏まえて新しく実装することにしました。
くる日もくる日も、実装とテストに明け暮れます。 帰る頃には日を跨いでいることも多々あり、あまりにも残業が多いと チームリーダーから見張られる日々。
5.(省略)完成しました。 ◎そんな毎日が続く中、おのみ〜はなんとか自動評価機能を完成させました。 詳しいことは業務機密ですので口外することはできませんが、 既存で使用していた仕組みと “DBunit”という単体テストツールを使いました。 また、xmlを使ってごにょごにょしました。 そのためのxml生成ツールもVBAで作りました。 作ったツールでは、 ・登録した値を動的に評価する ・コンソールに期待値と実値を出力させて、テスト実施者と開発者に対してバグ調査の取り掛かりを
楽にする お客さんより評価をいただき、現在プレテストで動いています。 おのみ〜の単体テスト自動評価プロジェクトはこれにて終了です。 めでたし、めでたし。
テスト自動評価の良い部分 ▪ 品質面 ①評価観点が属人化せず、実施担当者によるテストのばらつきを防止できる。 ②テストの妥当性が向上する。 ▪ コスト面 ①テストの実行から比較評価までを自動化することにより、テスト実行の工数を削減できる。 ②テスト自動化によって生まれた時間を使って、妥当性の高いテストシナリオやテストパラメータ を準備することができる。
テスト自動評価の悪い部分 ▪ 運用・保守が大変 仕組みづくりの際に運用について立て付けておいたのでよかったですが、 改修が発生するとなると割とコストがかかる。 ▪ 知識がある程度必要 今回作成した機能には、ある程度何がどんなことしているのか読み解く必要があります。 ある程度の知識やテスティングフレームワークについて知っておくと 機能を改修する場合に楽なのですが、理解していないと難しい。。。
皆さんへ ①自動テストしたければ、まずブレない軸を作る こと。 ②いつでも誰でも簡単に触れる基準の 自動テストを考えるとやさしい世界になる...かも。
テスト オススメ本 《自動テストでのオススメ本》 ・初めての自動テスト Webシステムのための自動テスト基礎 初心者向けの内容が多く含まれますが、自動テスト周辺の考え方が整理されていました。 テストのピラミッドとしてテストのレベルと目的の整理からテストの保守性、モックや TDDなど一通り触 れられています。 《ソフトウェアテストのオススメ本》 ・知識ゼロから学ぶソフトウェアテスト
【改訂版】 開発者はテストの基本は知っておくべきです。 テストの基本を知らないで開発して品質の良いコードは書けないのです。コードが書けるからといってテ ストの概念が常識だけで何とかなるものではない、ということです。そのことが良く理解できました。
ご清聴いただき ありがとうございました!