開発現場で保守性の高いTDD/BDDを実現するための3つのポイント――テストレベル/網羅性とはいまさら聞けないTDD/BDD超入門(4)(1/3 ページ)

開発現場でTDD/BDDを導入するためのポイントを大きく三つに分けて解説。テストレベルや網羅性、サイクルタイムについても紹介します。

» 2014年10月17日 18時00分 公開
[きょんSTAR(テスト自動化研究会)]

現場でTDD/BDDを導入するときの疑問を解決

「いまさら聞けないTDD/BDD超入門」のインデックス



 TDDBDDTDDBDD

 TDDBDD


 

 3


 使Boris BeizerBeizerBeizerBP





 1





 

 FooAaaBbbCccBbbCcc





 FooAaaBbbCccBarXxxYyyZzz





 JSTQBJapan Software Testing Qualifications Board


 Growing Object-Oriented Software Guided by TestsGOOS





 





 





 


 





 1





 





 





 





 


 GOOS


 

 

 

 Web -  -DSL


 2


 


 


 

 Groovy/

 0
class WhenCoveringDivision extends Specification {
 
    def "should cover division without error"() {
        expect:
        dividend / divisor == quotient
        where:
        dividend | divisor || quotient
        6        | 1       || 6
        6        | 2       || 3
        6        | 6       || 1
        10       | -1      || -10
        -10      | 2       || -5
        -10      | -10     || 1
        0        | 1       || 0
        0        | -1      || 0
    }
 
    def "should cover division error"() {
        when:
        dividend / divisor
        then:
        thrown(ArithmeticException)
        where:
        dividend | divisor
        1        | 0
        0        | 0
        -1       | 0
 
    }
}

 上記例は一関数であり、副作用がなく標準APIなので、詳細なテストケースは省略してあります。筆者が仮に割り算関数を自作するなら、「極大値」「極小値」「null」など言語やツールに応じてさまざまなパターンを追加もしくは減らします。

       1|2|3 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。