ことの発端 新卒2か月目にして、早速開発者テストで考慮漏れを発生させた私。 「顧客が組んだ計算式の動作を担保するUT(ユニットテスト)を書く」という防止策の対応が急務でした。 無限に増えていくテストケースとの格闘、PICTやテスト手法の学習等、色々あった結果、全ての網羅は出来ないという結論にたどり着きました。 最低限担保する部分を決めてテストケースを出してみると46,000件になりました。 46,000件のテストケースを実行しなければならない 今回のテストケースとしては、実行する式、取りうる引数の値、期待する計算結果の3つを保持しておく必要がありました。 保持する方法としては、以下の2つを考えた結果 protobufを使用する方法 golangコードを生成する方法 binaryファイルにすると型情報が欠落してしまい上手くテストケースを表せなかったことから、golangコードを自動生成する方