ブログ情報 | コンピュータサイエンス2020年のソフトウェア・エンジニアリング作業の瀋陽航天大学 |
---|---|
運用要件 | https://edu.cnblogs.com/campus/sau/Computer1701-1705/homework/10583 |
コースの目的 | 開発プロセス「高品質」のソフトウェアに精通 |
ジョブズゴール | ユニットテストの練習 |
JUnit5を使用してユニットテストの練習
1.トピックス要件:
問題:与えられたN [1]の配列からなる整数(おそらく負)、[2 ]、[N] [3]、... ,, 配列を見つけ、など[I] + [I + 1] + ... + [J ] とサブセグメントの最大値。
マックス{0、[I:与えられた定義は、負の整数とサブセグメント0、そのように定義され、必要な最適値である場合 ] + [I + 1] + ... + [J]} 、1 <= l <= J <= N
例えば、([1]、[ 2]、[3]、[4]、[5]、[6])=( - 2、 11、-4,13、-5、-2)、および20サブセグメントの最大。
- 「Baiduの百科事典」からの引用
2プログラム:
そのため、最近自己のJavaのため、タスクを完了するためにJava言語を使用して練習することに決定。これは、最終的には書いた後、プログラムを再検討し、古典的な列を題し、研究データ構造のコースの中で最も下位の問題を追求して練習してきたが、いくつかは忘れてしまいました:(1)デモ:
(2)アルゴリズムのフローチャート。
3決定される/条件カバレッジ
(1)は、概ね4つの経路に分割されているアルゴリズムのフロー条件によって見ることができます。(A)
(B)BCF
(C)bcdg
(D)bcdh
(2)決意に分けることができる:
(A1)I <SUM(A2)Iは、= SUM
(B1)ThisSum> MaxSum(B2)ThisSum <= MaxSum
(C1)ThisSum <0(C2)ThisSum> = 0
そして、プログラムループが含まれているため、実際には、テスト/条件テスト要件を満たすように決定されたが、明確にするために、本明細書に表さ、3つのテストケースから選択されます:
テストケース | カバレッジパス | 判定範囲 | 期待される結果 |
---|---|---|---|
[1,2,3,4,5] | BCF / A | A1、A2、B1、C2 | 15 |
[-1、-2、-3、-5] | bcdg / A | A1、A2、B2、C1 | 0 |
[2、-1、-1] | bcdh / BCF / A | A1、A2、B1、B2、C2 | 2 |
テストコードチャート。
コードアドレス:ポイントI、私のポイント!
附属書:PSPの作業記録表:
プロジェクト | 録音結果 |
---|---|
日付 | 2020年4月5日 |
開始時間 | 夜3時 |
終了時間 | 夜9時00分 |
行数をコーディング | 57 |
エラーの数 | 0 |