关键词:
码市链接:https://git.coding.net/Luojiening/TeamworkTest.git
a. 需求分析:
1.把计算模块提取出来,单独创建一个类。
2.针对提取出来的计算类的接口函数做单元测试。
3.通过单元测试代码,测试计算类对于各种参数的支持;
a. 输入是有错误的,例如 “1 ++ 2”,
b. 在数值范围是 -1000 .. 1000 的时候,传进去 “10000 + 32768”,
c. 或者是 “ 248 / 0” 怎么办?
d. 怎么告诉函数的调用者 “你错了”? 把返回的字符串定义为 “-1” 来表示?
e. 那么如果真的计算结果是 “-1” 又怎么处理呢?
b. 设计测试框架, 模拟测试数据:
1.加减乘除功能测试
TEST_METHOD(AddTest) { Assert::AreEqual(test->Add(1.0, 2.0), 3.0); Assert::AreEqual(test->Add(5.0, 2.0), 7.0); } TEST_METHOD(SubtractTest) { Assert::AreEqual(test->Subtract(7.0, 2.0), 5.0); Assert::AreEqual(test->Subtract(5.0, 2.0), 3.0); } TEST_METHOD(MultiplyTest) { Assert::AreEqual(test->Multiply(7.0, 2.0), 14.0); Assert::AreEqual(test->Multiply(5.0, 2.0), 10.0); } TEST_METHOD(DivideTest) { Assert::AreEqual(test->Divide(14.0, 2.0), 7.0); Assert::AreEqual(test->Divide(6.0, 3.0), 2.0); }
测试截图:
2、测试计算类对于各种参数的支持:
输入是有错误的,例如 “1 ++ 2”以及分母为零的情况,输入错误时,返回"NO"
result = "NO";
Assert::AreEqual(test->integer_cal("++", 9, 1), result);
result = "NO";
Assert::AreEqual(test->integer_cal("/", 9, 0), result);
测试截图:
怎么告诉函数的调用者 “你错了”? 把返回的字符串定义为 “-1” 来表示?
那么如果真的计算结果是 “-1” 又怎么处理呢?
result ="NO"; Assert::AreEqual(test->fraction_cal("-", 2, 0, 1, 2),result); result = "-1"; Assert::AreEqual(test->fraction_cal("-", 1, 2, 3, 2), result);
如果计算结果错误的,返回值为“NO”,而计算结果为-1的返回值为“-1”
测试截图:
c. 小结与感受:
首先我觉得这次的单元测试很有必要,因为之前写的四则运算有许多不完善的地方,比如分数除法中分母为零的情况,通过测试我们找出异常并改善了代码,而且这次的这次的实验让我们的代码更模块化,条理更清晰。
d.体会
1.之前写的代码并没有分模块,加之是两个星期前的代码有些忘记自己写了什么,虽然有些注释,不过还是挺麻烦
2.第一次的实验只是考虑到最基本功能的实现,没有考虑到一些异常情况,如输入异常
3.实现代码的功能的模块化后提高了代码的可读性,以后若是再要修改也会方便许多。
PSP展示
PSP2.1 | Personal Software Process Stages | Time (%) Senior Student(/hour) | Time (%)(/hour) |
· Planning | 计划 | 2 | 2 |
· Estimate | 估计这个任务需要多少时间 | 24 | 25 |
· Analysis | 需求分析 (包括学习新技术) | 10 | 12 |
· Coding Standard | 代码规范 | 3 | 4 |
· Design | 具体设计 | 2 | 2 |
· Coding | 具体编码 | 6 | 5 |
· Test | 测试(自我测试,修改代码,提交修改) | 2 | 1 |
Reporting | 报告 | 1 | 1 |
photo:
结队编程
队伍成员:黄明炜:201421122097许晓烽:201421122112代码地址:https://gitee.com/huhulong/JieDuiXiangMu1.需求分析: (1)通过界面能给定参数,限定算式个数和操作数范围 (2)进度条显示计时,可以设置时间 (3)根据输入答案... 查看详情
结对编程2——单元测试
康建灿201421123017 郑怀勇201421123016 结对编程2——单元测试 结对编程需求分析:把计算模块提取出来,单独创建一个类。针对提取出来的计算类的接口函数做单元测试。实验要求:通过单元测试代码,测试加法是否能... 查看详情
结队编程练习2
一.题目要求1.自动生成小学四则运算题目(加、减、乘、除)2.生成带有真分数的算式。3.统计计算结果正确率二.需求分析1.有单独类提前知晓计算结果。2.有单独类可储存现有输入结果。3.两者可以比较。4.可统计输出与输入结果相... 查看详情
《结队-结队编程项目贪吃蛇--需求分析》
用户的特点: 由于本程序简单易操作,交互性好,对用户没有什么特别的要求。项目功能设计概述:1.需求分析: 本系统主要完成贪吃蛇的基本操作,满足余下几点要求: 1)利用方向键(或A,B,C,D)改变蛇的运... 查看详情
《结队-结队编程项目贪吃蛇--需求分析》
项目功能设计概述:1.需求分析: 本系统主要完成贪吃蛇的基本操作,满足余下几点要求: 1)利用方向键(或A,B,C,D)改变蛇的运行方向 2)空格键控制游戏的开始和暂停,并在随机的地方生成食物 3)蛇吃到... 查看详情
结对编程2——单元测试
结对伙伴:201421123048,201421123036coding.net地址:https://git.coding.net/YJh_/PairProject_2.gita.需求分析:测试上有哪些详细的需求?1.把计算模块提取出来,单独创建一个类2.通过单元测试代码,测试加法是否能正确工作3.通过单元测试代码... 查看详情
结对编程2-单元测试
小组成员:王杰(201421123055)、王震(201421123054)coding地址:https://git.coding.net/a506504661/danyuances.git一、需求分析:通过单元测试代码,测试加法是否能正确工作;通过单元测试代码,测试加减乘除功能。通过单元测试代码,测试... 查看详情
结对编程2——单元测试
郑怀勇201421123016 康建灿201421123017 代码在这 / 康建灿博客点这需求分析:把计算模块提取出来,单独创建一个类。针对提取出来的计算类的接口函数做单元测试。实验要求:通过单元测试代码,测试加法是否能正... 查看详情
结队-结队编程项目贪吃蛇--需求分析
1.目标贪吃蛇游戏能够稳定运行,有基本的功能。2.特点简单易操作,交互性好3.功能模块的需求包括游戏图形区域界面(比如经典的无米宫地图,方格)、游戏开始按钮、暂停按钮、退出按钮。主要完成游戏的开始、暂停、退出... 查看详情
结队-结队编程项目贪吃蛇--需求分析
1.目标贪吃蛇游戏能够稳定运行,有基本的功能。2.特点简单易操作,交互性好3.功能模块的需求包括游戏图形区域界面(比如经典的无米宫地图,方格)、游戏开始按钮、暂停按钮、退出按钮。主要完成游戏的开始、暂停、退出... 查看详情
结对编程2——单元测试
队友(林凯):201421123075本人:201421123076项目链接:coding题目要求:继续两人结对协作,把编码规范、领航员和驾驶员角色互换做到位。单元测试:有单元测试保证,有代码覆盖率。a.需求分析:测试上有哪些详细的需求?b.设计... 查看详情
结队-结队编程项目贪吃蛇-需求分析
1.目标贪吃蛇游戏能够稳定运行,有基本的功能。2.特点简单易操作,交互性好3.功能模块的需求包括游戏图形区域界面(比如经典的无米宫地图,方格)、游戏开始按钮、暂停按钮、退出按钮。主要完成游戏的开始、暂停、... 查看详情
结对编程2——单元测试
201421123003黄建英 201421123004黄美海码市链接:https://coding.net/u/hmhhh/p/UnitTest/git/tree/mastera.需求分析:1.把计算模块提取出来单独创建一个类2.通过单元测试代码,测试加减乘除功能3.通过单元测试代码,测试计算... 查看详情
结对编程2单元测试
成员:林 钊 --201421123105吴世荣--201421123119 王坤彬--201421123108 coding地址:https://coding.net/u/linzhao/p/UnitTest/git需求分析:1.整数加减乘除的测试;2.分数加减乘除的测试;3.最大公约数测试;4.判断真分数测试;计算模块:... 查看详情
结对编程2--单元测试(9597)
小组成员:林清青201421123095 郑 莹201421123097代码地址:https://coding.net/u/zy97/p/pp2/git/tree/master/ 一、测试需求分析a.把计算模块提取出来,单独创建一个类。b.针对提取出来的计算类的接口函数做单元测试.c... 查看详情
结对编程2——单元测试
周迪201421123089 黄睿201421123069 coding.net地址:http://git.oschina.net/hr2324/SoftEngHW1.我们的代码要使它的利用率大大提高,所以我们要通过单元测试进一步完善代码,发现细小的错误。于是这次就用JUnit进行了简单四... 查看详情
结队编程
通过我们三人组的努力,我们找到了一些小BUG,让我们一起来看看。 1.登录界面,在没有输入账号密码的时候,点击登录按钮会闪退。 解决方法:在登录程序的代码里加一个判断条件,触发这个条件就可以了。 ... 查看详情
结对编程2——单元测试
201421123022王若凡 201421123026 欧阳勇 详细代码a.需求分析: 把计算模块提取出来,单独创建一个类。针对提取出来的计算类的接口函数做单元测试。 a.加减乘除功能... 查看详情