業務システムの開発ドキュメント標準化 第7回:結合テストと総合テスト
総合テストの手順 |
総合テストは、一般にシステムテストとも呼ばれています。業務アプリケーションにおいては、実際に業務で使うデータを使って、業務を運用するテストを意味します。既存のシステムがある場合は、現行業務と平行して同じデータを使って比較確認する平行本番テストということになります。 総合テストを行う際は、図7のような手順になります。 ![]() 図7:総合テストの手順 |
環境構築 |
結合テストまでは、開発マシンもしくはテスト用マシン上での確認試験となりますが、総合テストは原則として本番マシン上でのテストとなります。アプリケーションのテストだけでなく、ハードウェアやOS、ミドルウェアなどのシステム全體が正常に動作することを確認します。Webサーバや開発言語、DBMSなどのバージョンの組み合せによるトラブルや個別の障害なども少なくありませんので、本番とまったく同じ環境を構築してテストを行う必要があります。 |
データ移行 |
総合テストは、原則として本番と同じデータを使います。本番データを使うことにより、想定外のデータが存在していることが発覚したり、思うようにパフォーマンスがでないという問題が明らかになります。 そのために、マスタデータおよび殘データ、そしてトランザクションデータの移行を行う必要があります。これらの移行は、総合テストが終了した本番直前にも行うことになりますので、できる限り移行プログラミングを作成して何度でも移行できるようにします。 過去データを照會および分析用に移行したいケースもありますので、トランザクションデータに関しても、どのデータをいつからの分まで移行するかを事前によく検討し、必要なデータの移行プログラムを用意しておきます。 |
ユーザ教育 |
総合テストの主役はエンドユーザです。エンドユーザに業務を行ってもらうことにより、開発サイドでは気づかなかったような問題點が指摘されます。そのために、操作マニュアルや運用マニュアルを用意して、ユーザに対して何回か教育を行う必要があります。 |
テストシナリオ実施 |
総合テストのシナリオは、基本的に結合テストのシナリオと一緒です。結合テストが開発環境において行うのに対し、総合テストは本番環境で実施するという違いになります。 テスト仕様書も結合テストのものをコピー利用することになりますが、それに加えてパフォーマンステストやハードやネットワーク障害対応(イレギュラーテスト)、データのバックアップと復元など、運用面のシナリオも追加します(もちろん、これらのテストも結合テスト段階で実施している方が望ましいです)。 |
結果の照合・判定 |
平行本番テストの場合は、現行業務と同じデータを平行して入力し、その結果を照合して差異のないことを確認します。それに加えて、操作性や運用の容易さ、パフォーマンスなどの総合的な評価を得て、ユーザの合格をもらいます。不具合があれば、タイムリーに修正して再テストします。修正に時間のかかるものは、とりあえずできるシナリオから先にテストを進めることになります。 予定のシナリオがすべて終了し、発生した障害も対応して業務に支障がないことが確認できた段階で、ユーザ検収となりテスト終了です。ただし、月次処理や年次処理など、1ヶ月から數ヶ月後でなければ運用確認ができないような機能に関しては、擬似的に処理してその結果を確認したら検収をもらうことになります。 |
まとめ |
今回は、結合テストのテスト計畫プロセスにおけるドキュメントとして「結合テスト仕様書」のテンプレートを紹介しました。テストのシナリオとテストケース、テストデータの定義パターンについて理解できたと思います。 また、最終のテストとなる総合テストについては、手順や作業內容を簡単に説明しました。あくまでも業務アプリケーションをテスト対象としていますので、組み込み系ソフトウェアなどの場合は、少し內容が異なるということをご了承ください。 |
相關推薦
業務システムの開発ドキュメント標準化 第7回:結合テストと総合テスト
セス ソフトウェアの開発におけるテスト作業は、「テスト計畫」「テスト設計」「テスト実施」「テスト管理」という4つのプロセスで構成されます(図1)。 図1:テストの4つのプロセス テスト計畫プロセスでは、テスト全體の指標や概要をまとめます。テストの目的、
業務システムの開発ドキュメント標準化 第2回:機能一覧表とI/O関連図
請負で仕事をするために必要な2つの作業 システム開発の仕事では、仕様の追加や変更は日常茶飯事です。「これで仕様凍結!と宣言して、仕様変更を受け付けなければ良い」などとこちらの勝手を言う人もいますが、事はそう簡単にはいきません(安易な変更を抑制する効果はありますが
業務システムの開発ドキュメント標準化 第4回:詳細設計書(前半)
機能設計書のドキュメント體系 設計ドキュメント標準「DUNGEON」で定義されている設計工程のアウトプットは表1の通りです。「DUNGEON」では、基本設計書で骨組みを定義し、詳細設計書で肉付けを行います。つまり、基本設計書で作成したドキュメントはそのまま(必要
一起Talk Android吧(第一百回:Android中使用自定義控制元件)
各位看官們,大家好,上一回中咱們說的是Android中使用自定義佈局的例子,這一回說的例子是Android中使用自定義控制元件。閒話休提,言歸正轉。讓我們一起Talk Android吧! 看官們,我們在上一回中通過自定義佈局巧妙地實現了分隔線,不過這個分隔線中看
[從設計到架構]第四回:依賴的哲學(上)
http://www.cnblogs.com/anytao/archive/2008/12/02/1345389.html 本文將介紹以下內容: 關於依賴和耦合 面向抽象程式設計 依賴倒置原則 控制反轉 依賴注入 工廠模式 Unity框架應用 說在,開篇之前 在老
一起talk C栗子吧(第一百回:C語言例項--使用訊號量進行程序間同步與互斥一)
各位看官們,大家好,上一回中咱們說的是程序間同步與互斥的例子,這一回咱們說的例子是:使用訊號量進行程序間同步與互斥。閒話休提,言歸正轉。讓我們一起talk C栗子吧! 看官們,訊號量是由著名電腦科學家迪傑斯特拉(Dijkstra)提出的一種概念,專門用來
Revit二次開發第三回:模型線的建立與偏移
對於模型線ModelCurve的偏移,研究了好幾天,終於搞定。先稍微談下自己中間遇到的情況。 1.首先,API中並沒有提供直接的方法對ModelCurve進行偏移; 2.考慮到模型線的建立,需要用到引數Curve,因此想到了對先Curve進行偏移,API提供了相應的方法:
C#第四回:同一個解決方案中不同的CS檔案之間的合作問題
在Revit二次開發中,一個外掛往往附帶很多功能,不同功能,對應一個不同CS檔案,那若是大家都需要用到同一種方法,怎麼辦呢?比如a.cs中的A類中的A1()方法;b.cs檔案中B類中的B1()方法;方法1(不推薦):b中需要用到A1方法,則A a=new A();a.A1()
第九回:品味型別---值型別與引用型別(中)-規則無邊
本文將介紹以下內容: 型別的基本概念 值型別深入 引用型別深入 值型別與引用型別的比較及應用 1. 引言 上回[第八回:品味型別---值型別與引用型別(上)-記憶體有理]的釋出,受到大家的不少關注,我們從記憶體的角度瞭解了值型別和引用型別的所以然,留下的任務當然是
Revit二次開發第十回:判斷直線之間的關係
Curve.Intersect判斷兩條曲線之間的空間位置關係,返回值為1. SetComparisonResult.Overlap2. SetComparisonResult.Subset,3. SetComparisonResult.Superset,共線;注:使用前需將其
一起talk GDB吧(第四回:GDB呼叫棧除錯)
各位看官們,大家好,上一回中我們說的是GDB的斷點除錯功能,並且說了如何使用GDB進行斷點除錯。 這一回中,我們繼續介紹GDB的除錯功能:呼叫棧除錯。當然了,我們也會介紹如何使用GDB進行呼叫棧 除
一起talk GDB吧(第七回:GDB監視功能)
各位看官們,大家好,上一回中我們說的是GDB修改程式執行環境的功能,並且說了如何使用GDB修改變數 的值。這一回中,我們繼續介紹GDB的除錯功能:監視功能。當然了,我們也會介紹如何使用GDB的監視功
第五篇:文件合並與文件歸檔
方式 文件的 打包 指定 name 輸出內容 參數 tex -c 文件合並與文件歸檔 1.> 表示把>左邊命令的輸出內容覆蓋到右邊 >> 表示把>>左邊命令的輸出內容追加到右邊 例:文件合並 cat a.txt b.txt>c.
一起talk C栗子吧(第三十四回:C語言實例--巧用溢出計算最值)
gcc 空間 代碼 讓我 計算 max value 其他 存儲 點擊 各位看官們。大家好,上一回中咱們說的是巧用移位的樣例,這一回咱們說的樣例是:巧用溢出計算最值。 閑話休提,言歸正轉。讓我們一起talk C栗子吧! 大家都知
一起talk C栗子吧(第九十六回:C語言實例--使用共享內存進行進程間通信二)
class mar net 表示 func clas ber 數字 標記 各位看官們。大家好,上一回中咱們說的是使用共享內存進行進程間通信的樣例,這一回咱們接著上一回內容繼續說使用共享內存進行進程間通信。閑話休提,言歸正轉。讓我們一起talk C栗子
一起talk C栗子吧(第八十四回:C語言實例--使用信號進行進程間通信一)
split article 語言 方法 pin 第一個 ping num ont 各位看官們,大家好,上一回中咱們說的是進程間通信的樣例。這一回咱們說的樣例是:使用信號進行進程間通信。閑話休提,言歸正轉。讓我們一起talk C栗子吧! 我們在上一
Django入門與實踐-第19章:主題回復(完結)
borde comm object created ade tro blank type temp http://127.0.0.1:8000/boards/1/topics/1/reply/ http://127.0.0.1:8000/boards/1/topics/1
易學筆記--第2章:spring中的Bean/2.5 Bean的週期回撥
第2章:spring中的Bean/2.5 Bean的週期回撥/2.5.1 概念 概念 這裡的宣告週期指的是Bean在建立完成後和銷燬時這兩個時間點,對於不同的作用域這兩個時間點有所不同
一起Talk Android吧(第九十九回:Android中使用自定義佈局)
各位看官們,大家好,上一回中咱們說的是Android中的分隔線的例子,這一回咱們說的例子是Android中使用自定義佈局。閒話休提,言歸正轉。讓我們一起Talk Android吧! 看官們,我們在上一
第五期:崔永元公佈逃稅、我不是藥神投資方回本|網際網路行業公會
整理:網際網路行業公會題圖:網際網路行業公會國內要聞1、Find X成安卓首款支付寶刷臉支付手機2、歐洲電信巨頭Altice與華為合作 打造葡萄牙5G網路3、百度減持愛奇藝股權:套現2.59億美元4、美團迴應在京招司機:不是在為美團打車招聘司機,而是行政服務司機5、蘋果註冊十