白盒测试实战——NITIAN Word

最近,我在编写一款自娱自乐的单词对比记忆的软件NITIAN WORD,这里选取它的一部分逻辑,利用白盒方法进行测试,算是理论联系实际吧。


主要逻辑代码:

		String wordsArray[] = new String[Global.input_words_ceiling];
		
		NTDictionary dict = new NTDictionary();
	
		while(!endFlag) {
			System.out.println("----------------------------------------------------------");
			System.out.println("please input a group of English words");
			System.out.println("words separated by a space, and end up with the key Enter");
			System.out.println("and enter q to quit");
			
			sc = new Scanner(System.in);
			String st = sc.nextLine().trim(); // wipe out the head and the tall space
			
			if(st.equals("q")) {
				endFlag = true;
				System.out.println("you have exit normally");
			} else if(st.equals("")) {
				System.out.println("the input should not be empty");
			} else {
				
				//use regular expression to make sure that the string only consists of English characters
				Pattern pattern = Pattern.compile("^[A-Za-z\\s]+$");
				Matcher matcher = pattern.matcher(st);
				boolean isAllEngFlag = matcher.matches();
				
				if(isAllEngFlag == true) {
				
					wordsArray = st.split("\\s+");  // wipe out more spaces and get each word
					
					int isExist = dict.judgeExistence(wordsArray); //judge whether there is the identical entry
					
					if(isExist == 0) {
						dict.collectWords(wordsArray);//if not exist, collect the entry	
						System.out.println("yeah, SUCCESS");
					} else {
						System.out.println("there is already entry");
						System.out.println("the line num is-----> " + isExist);
					}
				} else {
					System.out.println("your input shoud only be composed of English characters");
				}
			}

程序流程图:



白盒测试之语句覆盖:


白盒测试之判定覆盖:


测试情况:


总结:

这里语句覆盖和判定覆盖所用的最少测试用例一模一样,这是因为只要执行到一个可执行语句,就意味着结束,所以有多少个执行语句,就有多少个测试用例,从而达到语句覆盖的目的。而在判定覆盖中,只要用例能全部执行到可执行代码实际上就涵盖了所有的分支,同样一个用例只能执行一个可执行语句。所以二者的用例一模一样,证明完毕。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值