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
テスト自動評価_むかしばなし.pdf
Search
miii22
April 16, 2020
Programming
0
540
テスト自動評価_むかしばなし.pdf
miii22
April 16, 2020
Tweet
Share
More Decks by miii22
See All by miii22
たかがテスト_されどテスト_.pdf
miii22
0
320
もくもく会のススメ.pdf
miii22
0
130
とある商人と小人たちのオブジェクト指向物語.pdf
miii22
1
660
えんじにゃーから見たユニットテストのはなし.pdf
miii22
0
320
おのみ__棚卸するってよ_.pdf
miii22
1
330
Other Decks in Programming
See All in Programming
開発者から情シスまで - 多様なユーザー層に届けるAPI提供戦略 / Postman API Night Okinawa 2026 Winter
tasshi
0
210
QAフローを最適化し、品質水準を満たしながらリリースまでの期間を最短化する #RSGT2026
shibayu36
2
4.4k
Apache Iceberg V3 and migration to V3
tomtanaka
0
170
CSC307 Lecture 03
javiergs
PRO
1
490
Oxlint JS plugins
kazupon
1
1k
[KNOTS 2026登壇資料]AIで拡張‧交差する プロダクト開発のプロセス および携わるメンバーの役割
hisatake
0
300
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
620
生成AIを使ったコードレビューで定性的に品質カバー
chiilog
1
280
CSC307 Lecture 09
javiergs
PRO
1
840
今こそ知るべき耐量子計算機暗号(PQC)入門 / PQC: What You Need to Know Now
mackey0225
3
380
AI時代のキャリアプラン「技術の引力」からの脱出と「問い」へのいざない / tech-gravity
minodriven
21
7.4k
CSC307 Lecture 02
javiergs
PRO
1
780
Featured
See All Featured
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
117
110k
The untapped power of vector embeddings
frankvandijk
1
1.6k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Heart Work Chapter 1 - Part 1
lfama
PRO
5
35k
Building Adaptive Systems
keathley
44
2.9k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.9k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2k
For a Future-Friendly Web
brad_frost
182
10k
4 Signs Your Business is Dying
shpigford
187
22k
Ruling the World: When Life Gets Gamed
codingconduct
0
150
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.1k
How to build a perfect <img>
jonoalderson
1
4.9k
Transcript
テスト自動評価 むかしばなし おのみ〜(@miiisa22who)
自己紹介 ▪ Name おのみ〜 ▪ Age 27 ▪ 好きなこと お昼寝
▪ 最近の悩み 福岡人は何故焼き鳥 を食べる時に最初は 豚バラからなのか
1.テスト自動評価との出会い ◎昔むかし、あるところに「おのみ〜」というひとりのエンジニアがいたそうな。 おのみ〜のお仕事はエンジニアです。 お客さんから言われた お願い事(要件)を叶えるお仕事をしています。 ◎ある朝、おのみ〜はお客さんに「テストの品質を上げてよ!」と言われました。 お客さんの話によると、「単体テストで防ぐことができたはずの障害が商用で発生した」とのこと。 商用障害。非常に怖い言葉ですね。 おのみ〜はガクブル震えながら、詳しい話をお客さんから聞くことにしました。 ((((;゚Д゚)))))))ひえええええ…
2.おのみ〜、考える。 ◎お客さんから話を聞く中で出てきた課題。 それは、”対象機能に対する経験・スキル依存=属人性 “という問題でした。 おのみ〜が参画している現場では、テスト設計者と実施者が違います。 もちろんどちらもエンジニアですが、テスト対象機能について知識がない実施者が テストを行うと、試験観点が理解できていない中でテストを進めてしまいます。 テスト設計者が確認をすることでバグが混入することは未然に防げますが、 クロスチェックを行い、テスト結果が不合格の場合は モジュールの改修・試験の再実施
というコ ストがかかります。 さて、これではいくら工数があっても足りません。 おのみ〜は、開発者としてチームに参画していたので単体テストについて身を以て知っていま す。 どうにかして解決できないものか、とおのみ〜は考え始めました。
⒊おのみ〜、考える。Part 2 ◎お客さんよりお願い事を聞いたおのみ〜は、早速仕組みを考えました。 経験・スキルに依存することでより工数がかかっているのであれば 設計者観点で作られた期待値と実データを自動で評価すれば良さそう!ということで どうにか自動化する方法を考えてみました。
イメージこんな感じ テスト実行 テスト ファイル 自動比較 実行結果 テスト レポート 今回のスコープ はココ!
※テストケース実行は自動化済み。
4.おのみ〜、開発する。 ◎おのみ〜は、仕事にくる日もくる日も仕組みを考え取り組みました。 浮かんだ仕組みを形にするべく、実装して「あーでもないこーでもない」と悩み続ける日々。 更に、お客さんからの要望として下記のお願い事が出てきました。 ・DBの値を評価したい!! ・DBにインサートされた可変な値の評価をしたい ・システム日付:フォーマットチェック、あり得ない日付の評価 ・現在1つずつ評価しているため、まとめて評価したい 上記の要望は、既存実装だと難しいことがわかりました。 なので、おのみ〜は上記の観点を踏まえて新しく実装することにしました。
くる日もくる日も、実装とテストに明け暮れます。 帰る頃には日を跨いでいることも多々あり、あまりにも残業が多いと チームリーダーから見張られる日々。
5.(省略)完成しました。 ◎そんな毎日が続く中、おのみ〜はなんとか自動評価機能を完成させました。 詳しいことは業務機密ですので口外することはできませんが、 既存で使用していた仕組みと “DBunit”という単体テストツールを使いました。 また、xmlを使ってごにょごにょしました。 そのためのxml生成ツールもVBAで作りました。 作ったツールでは、 ・登録した値を動的に評価する ・コンソールに期待値と実値を出力させて、テスト実施者と開発者に対してバグ調査の取り掛かりを
楽にする お客さんより評価をいただき、現在プレテストで動いています。 おのみ〜の単体テスト自動評価プロジェクトはこれにて終了です。 めでたし、めでたし。
テスト自動評価の良い部分 ▪ 品質面 ①評価観点が属人化せず、実施担当者によるテストのばらつきを防止できる。 ②テストの妥当性が向上する。 ▪ コスト面 ①テストの実行から比較評価までを自動化することにより、テスト実行の工数を削減できる。 ②テスト自動化によって生まれた時間を使って、妥当性の高いテストシナリオやテストパラメータ を準備することができる。
テスト自動評価の悪い部分 ▪ 運用・保守が大変 仕組みづくりの際に運用について立て付けておいたのでよかったですが、 改修が発生するとなると割とコストがかかる。 ▪ 知識がある程度必要 今回作成した機能には、ある程度何がどんなことしているのか読み解く必要があります。 ある程度の知識やテスティングフレームワークについて知っておくと 機能を改修する場合に楽なのですが、理解していないと難しい。。。
皆さんへ ①自動テストしたければ、まずブレない軸を作る こと。 ②いつでも誰でも簡単に触れる基準の 自動テストを考えるとやさしい世界になる...かも。
テスト オススメ本 《自動テストでのオススメ本》 ・初めての自動テスト Webシステムのための自動テスト基礎 初心者向けの内容が多く含まれますが、自動テスト周辺の考え方が整理されていました。 テストのピラミッドとしてテストのレベルと目的の整理からテストの保守性、モックや TDDなど一通り触 れられています。 《ソフトウェアテストのオススメ本》 ・知識ゼロから学ぶソフトウェアテスト
【改訂版】 開発者はテストの基本は知っておくべきです。 テストの基本を知らないで開発して品質の良いコードは書けないのです。コードが書けるからといってテ ストの概念が常識だけで何とかなるものではない、ということです。そのことが良く理解できました。
ご清聴いただき ありがとうございました!