
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
单元测试是软件测试程序员在测试软件的时候会经常用到的一个测试方法,而本文我们就通过案例分析来简单了解一下,单元测试应用都需要注意哪些问题。
一、在单元测试方面的过程中必须要确保每个测试方法与其它所有的测试方法的关系是正交的(相对独立)
一个测试方法只能用来测试一种行为,不能把一种行为分散到多个测试方法中,否则如果日后行为发生改变,就需要修改多个地方,造成比较繁琐的问题。
在单元测试中不要做不必要的断言(Assert),编写测试方法前一定要先搞清楚验证的行为是什么,只有了解了到自己要做的内容和相应的行为作用才能够更好的实现高效稳定的测试行为
二、单元测试中的一些规则和思路
滥用断言的问题。这个问题是很多新手和有一定工作经验的人经常会犯的一个错误,事实上我们要只得到滥用断言不会提高测试覆盖率,这是一个没有明确测试思路的结果导向的一种体现。
如果某个行为不属于测试方法验证的目标,就应该停止对其测试。关于这一点,TDD有个说法为:一个测试方法有且仅有一个断言。
要时刻谨记:单元测试的目的是为了验证方法的行为是否符合预期,而不是监视方法在各种情况的行为。
三、一次只测试一个代码单元
你设计的软件架构必须支持对每个单元的独立测试(一个类或功能相关的几个类),不然单元测试之间会有重叠,在这种情况下,某处测试代码的微小改动可能造成数目庞大的级联修改。如果你的软件架构做不到支持单元测试,那么软件质量就无法得到保证,建议使用InversionOfControl(控制反转)的思想进行重构。
排除所有对外部服务和状态的依赖,引用外部服务会导致测试重叠,而对外部状态的依赖意味着单元测试在不同的情况会有不同的输出。如果你编写的单元测试必须按照一定的次序运行或者必须在数据库和网络就绪后才能运行,说明你已经走在了错误的道路上。避免添加前置条件;还要避免在独立的单元测试之前统一执行配置代码,否则我们无法确定每个单元测试依赖的假设是什么,同时这也意味着你的单元测试思路出了问题。
不要对配置代码做单元测试。我们先来明确配置代码的定义。配置代码不是每个代码单元的公共部分。配置代码是可以复制粘贴的,对于这些代码,好使用集成测试的方法,从外部观察它们的行为,使用单元测试是没有意义的,这对你的设计没有帮助,也无法帮您检测缺陷。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。