- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
如何进行单元测试
1.摘要:
单元测试是软件测试的基础,本文详细的论述了单元测试的两个步骤人工静态检查法与
动态执行跟踪法,所需执行的工作项目及相关的策略和方法。通过对这两个步骤的描述作者
将多年的单元测试经验及测试理论注入于全文。
关键词:单元测试、人工检查、白盒测试、测试用例、跟踪调试
2.概述
单元测试是针对软件设计的最小单位——程序模块,进行正确性检验的测试工作。其
目的在于发现每个程序模块内部可能存在的差错。
单元测试也是程序员的一项基本职责,程序员必须对自己所编写的代码保持认真负责的
态度,这是也程序员的基本职业素质之一。同时单元测试能力也是程序员的一项基本能力,
能力的高低直接影响到程序员的工作效率与软件的质量。
在编码的过程中作单元测试,其花费是最小的,而回报却特别优厚的。在编码的过程中
考虑测试问题,得到的将是更优质的代码,因为在这时您对代码应该做些什么了解得最清楚。
如果不这样做,而是一直等到某个模块崩溃了,到那时您可能已经忘记了代码是怎样工作的。
即使是在强大的工作压力下,您也必须重新把它弄清楚,这又要花费许多时间。进一步说,
这样做出的更正往往不会那么彻底,可能更脆弱,因为您唤回的理解可能不那么完全。
通常合格的代码应该具备以下性质:正确性、清晰性、规范性、一致性、高效性等(根
据优先级别排序)。
1. 正确性是指代码逻辑必须正确,能够实现预期的功能。
2. 清晰性是指代码必须简明、易懂,注释准确没有歧义。
3. 规范性是指代码必须符合企业或部门所定义的共同规范包括命名规则,代码风格等
4. 一致性指代码必须在命名(如:相同功能采用相同变量标示符)、风格上保持统一
5. 高效性是指代码不但要满足以上性质,而且需要尽可能降低代码的执行时间。
3.单元测试步骤
在代码编写完成后的单元测试工作主要分为两个步骤:人工静态检查和动态执行跟踪。
人工静态检查是测试的第一步,这个阶段工作主要是保证代码算法的逻辑正确性(尽量
通过人工检查发现代码的逻辑错误)、清晰性、规范性、一致性、算法高效性。并尽可能的
发现程序中没有发现的错误。
第二步是通过设计测试用例,执行待测程序来跟踪比较实际结果与预期结果来发现错误。
经验表明,使用人工静态检查法能够有效的发现 30%到 70%的逻辑设计和编码错误。但是代
码中仍会有大量的隐性错误无法通过视觉检查发现,必须通过跟踪调试法细心分析才能够捕
捉到。所以,动态跟踪调试方法也成了单元测试的重点与难点。
3.1 人工检查
通常在人工检查阶段必须执行以下项目的活动:
1、检查算法的逻辑正确性;确定所编写的代码算法、数据结构定义(如:队列、堆栈
等)是否实现了模块或方法所要求的功能。
2、模块接口的正确性检查;确定形式参数个数、数据类型、顺序是否正确;确定返回
值类型及返回值的正确性。
3、输入参数有没有作正确性检查;如果没有作正确性检查,确定该参数是否的确无需
做参数正确性检查,否则请添加上参数的正确性检查。经验表明,缺少参数正确性
检查的代码是造成软件系统不稳定的主要原因之一。
4、调用其他方法接口的正确性;检查实参类型正确与否、传入的参数值正确与否、个
数正确与否,特别是具有多态的方法。返回值正确与否,有没有误解返回值所表示
的意思。最好对每个被调用的方法的返回值用显湿代码作正确性检查,如果被调用
方法出现异常或错误程序应该给予反馈,并添加适当的出错处理代码。
5、出错处理;模块代码要求能预见出错的条件,并设置适当的出错处理,以便在一旦
程序出错时,能对出错程序重做安排,保证其逻辑的正确性,这种出错处理应当是
模块功能的一部分。若出现下列情况之一,则表明模块的错误处理功能包含有错误
或缺陷:出错的描述难以理解;出错的描述不足以对错误定位,不足以确定出错的
原因;显示的错误信息与实际的错误原因不符;对错误条件的处理不正确;在对错
误进行处理之前,错误条件已经引起系统的干预等。
6、保证表达式、SQL 语句的正确性;检查所编写的 SQL 语句的语法、逻辑的正确性。对
表达式应该保证不含二义性,对于容易产生歧义的表达式或运算符优先级(如:
《、=、 》、 、||、++、 --等)可以采用扩号 “()”运算符避免二义
您可能关注的文档
最近下载
- 新修订的军队基层建设纲要(全文).doc VIP
- 三菱电梯菱云2LEHY2调试资料.pdf
- DBJ50-112-2016:现浇混凝土桥梁梁柱式模板支撑架安全技术规范.pdf VIP
- 温室大棚中央空调系统方案.docx VIP
- 新解读《GB_T 18442.3 - 2019固定式真空绝热深冷压力容器 第3部分:设计》最新解读.pptx VIP
- 药物治疗管理与个体化药学服务题库答案-2025年华医网继续教育.docx VIP
- 奥的斯电梯ACD MR(SKYII图纸)电气原理图纸DBA21290AV.pdf
- 中医养生养生保健方法实操.pptx VIP
- (高清版)C-H-T 9028-2018 地理信息公共服务平台 网络地理信息服务分类与命名规范.pdf VIP
- 奇正藏药市场营销策略奇正藏药场营销策略.doc VIP
原创力文档


文档评论(0)