テスト自動化とコスト削減【2021年10月】

個人的に見返したいやりとりなのでまとめ
4

自動テストの効果はコスト削減かどうか

teyamaguさんとtsuemuraさんのやりとり

teyamagu @teyamagu

人に聞かれたので私見をメモ 自動テストと同じことを手動で無限のコストをかければ大体実現できるので,自動テストの効果はコスト削減だと思う派です ただし,その効果が真に有益なのは高頻度リリース時で,その際はテスト回数が増大し,現実的なコストで実現するために自動テストは必須だと思う.

2021-10-30 14:24:49
teyamagu @teyamagu

コスト削減というより,コスト増加抑制かな

2021-10-30 14:53:56
tsuemura @tsueeemura

自分の意見は真逆でした。自動化を通じて安定した冪等な手順が作られることに価値があるので、手動のテストとは全く目的が違うと考えています。もちろん、手動テストで自動テストと全く同じスクリプトを作るという前提であればそうかもしれませんが、実際は手動テストでそこまでやらない(と思う) twitter.com/teyamagu/statu…

2021-10-30 16:10:01
teyamagu @teyamagu

@tsueeemura おー、面白い! 冪当な手順ができるとバリエーション含めスケールを簡単にできたり、安定したプロセス構築できたりメリットあるけど、それって無限のコストかけて良かったら実現できないかな。ミスしても気にしないだけの大人数での確認や開発者と同等な理解のあるプロセス職人が常にいる形とか。

2021-10-30 17:13:08
teyamagu @teyamagu

@tsueeemura 現実では、無限のコストはかけられないので、冪当性を実現したり、CIなどのプロセスで誰でもできるようにして効果的に開発している、と思ってます

2021-10-30 17:25:16
teyamagu @teyamagu

コメントでより適切な文言がわかったかも。 開発などで、何か実現したいこと(安定したプロセスによる効率化とか)があって、それを実現するには手動ではコストがかかりすぎる・現実的ではないため、自動テストで実現する。 私は上記の最後の部分をもって、「コスト削減」と考えているのだと思う

2021-10-30 17:57:53
HARADA Kiro @haradakiro

@teyamagu 人間の注意力という希少なリソースのコストを下げたいんですよねぇ。

2021-10-30 18:22:19
teyamagu @teyamagu

@haradakiro ですね。あと、人間のスキルや特性のバラつきに対応するためのコストを下げたいですねー

2021-10-30 18:28:03
tsuemura @tsueeemura

@teyamagu いや、それは無限のコストを掛ければ人力でGoogle検索が出来ると言っているのと同じではないですか?確かに出来ますけど、Google検索は別にコスト削減を目的にしているわけではないですよね

2021-10-30 19:57:52
tsuemura @tsueeemura

@teyamagu もちろん、人力で自動テストと同じことは出来ます。出来ますが、テスト手順をより厳密で具体的で再現性のある形に実装し、常に検証可能な状態で開発を進めるサイクルを人力で実現しようとした人はいなかった(多分)わけで、それを単にコスト削減目的としてしまうのはちょっと違うのでは

2021-10-30 20:01:09
teyamagu @teyamagu

@tsueeemura 「人力でGoogle検索ができる」が正しく理解できているか自信がないですが,Google検索の目的はコスト削減ではないと思います.しかし,検索のインデックス作成や結果の提供を自動というか機械的にできるようにしたことは現実的なコストでより多くのことを検索するためだと思うんですが認識違いますか

2021-10-30 20:20:54
tsuemura @tsueeemura

@teyamagu はい、現実的なコストで実現されたのは現実の出来事なので当たり前で、かつコンピューターが無ければ「現実的には」実現不可能だったはずです。そこに「もし人間がやってたらxx億円掛かってた」のような仮定を持ち込んでコスト削減の話にするのはズルいなと思いました。

2021-10-30 20:41:02
tsuemura @tsueeemura

@teyamagu テスト自動化で実現された価値は、人間の仕事をコンピューターの仕事に置き換えるだけではないのに、あたかも元々人がやっていた仕事かのように「コストが削減された!」と言うのは、順番が違うんじゃないかな……と思います。

2021-10-30 20:42:10
Yoshiki Ito/伊藤由貴 @yoshikiito

ズルさは感じないけれども、自分もそこはコスト削減とは言わない部分だなー

2021-10-30 22:47:19

teyamaguさんとyoshikiitoのやりとり

Yoshiki Ito/伊藤由貴 @yoshikiito

私の中での「コスト削減」が、「同じ品質のものをより低いコストで作れるようにする」だと捉えているので、それとは違うよということをいつも言ってました。 「コスト削減」の意味が変われば、効果と言えるかどうかも変わるなぁ(こなみかん twitter.com/teyamagu/statu…

2021-10-30 20:17:26
Yoshiki Ito/伊藤由貴 @yoshikiito

(山口さんにではなく)コスト削減とおっしゃいますが品質コストのうちどのへんのことです?って114514回位言ってる中に

2021-10-30 20:24:21
Yoshiki Ito/伊藤由貴 @yoshikiito

コスト削減、に「PS5を製造するのに原価を下げて利益を増やす」的なニュアンスを持ってた

2021-10-30 20:34:50
teyamagu @teyamagu

@yoshikiito 私の感覚は、やらなければならないこと・実現したいことを人力でやると多くの場合で非現実的な人力を必要として,でもやらなければならないこと・実現したいので実現しようとする際に自動化・機械化で実現しているので,その差分はコストの差として表れるので,「コスト削減」と称していますね.

2021-10-30 20:35:03
Yoshiki Ito/伊藤由貴 @yoshikiito

@teyamagu なるほど!(捉え方の違いがあって勝手に楽しくなってきました 「なりたい状態に達するためにかかるコスト」を削減する、というイメージですかね

2021-10-30 21:52:46

Kazu SUZUKIさんコメント

Kazu SUZUKI @kz_suzuki

鉄平さん末村さん伊藤さんの自動テストについての議論を一読して思い浮かんだ図 コストパフォーマンス = 効果/費用 工数削減は分母が小さくなること。 でもテスト自動化で分子が大きくなる面も見逃すべきではない。 単なる代替でコストが下がるだけでなく新たな価値を生むことで、コスパが上がる

2021-10-30 20:55:13

テスト自動化とコストダウンの話

goyoさんにしさんfreddiefujiwaraさんやりとり