结队编程2-单元测试(107120)

我爱吃麦片 我爱吃麦片     2022-08-26     190

关键词:

码市链接: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.加减乘除功能... 查看详情