二、团队项目:二次开发
至此,我们有了初步的与人合作经验,接下来投入到更大的团队中去。
也具备了一定的个人能力,能将自己的代码进行测试。接下来尝试在别人已有的基础上进行开发。
上一界51冯美欣同学的项目:http://www.cnblogs.com/maxx/
1.每个团队从Github上fork这个项目的源代码;
https://github.com/RABITBABY/We-have-bing
2.了解、部署、运行这个项目,理解其功能及实现;
3.进行必要的测试,发现软件的bug并记录,并进行bug的排除;
- 简要说明如何下载部署运行这个项目;
- 补充这个软件的单元测试并提交到Github上;
- 解释说明找出的bug及修复情况;
- 列出每个团队成员的个人贡献分。
在这次团队合作中进行测试找了下网上的一些测试资料:
主要来源:http://huihai.iteye.com/blog/1986568
我们有下载“数学口袋精灵”APP进行使用,界面做得挺美观,也很可爱,但也发现了一些bug,bug如下:
1、做完一组题目后,按返回键回到初始界面后点击开始,会发现提示APP停止运行,要重新打开APP才能再次进行使用;
2、伴随的音乐不能关闭;
3、题目中的阶乘题目在一组题目中重复出现多次,例如在我一次做题过程中,“1!”出现了3次;
4、答完题出现的提示语中“哦”字没有完全显示出来;
5、在手机不开声音的时候不能再每道题目做完的时候知道自己是否答对,要在有声音的时候通过声音才可以辨别;
6、有时会出现一样的选项;
APP的单元测试:
在这里我们测试选出基于该程序源代码中具有代表性的代码进行单元测试,计算公约数的方法setNumeratorAndDenominator(int a, int b)。
在这里我们新建了一个测试类与被测试类
int setNumeratorAndDenominator(int a, int b){ // 设置分子和分母 int c = f(Math.abs(a),Math.abs(b)); // 计算最大公约数 int numerator = a / c; int denominator = b / c; if(numerator<0 && denominator<0){ numerator = - numerator; denominator = - denominator; } return c; } int f(int a,int b){ // 求a和b的最大公约数 if(a < b){ int c = a; a = b; b = c; } int r = a % b; while(r != 0){ a = b; b = r;; r = a % b; } return b; }
该被测试类的值返回给测试类c值以测试
public void textone() { double sum; sum=cal.setNumeratorAndDenominator(3, 6); Assert.assertEquals("错误 ",sum,3,0); }
如图,3和6的公约数是3,因此它显示正确(没错误)。如果写的是2,它会显示有错误。
而在把分母改为0的情况下,它也会有错误,显示BU ZERO .
github地址:https://github.com/xujiayi-gg/team.git
关于MATHAPP的测试
关于如何在Eclipse导入安卓项目的文件:
首先,从世界那里下载adt-bundle-windows-x86_64-20131030androi(这里分32位还是64),解压,运行它的ANDROIOD.manager。它会自己安装eclisepe环境下所需的android条件所需要的包。打开elsiepe后,它会自己要求安装该SDK,之后,我们就会神奇地发现在import项目的界面下,gerenel多了android选项;如图:
这时候,导入android项目就好,那么这时候,如何解决无法导入import.java.*的问题呢,这个时候,我们可以又见该APP项目,点JAVA BUILD PATH->ADD LIBRARY->JRE SYSTEM LIBRARY ,导入即可,如图: