インターン生、新卒に向けてエンジニアの仕事や考えを紹介する連載です。
今回は「テスト」についてです。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
<まとめ>
・プロセスはつながっている
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
■ テスト
システムのクオリティを担保するために行います。
■ テスト設計
クオリティはシステムの目的に依存します。そのためテストはシステムの目的から設計されます。実施するテストの種類と範囲を考えます。システムの中心となる箇所を注力的にテストすべきです。
■ 自動化
形式的なテストは自動化が望ましいです。システムの規模に応じて仕組み化を進めましょう。
■ プログラムの正しさ
プログラムを十分に正しいと証明する動機からプログラムの構造化は進みました。プログラミングとテストはセットの関係にあります。
■ リリース
テストが完了するとリリースです。リリースは事故が起きやすい作業です。事故が起きにくい仕組みを導入し、何か起きても迅速に対応できるように入念に準備します。
■ 継続的な改善
サービスは改善が続きます。リファクタリングも含みます。リリースがスタート地点です。継続的に改善を行う体制を整えましょう。最終地点はシステムのクローズです。
■ まとめ
要件定義からシステム開発のプロセスを見てきました。伝えたかったことは「全てのプロセスはつながっている」ということです。視野の広いエンジニアリングを心掛けましょう。