「単体テストを手動で行いエビデンス取る」の破壊力 (710レス)
上下前次1-新
41(2): 2020/09/24(木)10:41 ID:2iTMkqwR(2/12) AAS
そうそう、結局こういう入力(ユーザによる操作や設定ファイルも含む)に対してこう動くようにしましたよ
としか言えない
だからエビデンスが重要だって言ってんじゃん
21が正解かどうかは誰にもわからないんだよ
もっと複雑な計算で客も式は知ってるけど
実際に計算した値はわからんようなのだったらどうやって出すよ?
PG「大丈夫、エクセルで数式でこのように出した値と一致しています!」
客「は?なんでそれが正しいの?」
PG「え?」
みたいになるやつはここの理解が足りない
省2
42: 2020/09/24(木)10:45 ID:27/WCIy4(3/12) AAS
> 21が正解かどうかは誰にもわからないんだよ
じゃあログ出す意味ないじゃんw
どうせ文字化け出力してても正解かどうかわからないだろ
43: 2020/09/24(木)10:47 ID:27/WCIy4(4/12) AAS
> もっと複雑な計算で客も式は知ってるけど
> 実際に計算した値はわからんようなのだったらどうやって出すよ?
計算式は神が作り出したものとか、いきなり湧いて出てきたって思ってそうw
高校レベルの数学はそうだね。計算式は覚えるもの
だけどな、本当は計算式っていうのは、ある値を出したいと思って
「計算式を作る」ものなんだよ。作るのは計算式。それがコード
44: 2020/09/24(木)10:51 ID:27/WCIy4(5/12) AAS
ゲームの当たり判定でも、あれとこれがぶつかったのは
どう計算すれば導き出されるんだ?って悩んで
ぶつかったという答えを出す計算式を作り出すものなんだが
本を読んで計算式をみて、ぶつかったかどうか?
この計算式を使えばぶつかったという答えが出るんだよ
みたいに思ってるんだろう。
自分でアルゴリズムを考えたことがないから
計算式ググって、そのとおり計算して
なるほど、これが計算した答えか。
答えなんて計算しないとわからんな。と言ってる
省1
45(1): 2020/09/24(木)11:29 ID:2iTMkqwR(3/12) AAS
フフフ、雑魚の遠吠えが心地いいなw
46(1): 2020/09/24(木)11:30 ID:7nzCtSCV(1) AAS
内部にジェネレータとかIOとかを持ってて、冪等じゃない関数のテストってどうやったらいいの?
そういうのは単体テストの対象外?
47(1): 2020/09/24(木)12:04 ID:27/WCIy4(6/12) AAS
>>45
1つぐらい何か言い返せよw
お前がやってるそれが遠吠えじゃねーかw
>>46
冪等性がなんで出てくるのか知らんが
与えられたデータ(引数だけじゃなくてすべての状態)が
同じであればその結果も同じになる
テストというのは、固定のデータを使って固定の結果と比較するもの
固定のデータが用意するのが難しいのであれば
その部分にスタブ(モック)を利用する
省2
48(1): 2020/09/24(木)12:35 ID:2iTMkqwR(4/12) AAS
>>47
だからなんの意味もねーってそれ
お前がエクセルで計算した値だろw
49(1): 2020/09/24(木)12:37 ID:sW11ypIO(1/2) AAS
>>41
>そうそう、結局こういう入力(ユーザによる操作や設定ファイルも含む)に対してこう動くようにしましたよ
>としか言えない
考え方が間違ってる
入力に対する出力が要求仕様通りになることをこういうテストケースで確認しましたよと言えればいい
21が正解かどうかは要求仕様による
テストケースを作る能力の有無の前に
要件定義がまともにできてることが必要
できてなければデスマーチ確定
50(1): 2020/09/24(木)12:40 ID:2iTMkqwR(5/12) AAS
>>49
だからそう言ってるじゃん
>>41にそう書いてあるだろ
51(1): 2020/09/24(木)12:51 ID:27/WCIy4(7/12) AAS
>>48
> お前がエクセルで計算した値だろw
何で計算するとかどうでもいい話だろ
何をする関数を作りたいのか?
作りたい関数は「何を入力とし、何を出力とするのか」
その仕様を決めてから関数を実装する。そして正しく実装されてるかテストする
お前は仕様を決めずに、関数を実装して
その関数が出力する答えが正しい!バグなんてない!って言ってんのか?
繰り返すぞ
仕様を決めてないのに関数を実装してんのか?
52: 2020/09/24(木)13:00 ID:wzh1JL/V(1) AAS
関数なんかフィーリングでつくるだろうふつう
関数の設計?関数仕様書みたいのをいちいち書かせるタイプのアフォなんか?
53(1): 2020/09/24(木)13:08 ID:2iTMkqwR(6/12) AAS
>>51
ホントだ
どうでもいいなw
だから>>6でもいいんだよな?
54: 2020/09/24(木)13:17 ID:sW11ypIO(2/2) AAS
>>50
何を書いたつもりなの?
55(1): 2020/09/24(木)14:21 ID:27/WCIy4(8/12) AAS
>>53
> だから>>6でもいいんだよな?
>>6には固定値が書かれてないから駄目だって言ってんだろ
理解できますか?
あ、そう。理解できない。
↓こうしろって言ってるだけなのに、理解できないのか?終わってるな
int S=sumAtoF(1,2,3,4,5,6);
int chkS=21;
if(S!=chkS)
{
省2
56: 2020/09/24(木)14:27 ID:2iTMkqwR(7/12) AAS
>>55
え?じゃあどうやって21って出したの?
こんなの固定値のわけないじゃん
57(1): 2020/09/24(木)14:29 ID:27/WCIy4(9/12) AAS
> え?じゃあどうやって21って出したの?
最初に関数を実装するんじゃやなくて
仕様を定義しましょうと言ってる
お前は仕様を決めずにいきなり関数書いて、その関数の実行結果を出力して
俺がコードにバグを入れるなんてありえない。だから21が正しい!と言ってるだけ。
テストを全くしてない
58(1): 2020/09/24(木)14:31 ID:2iTMkqwR(8/12) AAS
>>57
それで?
どうやって21を出したの?
ここが品質のすべてを担保してるのにどうでもいいわけないだろアホか
59(1): 2020/09/24(木)14:35 ID:27/WCIy4(10/12) AAS
>>58
> どうやって21を出したの?
「例:1,2,3,4,5,6を引数に渡したら21を返す関数が欲しい」
という要件
最初は関数(コード)は存在しない
最初に関数(コード)を実装してはいけない
実装した関数(コード)で出してはいけない
実装する前に決める話
どうやって21を出したの?
それはその関数が欲しい人に聞け
60(1): 2020/09/24(木)14:41 ID:2iTMkqwR(9/12) AAS
>>59
ええ?A+B+C+D+E+Fなんだけど?
上下前次1-新書関写板覧索設栞歴
あと 650 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.017s