タグ

テストに関するshunkeenのブックマーク (2)

  • 雑に作って、それから作り込んで、最後にテストを書く「テストラスト」開発 - give IT a try

    (この話は最初Twitterに書こうと思ったけど、長くなるのでブログに書くことにしました) 僕はRSpecやMinitestでテストを書くのは得意ですが、常にテストファースト(TDD)で開発するとは限りません。 今業務でやってるタスクはこんなふうに進めてます。 雑に動くものを作る ↓ 見た目をきれいにする&機能を作り込む ↓ テストを書く ↓ リファクタリングする この順番で開発する理由を以下に述べます。 雑に動くものを最初に作る理由 最初は見た目とか、異常系とか、細かい仕様とかを無視して、正常系が一通り動くものを作ります。 これはこれから作ろうとしているものの認識が合っているかどうかをPO(プロダクトオーナー)に確認するためです。 実際に動く画面を見せると「こんな感じでOK」とか「ここはこういうふうにしたい」というフィードバックをもらうことができます。 また、開発者としてもコードを書きな

    雑に作って、それから作り込んで、最後にテストを書く「テストラスト」開発 - give IT a try
    shunkeen
    shunkeen 2023/02/16
    「テスト書いてないとかお前それ@t_wadaの前でも同じ事言えんの?」のスタンド攻撃を受けそう。仕様が曖昧な時は探索的テストとか使うんじゃないのだろうか。よく知らないけど。/いや、GOOSか?
  • テストコードがコードの冗長化であることについて - きしだのHatena

    テストコードがコードの冗長化であるという話に、腑に落ちないという指摘がちらほらあるので、どういうことかを解説してみます。 このエントリについてです。 テストというのは、ソースコードの冗長化だと思う - きしだのHatena ※ ここでの冗長化は、英語Wikipediaでいう「Information redundancy, such as error detection and correction methods」のことですね。 まず、「これは冗長化だな」と納得してもらいやすそうな例として、間違いが絶対に許されないような計算をするシステムの実装を考えてみます。 このような場合に、同じ仕様を3つの組織に渡して独立に実装をしてもらい、計算が必要になったとき3つのモジュールを呼び出して多数決で結果を返すようにします。 このようにして正確さを担保するのは、冗長化と呼べると思います。 そして、これ

    テストコードがコードの冗長化であることについて - きしだのHatena
    shunkeen
    shunkeen 2023/01/26
    実装もテストも同じ仕様の別表現だから、仕様の観点から冗長化と言えなくもない、のか?でも、同じテストを通過したリファクタリング前後の実装、つまりはバージョン管理のほうが、個人的には冗長化っぽく感じる
  • 1