さて今回は
「プロが教える超ざっくりシステム開発」
の総合テスト編となります。
総合テストの前工程をまだご覧になっていない方はこちらをご覧ください。
今回は「プロが教える超ざっくりシステム開発」の結合テスト編となります。 結合テストの「結合」って? 「結合」をWikipediaで調べると「2つ以上のものが結び合わさること」とあります。ここでの「もの」とはシステムでいう …
総合テストって何やるの?
総合テストは、すべてのソフトウェア、ハードウェアなどを組み合わせて、
要件定義工程で決めたことが利用者が利用する環境で実現できているかを確認します。
納品前の最終工程であり、この工程をクリアするこでめでたくお客様に納品することになります。
さて、結合テスト工程もそうなのですが、総合テストはシステムの形態によって
実施する範囲やボリュームが異なってきます。
オンプレの場合は、本番サーバーの実機、お客様環境等のネットワーク、UPS、など
実際に運用する機器・環境を使って、システムに不具合がないかを確認します。
テスト用の環境でテストを通過したソフトウェアを新しい本番環境でシステムが使えるのかを確認するため
ソフトウェアの機能が一通り動作することも確認しますし、非機能テスト、ネットワークの疎通、
SSL証明書など確認項目が多くなります。
一方、クラウドの場合は結合テスト工程でクラウド上の本番環境を使うこともあります。
その場合は、後述する非機能テストも結合テスト工程で実施しますし、ネットワーク等のインフラも
基本的には本番環境となるため、総合テスト工程で確認することは少なくなります。
もちろんクラウドの場合でも、
・結合テスト:ステージング環境(テスト環境)で実施⇒テストデータなどをクリアして、本番環境として利用
・総合テスト:本番環境で実施
と分けることがあります。
スクラッチ開発は前者をご提案しておりますし、カスタマイズ開発は前者では難しいため後者となります。
非機能テストとは?
さて、「非機能テスト」という言葉が出てきましたがこれが一般の方には少々難しい話となります。
ISO25010においてはソフトウェアの品質モデルが2つ定義されています。
・利用者から見た利用時の品質
・開発者から見た製品の品質
「利用者から見た利用時の品質」は、
・利用者の満足具合
・楽しさや満足感をもたらす
・ビジネスのリスクを軽減する
など我々では確認・担保できないものになります。
もちろん要件定義時にはこのような特性も踏まえて、システムを定義していきます。
「開発者から見た製品の品質」はテストで確認することができます。
以下の8つの特性が定義されています。
・機能適合性・・・機能の過不足はないか、要求を満たせるか
・性能効率性・・・応答性能、CPU使用率など
・互換性・・・Windows10と11の双方をサポートするか、iPhoneはサポートするがAndroidはしないなど
・使用性・・・操作しやすい画面レイアウトか
・信頼性・・・障害が発生した時にすぐに復旧できるか、など
・セキュリティ・・・不正アクセスされないか、データを改ざんされないか、など
・保守性・・・バグをすぐに修正できる環境・体制にあるか、など
・移植性・・・ほかの環境に移すことが可能か、どのくらい労力を要するのか、など
これら品質特性は、要件定義時にお客様にヒアリング、ご提案差し上げることで事前に定義しています。
利用者の方はあまり意識することはないかもしれませんが、このテストがまた大変なんです。
たとえば、
連続稼働しても問題が発生しないか確認するテストなんかは、何日間も動作させ続けたりします。問題が見つかれば、修正してまた最初からやり直し。
10分間に1万人のアクセス(接続)に耐えれるようにする必要があるのであれば、10分間に1万回のアクセスを実現するツールと設定を準備したりと。
お客様はあまり意識されていなくてもこういったことをきちんと確認しておかないと
・ログインするのに30秒もかかる
・知らないうちに不正アクセスされている
・サーバが故障したけどバックアップデータがなく過去のデータを紛失してしまう
など、システムが安全快適に運用できなくなります。
まとめると
話を戻すと総合テストとは簡単に言うと、
・ハードウェアもソフトウェアもすべて本番のものを使ってシステムが要求通りに利用できるかテストする
・開発ベンダーから納品する前の最終テスト
となります。
既存システムからのデータ移行が必要な場合は、この工程の前に移行作業が必要となります。
この「データ移行」も計画~設計~リハーサルと非常に大変な作業なのですが、機会があれば別の記事にしたいと思います。
次回は、いよいよお客様が主体で実施する「受入テスト」について書いてみようと思います。
あともう少しだけお付き合いください。
さて今回は「プロが教える超ざっくりシステム開発」の受入テスト編となります。このシリーズにおいては、今回で最終回となります。 総合テストの前工程をまだご覧になっていない方はこちらをご覧ください。 受入テストって誰がやるの? …