エンジニアのお仕事は、
・どんなシステムを作るかを決める(要件定義)
・大まかな設計図を作る(基本設計)
・具体的な部分の設計図を作る(詳細設計)
・実際にシステムを作る(実装)
・作ったシステムがちゃんと動くか確認する(テスト)
という流れで進んでいきます。
そのなかのテストという部分では、環境にもよりますが、テストを実施したことを示す、「エビデンス」というものが必要になることがあります。
ここでは、テストのエビデンスについて、思っていることを書いていこうと思います。
エビデンスとは?
エビデンス=証拠
つまり、「テストを行って問題なかったことを示す証拠」のことです。
では、どんなものが証拠となるのでしょうか。
それは、対象となるシステムによって変わってくると思います。
Webアプリケーションであれば、画面のスクリーンショットを要求されるかもしれません。
バッチ処理が対象であれば、データの状態になると思います。
それらを、excelなどにまとめて、資料として提出したりします。
エビデンスを作るのは大変です
今の現場では、エビデンスは一切作成していません
どんなテストをしたかのケースを作成するだけです。
エビデンスを作成しないことについては、メリット、デメリット、それぞれあると思います。
ただ、一つ言えることは、自分にはエビデンスを作成しないスタイルが合っている、ということです。
エビデンスを作成しないメリット
エビデンス作成に使っていた時間が削減される
テストの合間に、画面をエクセルに保存しする、というのは、想像しているよりずっと大変です。
一つや二つではないので、膨大な量となり、きれいにまとめないと、すぐに混乱して、収集が付かなくなります。
そのため、ファイル数、シート数はもちろん、それを保存しておくフォルダまでもが、階層ができていくほど多くなったりします。
エビデンスを作成する意味はあります。たしかにあります。
お客様に提出する資料としての役割や、不正を防止するという役割も果たしているでしょう。
しかしながら、不正など行う気のない人にとって、エビデンスの作成を行っている時間ほど、非生産的と感じられる時間はありません。
「あーもうホントこの作業意味ないよなぁ」
「これがなきゃ、二時間早く終わるのになぁ」
なんて思っていた気がします。
なぜなら、直接的には、エビデンスを作る作業はシステムの品質を良くすることはないからです。それなら、それに使う時間を、もっと別のテストに使えたら、と思ったりするわけです。
保存する資料の量が減る(容量の問題)
上でも少し書きましたが、エビデンスは膨大な量になります。
大抵は、共有のファイルサーバ等に置かれると思いますが、そこにもコストがかかっていると考えると、ちょっといたたまれないですね。
エビデンスを作成するメリット
テストの信頼性が上がる
証拠として残さないといけないわけですから、確実に動作の確認を行わなければなりません。
何かあったときに自分たちを守ってくれるものになる
議事録の存在は、言った言わないのケンカをなくすためのものだと思うのですが、
エビデンスがあれば、やったやらないの話で困ることはなくなりますよね。
その時点のシステムの動作を確認できる
システムは、日々修正されていくもの。
何か問題があったときに、「この時点まではこの動きをしていた」という情報は、調査の材料としては最も必要なものになります。