问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何做好单元测试的各个阶段的管理工作

发布网友 发布时间:2022-07-18 03:16

我来回答

1个回答

热心网友 时间:2023-10-09 07:32

为什么要进行单元测试? 单元测试保证局部代码的质量 单元测试在隔离的前提下,分别对各个代码单元进行测试,能够达到其他测试不可能达到的测试完整性,从而保证了局部代码的质量。只有局部代码的质量得到了保证,软件产品的质量才可能得到保证。 单元测试改良项目代码的整体结构 要对代码进行单元测试,最起码的前提是代码能够隔离,也就是说,要具有一定的可测性,因此,单元测试是一种有效的约束机制,这种机制将有效地改良代码的整体结构。例如,如果把业务代码直接写在界面类中,将很难进行单元测试,随意的不合理的紧耦合也会造成难于测试,单元测试使这些不好的特性得于及时发现,从而很容易进行修正。可测性是高质量代码的首要特性,不具有可测性,也就无法衡量代码的正确性,有了可测性,也就基本上保证了代码的可扩展性、可复用性。 单元测试降低测试、维护升级的成本 错误越早发现,修复的代价越小,另一方面,如果代码经过了充分的单元测试,集成测试和系统测试就只需要关注设计方面的问题。自动回归测试也大量降低升级维护成本。 使开发过程适应频繁变化的需求 单元测试自然地使开发流程变得“敏捷”,这是因为,整体结构良好的代码具有较好的可扩展性,自动回归测试又能保证修改不会引入新的错误,因此可以适应频繁变动的需求,降低系统分析、架构设计和后期测试的压力。 单元测试有助于提升程序员的能力 对程序员来说,单元测试有利于养成缜密的思维习惯,及提高设计能力。 由谁进行测试?开发部门还是测试部门? 应该由开发部门进行单元测试! 由测试部门进行单元测试的问题 代价高:反复的重新理解代码需要大量的时间,反复的沟通也需要大量的成本。 人手不足:进行单元测试的人员需要具备编码能力,很多软件企业的测试部门都没有足够的人手。 耽误了测试部门对其他测试的准备工作:编码阶段,测试部门要为集成测试、系统测试等做好准备,如果测试部门陷在单元测试的“泥潭”里,很可能影响这些准备工作。 由开发部门进行单元测试的问题 担心影响开发进度:这是现实问题,但自动化的单元测试工具可以解决这个问题。 程序员不习惯做单元测试:这种习惯是可以理解的,但并不难改变,实际上,程序员写程序时都是要进行测试调试的,只不过通常比较零散和随意而已。 测试自己编写的代码,难于保证测试的效果:测试自己写的代码,通常会只测试正常的输入,因此难于保证测试的完整性,但自动化的单元测试工具,可以统计白盒覆盖,甚至提供用于找出遗漏的测试用例的工具,达到很高的测试完整性。只要达到了足够的测试完整性,那么,无论谁测试,效果都是一样的。 无论由哪个部门做单元测试,都要面对一些问题,但开发部门所面对的问题可以借助工具来解决,而由测试部门进行单元测试,要么无法真正实施,要么代价昂贵。 由测试部门进行单元测试为什么成本昂贵? 需多次重复理解程序 测试人员进行单元测试时必须理解程序功能甚至代码逻辑;充分的单元测试通常会发现很多细小的错误,程序员修改代码时,又要再次理解程序。理解程序是很耗费时间的。 反复沟通需要大量时间成本 单元测试发现的错误一般是小Bug,但数量可能很多,修改错误一般由程序员进行,测试人员还要确认,这些反复沟通也需要很多的时间。 不利于发挥单元测试对代码结构的约束机制 如果等编码基本完成再由测试部门进行单元测试,也就不能及时发挥单元测试对代码整体结构的约束效果,测试部门拿到代码时,往往会发现难于测试。 耽误测试部门对其他测试的准备工作: 编码阶段,测试部门要为集成测试、系统测试等做好准备,如果测试部门陷在单元测试的“泥潭”里,很可能影响这些准备工作。 基于以上理由,即使测试部门人手充裕,仅仅从效益来考虑,也不应该由测试部门进行单元测试。如果测试部门本来就人力不充裕(进行单元测试的人员需具备编码能力),勉强由测试部门进行单元测试,结果往往是----没有结果。 由开发部门进行单元测试能保证测试效果吗? 程序员测试自己编写的代码,往往只考虑“正常状况”,这当然会影响测试效果。但如果所用的单元测试工具能够统计各种白盒覆盖率,就能检查测试效果。当然,只做到这一点还是不够的,因为白盒覆盖具有逾后逾难的特点,达到一定的覆盖率后,覆盖率的提升会很困难。如果测试工具功能足够强大,能提供工具帮助用户快速地设计测试用例,达到完整的白盒覆盖,那么测试效果就能得到完全的保证。 实际上,如果没有充分的统计数据,没有达到足够的测试完整性,那么由谁做单元测试,效果都不能保证。 进行单元测试,关键是要达到比较高的输入覆盖,这样,无论由谁测试,效果都是一样的。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
和面的和是什么读音? win10 应用打不开。全都打不开。 进入win10打不开软件 win10电脑软件都打不开是什么原因win10突然软件都打不开软件是怎么回事... 软件打不开怎么办win10电脑点不开软件最简单办法 请问下,离厦门市岛内的台湾路的国联大厦最近的建设银行和农业银行... 从巴黎都市到建设银行怎么坐公交车,最快需要多久 东莞万江官桥窖离建设银行哪路车最近? 建行七支分行有那些公交车经过 佛山哪里有飞越丛林拓展 单元测试的结论 为什么上帝用洪水而不是别的毁灭一切呢? 坐高铁去黄果树瀑布,在关岭站下还是安顺西下?美食在哪边多一点? 为什么,安顺市高铁,黄果树站为什么叫关岭站,而不是叫镇宁呢,黄果树不是镇宁的吗,还叫关岭不叫镇宁为 黄果树瀑布景区有高铁吗? 离黄果树最近的高铁站 小白菜炒豆腐的做法 苹果4S手机上的小说怎么导出到电脑? ZL18装载机多少钱能买 山东临工16。18装载机大约多钱? 帝国时代2的配置要求是什么? 帝国时代2游戏配置要求,主要是显卡需要多大内存 我想下载帝国时代2,内存是250mb,大吗? 我们家电脑是512m的,这个个mb怎么换算? 电影,战场上的快乐圣诞是什么意思,看不懂 《战场上的快乐圣诞》免费在线观看完整版高清,求百度网盘资源 我准备签伟星集团下属的云南江海投资公司,去迪庆的一个新建的南极洛河水电站,装机8.6万千瓦,不知道 维西有什么好玩的地方?哪些景点必去? 南极洛有村落吗? 维西县南极洛开车可以到景点吗 云南有哪些冷门但值得一去的地方? 单元测试的反思怎么写 安慰近义词是什麽 郑州东站,到咱学校路线怎么走 郑州市金融学校(郑州市郑上路220号)在那里?坐几路车? 请问到郑州外国语学校怎么走?[从火车站] 京东商城送到学校只送到校门口么? 请问大家从郑州火车站到河南省商务学校(文化路北段博颂路6号)怎么倒车最方便到? 郑州财经技师学院怎么走 郑州火车站到郑州经开区京东物流园怎么坐车 郑州市学校地图 大话西游手游账号怎么查看绑定手机号 最近刷新闻看到很多二类电商的广告,有卖望远镜、茶叶等的,请问,哪类人群可能在这种二类电商上买东西? 高考改变命运?怎样通过高考来改变命运? 一考定终身,你认为高考真的能够决定一个人的命运吗? 高考真的可以改变一个人的命运吗? 一考定终生,高考到底是如何改变人的命运的? 为何说中国的高考改变了穷人的命运? 为什么说高考是人生最简单,而且最公平的一次考试? 那个牌子的防晒霜效果好 什么牌子的防晒霜比较适合16-23岁的女孩?