【Junit Experiment】Junit 软件质量测试实验–日期格式规范性+字符串格式规范性

测试方法

        使用Junit和 @Test、@Before、@After、@BeforeClass、@AfterClass用法,并结合黑盒测试方法进行程序测试。

实战题目

        1.实现函数String NewDivision(String innumber),输入一个字符串包含两个数字,用逗号分隔,例如“123,234”,“11.1,2”。对字符串进行解析,返回两个数相除结果。输入数字可以是整数或者小数,并且程序可以对非法输入进行处理和识别,例如输入一个数,没有逗号,输入非数字等。

        2.编写函数,RightDate(String date),date表示日期,包含年月日(个位数月份前加0,如,4月->04),例如“19870411”、“20201211”。RightDate函数用来判别输入日期是否正确,合法输入年份范围[1987,2021]。假定被调试的程序能接受一切符合规定的日期,拒绝所有不符合规定的日期。

题目分析

        对于问题1,需要从字符串的长短和内容进行判断,字符串长短较为容易,而字符串内容可根据题目特点来,即该字符串最大特点为以逗号分隔两个数字,先解决数字问题,数字可分小数或者整数,可用正则表达式进行判断,再解决逗号问题,直接判断字符串中逗号的个数比较der,可通过split(“,”)后字符串的个数以及字符串的内容是否为null进行解决。最后,从业务要求分析,该题为除法运算,自然还有除数为零这个问题。

        对于问题2,延续第一题的分析方法,从字符串的长短和内容进行判断。内容方面,首先是字符方面,该字符串应当全是整数,用正则较为方便,其次该题是日期,分为年、月、日。将这三者进行排列组合逐步排查,单个排查,自然是从时间范围,双个排查,月和日有着31天的问题,三个排查,有着闰年二月二十九日问题。

代码模块

第一题

第二题


  1. package JunitTest1;
  2. import java.util.regex.Pattern;
  3. //2. 编写函数,RightDate(String date),date表示日期,
  4. // 包含年月日(个位数月份前加0,如,4月->04),
  5. // 例如“19870411”、“20201211”。
  6. // RightDate函数用来判别输入日期是否正确,合法输入年份范围[1987,2021]。
  7. // 假定被调试的程序能接受一切符合规定的日期,拒绝所有不符合规定的日期。
  8. public class RightDate {
  9. public boolean runnian(int x){
  10. if ((x%4==0 && x%100!=0)||(x%400==0))
  11. return true;
  12. else
  13. return false;
  14. }
  15. public String rightDate(String s){
  16. Pattern pattern = Pattern.compile("[0-9]*");
  17. if(s.length()!=8||(!pattern.matcher(s).matches())){
  18. return "日期格式不规范--请检查日期符号";
  19. 来源:北村南

    声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年6月26日
下一篇 2022年6月26日

相关推荐