结对编程2
1.题目描述:
构造程序,分别是:
不能触发Fault。
触发Fault,但是不能触发Error。
触发Error,但是不能产生Failure。
2学习进度条:
点滴成就 | 学习时间 | 新编写代码行数 | 博客量(篇) | 学习知识点 |
第一周 | 10小时 | 0 | 0 | 了解软件工程 |
第二周 | 10小时 | 0 | 1 | 项目开题 |
第三周 | 15小时 | 0 | 1 | 开通博客、开展项目调查 |
第四周 | 20小时 | 256 | 1 | 需求文档、用例图、代码规范 |
第五周 | 15小时 | 0 | 0 | 软件工程 |
第六周 | 20小时 | 400 | 0 | 软件工程详细设计 |
第七周 | 18小时 | 150 | 1 | 软件工程 |
3. 结对编程
对象:蒋怡 2013110418
对方博客地址:http://www.cnblogs.com/dendai-05/
双方贡献比例: 1:1
照片:
4.代码:
1 //交换正数和负数的值 2 import java.util.ArrayList; 3 import java.util.Scanner; 4 5 6 public class Error { 7 public static Scanner input=new Scanner(System.in); 8 public static void main(String[] args){ 9 int one=input(); 10 int two=input(); 11 if(one*two>0){ 12 System.out.print("do not swap,fault is not triggered"); 13 return; 14 }else{ 15 if(one*two<0){ 16 swap(one,two); 17 System.out.print("fault is triggered"); 18 } 19 else{ 20 System.out.println("number should not be zero"); 21 } 22 } 23 24 25 26 } 27 28 public static int input(){ 29 int num=0; 30 System.out.print("please input one number:\n"); 31 while(true){ 32 if(input.hasNextInt()){ 33 num=input.nextInt(); 34 break; 35 }else{ 36 input.next(); 37 System.out .println("Illegal range, please input again: "); 38 } 39 } 40 return num; 41 } 42 43 44 //swap x ,y exist fault 45 public static void swap(int x,int y){ 46 x=y; 47 y=x; 48 System.out.print(x+" "+y+"\n"); 49 } 50 51 }
5.结果演示:
•1. 存在fault,但是不能触发Fault。
交换函数本身存在着fault,但是当输入的两个数同号时,不进行交换,因此没有触发fault。
•2.触发Fault,但是不能触发Error。
输入的两个数异号,但都不为0,因此触发了fault,但没有触发error。
•3.触发Error,但是不能产生Failure。
输入的数其中一个为0,触发了error,但仍然满足整数的要求,没有产生failure。
6.感想:
通过这次的结对编程,我对fault,error,failure有了基本的了解,同时也体会到了软件测试在软件开发的领域里起着至关重要的作用,学会如何高效的进行软件测试能够帮助我们更好的找出软件开发的缺陷。之前没有正确的测试方法,总是写完程序后再进行整体测试,这种低效率的测试方法会浪费大量的时间,并且不容易找出错误之处,这门课程让我认识到了单元测试和模块测试的重要性,学到了一些事半功倍的测试技巧。