本文主要是介绍【命运只会眷顾努力的人四】ケース作成,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
生命不息,奋斗不止!(送给也曾迷茫的你)
目録
- 一般ロジック
- ・網羅性
- ・限界値・境界値
- ・キーブレイク
- ・項目編集
- 計算ロジック
- 入出力
- ・0件処理
- ・CSVファイル
- DB処理
- ・更新・登録処理
- ・最大桁数
- ・commit件数
- ・SQL文関連処理
- ・GROUP BY
- ・ORDER BY
- ・ROWNUM
一般ロジック
・網羅性
是否对所有的命令、分支进行了确认,包括正常系和异常系
分支包括:
单个项目的上下段编辑(A项目的数据是由B项目的前四个字符和C两个项目的数据组合而成);
一个项目分为多个项目(A项目的数据一是B项目的前四个字符,A项目的数据二是B项目的后四个字符);
多个项目的组合(A项目的数据是B项目的数据加上C项目的前两个字符加上D项目的数据组合而成)
************************************************************
B:"12345678"
C:"abcde"
D:"+-*/"
1.单个项目的上下段编辑:A = "1234" + "abcde" ; A = "1234abcde"
2.一个项目分为多个项目:A1 = "1234" ; A2 = "5678"
3.多个项目的组合:A = "12345678" + "ab" + "+-*/" ; A ="12345678ab+-*/"
************************************************************
・限界値・境界値
是否确认了在极限、边界值下的动作是适当的。0件、1件、N件的情况是否全部设计好了
限界値(极限值):最大值(max-1,max,max+1)、最小值(min-1,min,min+1)、空格、ZERO和Null
境界値(边界值):最大值,最小值NUMBER型:最大值、最小值、中间值的确认(前后0削除,没有0,一个0,多个0,后0)
CHAR型:全位数、未满位的确认(前space削除,没有space,一个space,多个space)
关于小数数字的编辑(金额 / 单价),整数、小数的情况是否分别准备
※小数部是全位数的情况,小数部不是全位数的情况等是否也有考虑
- java 中的舍入
************************************************************double a=0.75;double b=-0.75;System.out.println(Math.ceil(a)); -- 1.0System.out.println(Math.round(a)); -- 1System.out.println(Math.floor(a)); -- 0.0
************************************************************System.out.println(Math.ceil(b)); -- -0.0System.out.println(Math.round(b)); -- -1System.out.println(Math.floor(b)); -- -1.0
************************************************************
- Excel 中的舍入
远离零值:roundup、round、rounddown
・キーブレイク
项目中含有主程序和子程序时,对于键值的更换,可能需要经过子程序的特殊处理后,再返回来继续执行主程序,这时就涉及到 break 的测试
・項目編集
在设置不符合项目位数(不满位)的位数的情况下,是否考虑了左对齐,右对齐和填充字符。
是否以全半角混合形式确认了字型的项目
是否确认发生位数溢出的情况(不要乱码)
計算ロジック
计算符号:加减乘除的优先级
溢位:数据库设定的类型是4位整数,6666+6666 会引发数据库异常,要进行输入满位确认
输入时要做成全负数,负数正数混合,全部正数的数据
输出时要做成小于零,等于零,大于零三种情况的数据
入出力
・0件処理
确认输入件数为0的情况了吗
(特别是输入输出I/F(表单、CSV、文件、DB)各项目)
输入件数不是0件,但要处理的数据是0件的情况
・CSVファイル
对于CSV文件的数值项目,能否在EXCEL中使用数值系统函数。
以此确认处理文件的数据类型,例如用sum()函数,计算非数值型数据结果会返回0
DB処理
・更新・登録処理
在有必需项目和任意项目的情况下:
1、是否确认了只输入必需项目的情况
2、必需项目和包括任意项目在内的情况
如果除固定值条件以外的提取项目为NULL许可,则全部为NULL
・最大桁数
用最大位数正确处理吗?
・commit件数
提交的位置、次数是否妥当
部分commit处理(比如10件)
正常
小于提交:9件的时候
等于提交:10件的时候
大于提交:30件的时候
异常
小于一轮:9件出异常
一轮过后:11件出异常
两轮过后:22件出异常
・SQL文関連処理
关于SQL语句的测试,是否也设定了针对GROUP BY、ORDER BY和ROWNUM的情况:
・GROUP BY
做成数据的组数 = key + 1 ,同一组的数据要 >= 2 ,组间数据只有一个 key 值不等,组内非键值数据要各不相同
key1 | key2 | key3 | column | group |
---|---|---|---|---|
6001 | 888 | 777 | 100 | 1 |
6001 | 888 | 777 | 200 | 1 |
6001 | 888 | 777 | 300 | 1 |
6001 | 888 | 999 | 400 | 2 |
6001 | 888 | 999 | 100 | 2 |
6001 | 899 | 777 | 100 | 3 |
6001 | 899 | 777 | 200 | 3 |
6001 | 899 | 777 | 400 | 3 |
6002 | 888 | 777 | 100 | 4 |
6002 | 888 | 777 | 400 | 4 |
6002 | 888 | 777 | 500 | 4 |
6002 | 888 | 777 | 500 | 4 |
・ORDER BY
做成数据件数 = key + 1 ,依次替换一个 key,输入数据顺序不等于输出数据的顺序
key1 | key2 | key3 | order |
---|---|---|---|
6001 | 888 | 999 | 2 |
6002 | 888 | 777 | 4 |
6001 | 888 | 777 | 1 |
6001 | 899 | 777 | 3 |
・ROWNUM
抽出条件有 rownum = 1 的时候,写在where 条件的最后,来测试是否只取到正确的一条数据
- 满足条件的数据只有一条
- 满足条件的数据有多条
这篇关于【命运只会眷顾努力的人四】ケース作成的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!