今回の記事では、少し「情報システム」のテストについて、顧客側でのポイントについて記載したいと思います。
なお、情報システムのテストにつきましては、今まで以下の記事で、自分なりの考え方をご紹介しました。
「ソフトウェアの総合テスト」
「顧客のシステム受入テスト(運用テスト)」
それらに記載されている内容も含めて、今回、IPA「共通フレーム2007」や経済産業省「情報システム・モデル取引・契約書」で整理されている事項と関連付けし、少し私の考え方を再整理してみたいと思います。
なお、明らかに構築ベンダーの責任範囲となる「単体テスト」や「ソフトウェア結合テスト」については、今回の記載内容には含まれません。
あらかじめご了承願います。
まず、「共通フレーム2007」や「情報システム・モデル取引・契約書」において、
原則として顧客側で実施責任があると解釈可能なテストを列挙してみます。
<共通フレーム2007>
1.6.10_システム結合 ※開発者による実施や支援も必要に応じて選択する
1.6.11_システム適格性確認テスト ※同上
1.6.13_ソフトウェア受入れテスト
1.7.2_運用テスト
<情報システム・モデル取引・契約書>
・システムテスト(共通フレーム2007の「1.6.11_システム適格性確認テスト」に相当)
※構築ベンダーも関与する場合、請負契約または準委任契約で業務委託する
・受入・導入支援(共通フレーム2007の「1.6.13_ソフトウェア受入れテスト」等に相当)
※構築ベンダーの支援を求める場合、準委任契約で業務委託する
・運用テスト(=共通フレーム2007の「1.7.2_運用テスト」に相当するものと認識)
※構築ベンダーの支援を求める場合、準委任契約で業務委託する
おおむね以上のようになります。
以下、基本的にIPA「共通フレーム2007」の言葉を用いて記載を進めます。
(一部、あえて別の言葉を利用します。)
これらのテストでは何をテストするのか?についてですが、所謂「Vモデル」がその答えになります。
1.6.10_システム結合 は、1.6.3_システム方式設計 のとおりに開発されたかのテスト、
1.6.11_システム適格性確認テスト は、1.6.2_システム要件定義 のとおりに開発されたかのテスト、
などの考え方により、テストを実施することになりますね。
それらも考慮しました上で、私はまず、
「上流工程において、顧客が構築ベンダーへ請負契約で業務委託していない範囲については、原則、それに対応するテストは顧客の責任で実施する必要がある」
と考えています。
しかし、顧客側の組織体制や技術力などでは、十分なテストを独力で実施できない場合が多々あります。
その場合においては、「構築ベンダーによるテスト支援」を受けて実施する必要性がある、と考えています。
更には、それらの支援作業をシステム構築契約の締結前に明確化しておく必要があります。
それらを明確化するノウハウが顧客側にない場合、(私のような)外部コンサルタントの支援を受けることが得策であると考えています。
また構築ベンダーのテスト環境ではOKでも、顧客側の環境ではNGという事態も発生します。
そのため、前述の「構築ベンダーによるテスト支援」の必要性はやはり高いと考えられるのですが、
それ以前に、十分な総合テストを構築ベンダーに実施いただくことが重要です。
あらかじめ利用環境を明確化しておき、それに極力近い環境での総合テスト(実運用予定のハードウェアやOS等の提供、または実運用環境での構築ベンダーによるテスト)の実施を構築ベンダーの責任範囲で実施していただくことが大切です。
私は、それがソフトウェア総合テスト(1.6.11_システム適格性テストに近い概念)のポイントであるように感じています。
顧客側の情報システム部門の人員が乏しい(または情報システム部門が存在しない)場合などにおいては、原則として、構築ベンダーに請負契約で実施いただくことを明確化します。
また実際のテスト内容についても構築ベンダーから確認し、不足していると感じられる事項(テストケースを含む)は是正していただくよう、顧客側をご支援します。
次に、受入テストや運用テストについてですが、
これも顧客側の情報システム部門の人員が乏しい(または情報システム部門が存在しない)場合などにおいては、十分な実施が難しい場合があります。
よって、受入テストについては、
・構築ベンダーサイドで実施した総合テストのケースを利用して受入テストする
・特定部門や店舗についての過去(できるだけ長期間)の伝票を再入力してもらってテストする
・操作研修を受入テスト期間で実施する
などの工夫が必要になる場合があります。
少し乱暴に思われる内容もあるかもしれませんが、気をつけませんと、結局のところ受入テストをユーザー部門に協力していただけない、ということも発生する場合がありますので、いろいろ工夫も必要だと私は思っています。
また、運用テストについてですが、
これは既存システムの更改時には、完全並行運用を実施いただく必要があります。
実際のところ、この完全並行運用の結果をもってシステム合否判定がされますので、私は受入テストと運用テストを一体のものとして見なす場合があります。
更に、ユーザーの負担を軽減する工夫が必要になる場合があります。
完全並行運用の期間や拠点等を最小限にする、などの対応が、その一例になります。
これらにつきましては、過去の記事「顧客のシステム受入テスト(運用テスト)」をご参照下さい。
以上、情報システムのテストについて、私が考える顧客企業サイドのポイント等を再整理してみました。
少し疑問に思う内容もあるかもしれませんが、何かの参考になれば嬉しく思います。
<関連記事>
「超上流工程からシステム運用テストまでにおける考慮事項」
「準委任契約の特性について考える」
「準委任契約の特性のついて考える(その2)」
「準委任契約の特性について考える(その3)」
なお、情報システムのテストにつきましては、今まで以下の記事で、自分なりの考え方をご紹介しました。
「ソフトウェアの総合テスト」
「顧客のシステム受入テスト(運用テスト)」
それらに記載されている内容も含めて、今回、IPA「共通フレーム2007」や経済産業省「情報システム・モデル取引・契約書」で整理されている事項と関連付けし、少し私の考え方を再整理してみたいと思います。
なお、明らかに構築ベンダーの責任範囲となる「単体テスト」や「ソフトウェア結合テスト」については、今回の記載内容には含まれません。
あらかじめご了承願います。
まず、「共通フレーム2007」や「情報システム・モデル取引・契約書」において、
原則として顧客側で実施責任があると解釈可能なテストを列挙してみます。
<共通フレーム2007>
1.6.10_システム結合 ※開発者による実施や支援も必要に応じて選択する
1.6.11_システム適格性確認テスト ※同上
1.6.13_ソフトウェア受入れテスト
1.7.2_運用テスト
<情報システム・モデル取引・契約書>
・システムテスト(共通フレーム2007の「1.6.11_システム適格性確認テスト」に相当)
※構築ベンダーも関与する場合、請負契約または準委任契約で業務委託する
・受入・導入支援(共通フレーム2007の「1.6.13_ソフトウェア受入れテスト」等に相当)
※構築ベンダーの支援を求める場合、準委任契約で業務委託する
・運用テスト(=共通フレーム2007の「1.7.2_運用テスト」に相当するものと認識)
※構築ベンダーの支援を求める場合、準委任契約で業務委託する
おおむね以上のようになります。
以下、基本的にIPA「共通フレーム2007」の言葉を用いて記載を進めます。
(一部、あえて別の言葉を利用します。)
これらのテストでは何をテストするのか?についてですが、所謂「Vモデル」がその答えになります。
1.6.10_システム結合 は、1.6.3_システム方式設計 のとおりに開発されたかのテスト、
1.6.11_システム適格性確認テスト は、1.6.2_システム要件定義 のとおりに開発されたかのテスト、
などの考え方により、テストを実施することになりますね。
それらも考慮しました上で、私はまず、
「上流工程において、顧客が構築ベンダーへ請負契約で業務委託していない範囲については、原則、それに対応するテストは顧客の責任で実施する必要がある」
と考えています。
しかし、顧客側の組織体制や技術力などでは、十分なテストを独力で実施できない場合が多々あります。
その場合においては、「構築ベンダーによるテスト支援」を受けて実施する必要性がある、と考えています。
更には、それらの支援作業をシステム構築契約の締結前に明確化しておく必要があります。
それらを明確化するノウハウが顧客側にない場合、(私のような)外部コンサルタントの支援を受けることが得策であると考えています。
また構築ベンダーのテスト環境ではOKでも、顧客側の環境ではNGという事態も発生します。
そのため、前述の「構築ベンダーによるテスト支援」の必要性はやはり高いと考えられるのですが、
それ以前に、十分な総合テストを構築ベンダーに実施いただくことが重要です。
あらかじめ利用環境を明確化しておき、それに極力近い環境での総合テスト(実運用予定のハードウェアやOS等の提供、または実運用環境での構築ベンダーによるテスト)の実施を構築ベンダーの責任範囲で実施していただくことが大切です。
私は、それがソフトウェア総合テスト(1.6.11_システム適格性テストに近い概念)のポイントであるように感じています。
顧客側の情報システム部門の人員が乏しい(または情報システム部門が存在しない)場合などにおいては、原則として、構築ベンダーに請負契約で実施いただくことを明確化します。
また実際のテスト内容についても構築ベンダーから確認し、不足していると感じられる事項(テストケースを含む)は是正していただくよう、顧客側をご支援します。
次に、受入テストや運用テストについてですが、
これも顧客側の情報システム部門の人員が乏しい(または情報システム部門が存在しない)場合などにおいては、十分な実施が難しい場合があります。
よって、受入テストについては、
・構築ベンダーサイドで実施した総合テストのケースを利用して受入テストする
・特定部門や店舗についての過去(できるだけ長期間)の伝票を再入力してもらってテストする
・操作研修を受入テスト期間で実施する
などの工夫が必要になる場合があります。
少し乱暴に思われる内容もあるかもしれませんが、気をつけませんと、結局のところ受入テストをユーザー部門に協力していただけない、ということも発生する場合がありますので、いろいろ工夫も必要だと私は思っています。
また、運用テストについてですが、
これは既存システムの更改時には、完全並行運用を実施いただく必要があります。
実際のところ、この完全並行運用の結果をもってシステム合否判定がされますので、私は受入テストと運用テストを一体のものとして見なす場合があります。
更に、ユーザーの負担を軽減する工夫が必要になる場合があります。
完全並行運用の期間や拠点等を最小限にする、などの対応が、その一例になります。
これらにつきましては、過去の記事「顧客のシステム受入テスト(運用テスト)」をご参照下さい。
以上、情報システムのテストについて、私が考える顧客企業サイドのポイント等を再整理してみました。
少し疑問に思う内容もあるかもしれませんが、何かの参考になれば嬉しく思います。
<関連記事>
「超上流工程からシステム運用テストまでにおける考慮事項」
「準委任契約の特性について考える」
「準委任契約の特性のついて考える(その2)」
「準委任契約の特性について考える(その3)」