【理論と実践】システム開発・導入テスト

~病院職員が、安心して、仕事の生産性高く、充実して働ける未来の一助へ~

ご友人等へのメルマガ紹介はこちらから。
https://www.mag2.com/m/0001682907
ーーーーーーーーーーーーーーーーーーー
令和5年6月9日 病院経営の理論と実践 1853号

■システム開発・導入テスト

中神勇輝(なかがみゆうき)
ーーーーーーーーーーーーーーーーーーー

おはようございます。中神です。

〜今日のテーマ〜

本日は、経営情報システム、過去問から学びのシェアです。
同友館の「過去問完全マスター」が参考図書です。

今回の大テーマは、「システム開発・導入テスト」についてです。

さて、システムのテストは、基本的には開発途中の段階で行っていきます。
基本的なテストについて、3つ挙げてみましょう。

一つ目は、モジュールテストです。

プログラムモジュールごとに設計通りに動作することを確認します。
単体テストですね。
主に開発者側が行います。

二つ目は、システムテストです。

プログラムのモジュールを合わせた状態で設計通りに動作することを確認します。
組み合わせてのテストですね。
システム開発者側が実施することが多いですが、一部、発注者側が実施することもあります。

三つ目は、承認(検収)テストです。

システムの要件定義通りにシステム全体が動作することを確認します。
発注者側が指定して行います。

それでは、過去問に入っていきます!

【H25.19、R2.20】

よく聞くテストに、ホワイトボックステスト、ブラックボックステスト、
およびこれらの混合であるグレーボックステストがあります。

・ブラックボックステスト

テスト対象のシステム仕様(テスト対象の外部に対する振る舞い)に基づいてテスト項目を作成します。

テスト対象を内部構造の不明なブラックボックスと捉えて、
システム仕様で規定した入力情報に対して、規定通りの出力を行うかどうかをテストします。

ソフトウェア部分の内部構造を把握せずにテストします。
よって、テスト対象が小さい場合よりも、
テスト対象が大きい場合に起きる「組み合わせ部分のバグの摘出」に向いています。

ブラックボックステストで使うものに、決定表(ディシジョンケーブル)があります。
これは、考慮すべき条件と、その条件に対する結果の組み合わせを整理するマトリックスです。
テスト対象の項目を検討するために用います。

・ホワイトボックステスト

通常、テスト段階の初期に行います。

テスト対象のモジュールの内部ロジック(分岐や繰り返しなど)が正しいかどうかを試験します。
ホワイトボックステストの検討に使うものに、ステートダイヤグラムがあります。
これは、プログラムの内部状態(ステート)の遷移条件を整理するためのチャートです。

テスト対象の規模が小さい場合は、ホワイトボックステストの方が効果が高いです。

さて、その他のシステムテストについても確認していきましょう。

【H29.19】

・ビックバンテスト

すべてのモジュールを組み合わせてから一気に動作させるテストです。
システムの規模が小さく構造が単純なプログラムの場合に、効率的な開発を行うことができます。

・ドライバーとスタブ

上位モジュールと下位モジュールを結合してテストしたい場合に、
上位モジュールが完成していない場合に作成するモジュールは、ドライバー、
下位モジュールが完成していない場合に作成するモジュールは、スタブと言います。
テストそのものというよりも、テストをするための準備物です。

ゴロで覚えるとすると、「ドライなバスタブ」(上位と下位の順番)ですね(笑)

【R1.18】

・結合テスト

プログラムの部品やモジュールを結合して、全体の整合性を確認し、
インターフェイスが正常に機能しているかどうかをテストします。

実際に稼働した時の負荷状態などを確認することまでは必須ではありません。

・リグレッションテスト(回帰テスト)

保守などで、既存のシステムに修正を加えた場合、想定外の影響が出ていないか確認するテストです。

【H27.19】

・V字モデルにおけるテスト

システム開発の過程をさかのぼるようにして実施します。
単体テスト、総合テスト、受け入れテストの順番で行います。

・デシジョンテーブルテスト

テスト対象のプログラムの仕様を、
入力データパターンごとに出力されるデータやプログラムの振る舞いのパターンを表に書き出し、
プログラムがその表の通りに動作するかを確認するテストを言います。
つまり、入力時に、期待する出力結果が出るかをテストします。

【H30.21】

・運用テスト

発注者として、そのシステムが実際に運用できるか否かを人間系も含めて行うテストです。

・αテスト

アルファ版というベータ版の前の段階で、一部の機能だけ動作を確認します。
なるべく早期に性能や使い勝手を確認することが目的です。

・βテスト

ベータ版のシステム(正式サービス開始直前のシステム)を一部のユーザーに使用してもらい、
改善要望や不具合などの情報収集を行うことです。

・A/Bテスト

動作や見た目が異なる複数のソフトウェアユーザに公開し、どちらがユーザの反応が良いか調査することを指します。

・スモークテスト

ソースコードの開発や追加修正を終えたソフトウェアが正常に機能する状態にあるかを確認するテストです。
本格的なテストの開始すらできない品質のプログラムがテスト環境に提供されることを防ぐのが目的です。
最低限の確認を行います。

・モンキーテスト

対象箇所や操作手順などを事前に定めず、実施者がテスト項目をランダムに選んで実施するテストを言います。
アドホックテストとも言います。

さて、色々なテスト方法がありましたね。
これからは容易にシステムを作る時代に入っていくでしょう。
テストの方法を知っておくことは悪いことではなさそうです。
また、エクセルや普通の仕事でも、仕組み化したものが正常に機能するかチェックすることもあります。
応用の効くテスト・考え方だったと思います。

以上です。では、また明日(^-^)v

(当該内容は、私の所属する組織とは一切関係はなく、全ての文責は私個人に属します。)

テーマについて、ご要望あれば、コメントをどうぞ。

◇病院経営の見える化について公開講座(動画)の講師をする機会を頂きました。感謝(^_^)
https://hcmi-s.net/weblesson-hcm/jmp_consult_01/  (講座)
https://healthcare-mgt.com/article/iryo/jmp_consulting01/  (紹介)

◇過去の内容、記事はこちらから是非(^-^)
https://wakuwaku-kokoro.net/

◇試験勉強や本の学びをアウトプットしているYouTubeチャンネルは、こちらです(^-^)
https://youtube.com/channel/UC_PiglYG9qTBjlJ3jt3161A

この記事を書いたのは、こんな人。
ーーーーーーーーーーーーーーー
地方の中小病院に勤務する医事課畑出身の企画部門所属にする医療経営士2級。
名は、中神勇輝。2023年、医療経営士1級を受験予定。
(可能なら中小企業診断士も受験する予定。)
趣味は、ドラムと家庭菜園と筋トレ(HIIT最高!)と読書。