![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
前回単体試験に関して質問させていただいたものです。
前回の質問では記載情報が不足していた為(指摘あり)再度質問させていただきます。
現在単体試験の試験項目書を作るしております。その際どういった試験項目をつければいいのかが分からなくなり質問に至りました。
単体試験というものは色々な用途があると思いますが今回は「プログラムのロジック検証」をする為に行います。
調べた結果以下を満たすものという結論になりました。
・全ての条件式処理の正当性検証
⇒Aの場合、Bの場合、それ以外の場合などという条件が、
仕様通りに処理されるかどうか。
・限界値分析による処理の正当性検証
⇒処理を行う上での最大値、最小値、対象外値が、
仕様通りに処理されるかどうか。
・同値分割による処理の正当性検証
⇒いくつかのグループから代表値を設け、その値を処理させた時に
仕様通りに処理されるかどうか。
これらを念頭に入れたうえで前回のコピーになりますが以下5パターンに関しては
どういった試験項目を作成すべきかをご教授いただきたいと考えています。
【パターン1】
private void Run()
{
FormatCheck();
AutoRun();
}
【パターン2】
private void Run()
{
//g_Lenghtはグローバル変数
g_Length = 10;
AutoRun();
}
【パターン3】
private void Run()
{
//g_Length、rec_Length共にグローバル変数
g_Length = rec_Length;
AutoRun();
}
【パターン4】
private void Run()
{
if(g_Length == 10)
{
g_Length = rec_Length;
}
else if(g_Length == 4)
{
g_Length += 1;
}
}
【パターン5】
private string GetString(string c)
{
return c + "\n";
}
※この5パターンはこういうときはどういった試験項目になるんだろうと、イメージしながら
適当に作った例です。その為プログラムに意味は全くありません。
以上、ご教授お願い致します。
No.4ベストアンサー
- 回答日時:
> 次の作業として他言語間のコンバート作業が予定されているのですがプログラムの仕様書が残ってないそうなのですがこの場合コンバートした結果を単体試験で確認するには、どうすべきですか?
正攻法としては。
(1)旧プログラムは「仕様通りに作成されていると仮定」して、プログラムを解読して、「仕様書」を作る
(1-1)仕様を確認して、期待される処理と一致しているか、等の確認を行う。
(1-2) 上記仕様書を基にテストパターンを作成し、旧プログラムをテストして、仕様書が正しいかどうか確認する
(2) (1)で作った仕様書を基に、新言語でプログラムを作成する。
(2-1) 仕様書を基にテストパターンを作成し、新プログラムをテストする。
(2-2)旧プログラムと新プログラムとで、動作に差は無いか確認する
No.5
- 回答日時:
>調べた限りでは単体試験は各モジュールごとのIN(引数及び外部変数)とOUT(戻り値及び外部変数)が正しく出ているかを調べる
それは試験項目ではなく、単体試験とは何をするものかの説明なだけでは(辞書に「単体試験」という項目があって、その説明みたいな)?
他の人もいわれていますし私も何度も書いていますが、試験項目は関数やモジュールなどの仕様がわからないことには出せません。
No.3
- 回答日時:
少し難しく考えすぎているように感じます。
そもそも「コードを提示して、そのコードにあった試験項目を作る」という考え方が
単体試験の意味からずれています。
「この入力に対してはこの出力を期待する」というパターンのリストを作ればいいだけです。
private void Run()
{
FormatCheck();
AutoRun();
}
……と、コードだけを提示されても単体テストのテスト項目は作れません。
・何を意図して作られた関数か?
・システムとして、どういう入力を想定しているか?
・システムとして、どういう処理・出力を期待しているか?
という部分がはっきりして初めて単体テストが行えるわけです。
No.2
- 回答日時:
ソフトウェアのテストの技法とか本を入手して、まず多くの知識に目を通した方がいいですよ。
圧倒的な知識不足です。
学生かプロかも提示して欲しいですね。
それに一言単体テストと言いますが、少なくとも3つの方法があるでしょう。
どの方法を取っているのか、質問文の読み手としては気になるところです。
またプログラム的に意味のないものは検討の価値がありません。
この手のものは形から入ろうとしてもダメで、意味から入る必要があります。
なので、テスト対象の具体的な仕様があってこそ、どのテスト項目をどう採用すべきかなどが決まるわけです。
この回答への補足
次の作業として他言語間のコンバート作業が予定されているのですがプログラムの仕様書が残ってないそうなのですがこの場合コンバートした結果を単体試験で確認するには、どうすべきですか?
※私はIT企業の研修生です。
No.1
- 回答日時:
>・全ての条件式処理の正当性検証
> ⇒Aの場合、Bの場合、それ以外の場合などという条件が、
> 仕様通りに処理されるかどうか。
(略)
「仕様通りに」と書かれていますが、その「仕様」はどこですか?
前の回答でも同じような事書いたと思いますけど。
int
foo(int a, int b)
{
return a + b;
}
という(間違っているかもしれない)コードから本当の仕様がわかりますか?
テスト対象となるコードから想定するテスト項目は、そのコードが正しいという仮定の上で作成される事になるので、テスト項目としての意味はありません。
この回答への補足
調べた限りでは単体試験は各モジュールごとのIN(引数及び外部変数)とOUT(戻り値及び外部変数)が正しく出ているかを調べる
こういう試験ってないのでしょうか?
認識間違ってるのかな
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Perl perl このテキストファイルを簡単に配列に入れるには? 2 2022/04/27 20:24
- その他(プログラミング・Web制作) pythonリストの特定の値を表示htmlで表示できない 2 2022/05/14 05:48
- その他(社会・学校・職場) 大学授業で教員の話を聞き流す学生 3 2022/07/25 13:51
- その他(悩み相談・人生相談) 好きな人がかつて国家試験の受験生だった、現在も好きな人が国家試験の受験生であるという方に質問です。 1 2023/05/05 14:43
- 弁護士・行政書士・司法書士・社会保険労務士 ★行政書士試験の行政法についての質問になります。 行政不服審査法についての質問になります。 ◆質問事 1 2023/07/24 20:13
- 国家公務員・地方公務員 公務員試験の数的処理で苦戦しています。 1 2023/01/30 08:56
- 数学 『◯と●の帰納法』 2 2023/04/19 20:57
- 運転免許・教習所 仮免許取得済みの場合の一発試験受験方法を教えてください。 自動車教習所に通っており、 第一段階は修了 5 2023/03/22 15:10
- Java 問題作成のWebアプリの作り方を教えてください 1 2022/11/26 22:01
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel-VBA コンテンツの作成日時
-
window.onload = alertでエラー
-
正しいHTMLのマークアップが学...
-
texに関する初歩的な質問
-
Visial C++におけるプログラミング
-
VBで画像から線で囲まれた場所...
-
テスト仕様書について
-
C#単体テストで同クラス内の呼...
-
P2P地震速報のEEW APIの仕様書...
-
テスト仕様書作成って初心者(...
-
バグの確認って
-
HWNDへの変換
-
外部設計の仕様書
-
VBScriptを使いたい。
-
WEBサイトテスト仕様書について
-
開発後のテスト方法の勉強について
-
納品の定義,システムの動作の常...
-
Select Caseステートメント 「...
-
AtomPubでlivedoorブログに記事...
-
納品 vs ご納品 どちらが正し...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
texに関する初歩的な質問
-
VBからBeckyを使用したメール送...
-
C#単体テストで同クラス内の呼...
-
HWNDへの変換
-
JUnit結果出力をファイルに書き...
-
UNIX:テキストファイルのNULL...
-
Verilogの参考書のお勧めを教え...
-
テスト仕様書作成って初心者(...
-
ハノイ塔の非再帰について
-
外部設計の仕様書
-
P2P地震速報のEEW APIの仕様書...
-
文字をなぞるとポップアップが...
-
自作ゲームについて・・・
-
Excel-VBA コンテンツの作成日時
-
ルート証明?
-
ホームページ・ビルダーで「e...
-
設計書~テストまでの勉強法を...
-
仕様書のサンプルってありませ...
-
テストオペレーターとして採用...
-
Visial C++におけるプログラミング
おすすめ情報