项目描述_单元测试技巧:创建描述性测试

项目描述

项目描述

您的单元测试应尽可能具有描述性。 他们给您的反馈应该非常清楚,您甚至不必启动调试器并一步一步地检查代码以检查局部变量。 为什么? 因为那需要时间,而且我们很懒,对吗? 为此,您需要创建描述性测试。 有多种实现方法。 这是其中两个。

添加断言消息

断言消息通常可以在测试断言中指定为附加参数,并且在特定测试用例失败时,它们会作为失败消息出现。

例如,在jUnit中,您可以指定断言消息,例如:

assertEquals("The firstname of the two people should match if the clone was successful", "Fritz", person1.getFirstname());

另一方面,在MSTest中,必须将断言消息作为最后一个参数添加。

Assert.AreEqual("Fritz", person1.Firstname, "The firstname of the two people should match if the clone was successful");

注意,不要“过度设计”。 我将这些注释与其他代码注释类似地对待:如果它们添加了有意义的信息,则只需添加它们。 否则,它们就是浪费,因此就这样对待它们。

首选显式断言

我的意思是显式断言是针对您要执行的操作使用正确的断言。 例如,如果您需要像前面提到的断言中一样执行相等性检查,请不要使用布尔断言声明。 (这里是一个虚拟QUnit测试用例的示例)

test('Should correctly clone two people', 1, function(){
    //...

    ok(person1.firstname === 'Fritz', 'I expect both names to match if the clone operation succeeded');
});

…以及在输出窗口中的相应结果:

这个结果并不是真正的描述性...

这个结果并不是真正的描述性…

结果并不能告诉我们很多,对吧? 您可以说的是,此人的名字与您期望的名字不匹配,因此克隆操作可能不会成功。 但为什么?? 那它的实际价值是多少?

使用equals代替:

test('Should correctly clone two people', 1, function(){
    //...

    equal(person1.firstname, 'Fritz', 'I expect both names to match if the clone operation succeeded');
});

……结果又是:

哦,看那里,有描述性的结果。

哦,看那里,有描述性的结果。

现在,此测试用例的结果更具描述性。 它不仅告诉您操作失败,而且还准确地向您显示了预期值和实际值。 这可能会立即提示您可能存在问题的地方。

参考:单元测试提示:Juri Strumpflohner的TechBlog博客上,由我们的JCG合作伙伴Juri Strumpflohner创建描述性测试

翻译自: https://www.javacodegeeks.com/2013/06/unit-testing-tip-create-descriptive-tests.html

项目描述

单元测试报告 版本:V1.3 文 档 编 号 保 密 等 级 作 者 最后修改日期 审 核 人 最后审批日期 批 准 人 最后批准日期 修订记录 日期 版本 修订说明 修订人 目 录 1 简介 2 1.1 目的 2 1.2 背景 2 1.3 范围 2 2 测试用例清单 2 3 功能测试分析 2 4 边界测试分析 2 5 覆盖率分析 2 6 内存使用分析 2 7 典型缺陷记录 3 7.1 缺陷1 3 7.1.1 表现 3 7.1.2 原因 3 7.1.3 方案 3 8 测试数据分析 3 8.1 测试有效性分析 3 8.2 测试效率分析 3 9 产品质量分析 4 10 测试结论 4 简介 目的 【描述单元测试报告的目的。】 背景 【描述单元测试报告的背景,单元测试活动目的。如无特殊背景信息,可裁剪。】 范围 【说明该单元测试报告在整个项目周期的适用范围】 测试用例清单 模块 目标类 级别 用例类 用例描述 执行结果 备注 【被测的代码类】 【代码级别】 【Junit测试类1】 【意图描述】 【P/F】 【Junit测试类2】 功能测试分析 边界测试分析 覆盖率分析 目标类 级别 方法覆盖率 行覆盖率 备注 【被测的代码类】 【代码级别】 内存使用分析 典型缺陷记录 记录单元测试中所发现的典型缺陷或常见缺陷。供再次发现同类问题时,作为参考使用。 缺陷1 表现 【缺陷表现描述】 原因 【缺陷产生原因分析描述】 方案 【解决方案描述测试有效性分析 【统计实际发现的缺陷数据,分析与计划值产生偏差的原因,结合《项目量化管理计划》定义的阈值,确定是否采取相关措施】 计划发现缺陷数 致命 严重 一般 实际发现缺陷数 偏差分析 对策或调整措施 产品质量分析 【结合上述数据和信息,对本次测试项目、产品的本身质量进行分析、评价和总结】 测试结论  【描述测试是否达到测试计划的目的,是否满足单元测试的结束条件。】
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值