- 1、本文档共221页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件测试实践
软件测试实践 ---JUnit单元测试之道 浙江工业大学之江学院教师首堂课授课申明 第1章 序言 《软件测试艺术》:软件测试就是为了发现错误而执行程序或系统的过程。 该定义中的不足(目的和手段的混淆): 测试软件文档也属于软件测试,但它不需要执行程序; 按照用户的需求测试了实际的系统,却未发现Bug,但至少证明了目前系统基本符合用户的需求。 浙江工业大学之江学院教师首堂课授课申明 软件测试定义(1983,IEEE软件工程标准属于):使用人工或自动手段,来运行或测试某个系统的过程。其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。 好的测试是极可能发现迄今为止尚未发现的错误的测试方案。 成功的测试是发现了至今为止尚未发现的错误的测试。 软件测试的基本流程包括: 设计一组测试用例:每个测试用例应该由输入数据和预期输出结果两部分组成; 用各个测试用例的输入数据实际运行被测试程序或文档; 检查实际输出结果与预期的输出结果是否一致;若不一致则认为程序有错。 执行有限个测试用例,并尽可能多地发现一些错误。 能尽可能地发现错误的测试用例被称为“高产的”。 软件测试的基本原则: 测试用例中一个必需部分是对预期输出或结果的定义; 程序员应当避免测试自己编写的测试; 编写软件的组织不应当测试自己编写的软件; 应当彻底检查每个测试的执行结果; 测试用例的编写不仅应当根据有效和预期的输入情况,而且也应当根据无效和未预料到的输入情况; “应该做的”只是一半测试,“做了不应做的”是另一半测试; 应避免测试用例后即弃,处分软件本身就是一个一次性的软件; 计划测试工作时不应默认软件“不会发现错误”; 程序某部分存在错误的可能性与已发现的错误数量成正比; 严格执行测试计划,排除测试的随意性; 软件测试是一项极富创造性、极具智力挑战性的工作。 软件测试可分成和需求分析、设计、编程相对应的三步,即: 单元测试 组装测试 确认测试 单元测试(unit testing),是指对软件中的最小可测试单元(代码单元)进行检查和验证。 单元测试是项目成功、个人成功的一个不可或缺的部分,但对它,人们却又存在各种各样的误解。 单元测试其实是相对廉价而简单的基数,但它能让你更高效地写出质量更好的代码。 单元测试的设计目的并不是为了获得一些更好的整体质量。也就是说,它并不是一个针对最终用户、项目经理和开发组长的工具;而是由程序员自己来完成,并且最终受益的也是程序员自己。 单元测试是用于判断某个特定条件(或场景)下某个特定函数的行为。 执行单元测试,是为了证明某段代码的行为确实和开发者所期待的一致。 单元测试是在软件开发过程中要进行的最低级别的测试活动,在单元测试活动中,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。 当基本的底层代码不再可靠时,那么必须的改动无法只局限在底层,势必会影响到高层代码,于是高层代码也需要修改;如此递推,就可能会涉及到更高层的代码。 单元测试从程序员的角度编写的,它确保类的某个特定方法能成功执行一系列特定的任务。每个测试都确保只要给定输入,方法将输出预期的结果。 单元测试的目标是确保模块被正确地编码,因此,应该对程序的每一个模块进行独立测试。 信息能否正确地流入和流出单元; 在单元工作过程中,其内部数据能否保持其完整性,包括内部数据的形式、内容及相互关系不发生错误,也包括全局变量在单元中的处理和影响; 在为限制数据加工而设置的边界处,能否正确工作; 单元的运行能否做到满足特定的逻辑覆盖; 单元中发生了错误,其中的出错处理措施是否有效。 单元测试的主要任务包括: 模块接口检查; 模块局部数据结构检查; 模块边界条件测试; 模块独立执行通路测试; 模块的各条处理错误通路测试。 单元测试一般采用静态测试方法和动态测试方法,并以白盒法为主,辅以黑盒测试方法。 通常静态测试先于动态测试进行,且可以多个模块平行进行。 第2章 序言 一个单元测试是程序员编写的一段代码,用于执行另一段代码并确定那段代码的行为是否和程序员的期望一致。 为了验证代码的行为是否和期望一致,需要使用一些assertion(断言),它是一个简单的方法调用,用于判断某个语句是否为真。 方法assertTrue将会检查给定的二元条件是否为真;如果条件非真,则该断言将会失败。 如果由于某种原因,当调用assertTrue()的时候,断言失败的话,程序将会终止。 何时要用断言? 在预计正常情况下程序不会到达的地方放置断言; 断言可以用于检查传递给私有方法的参数。(对于公有方法,因为是提供给外部的接口,所以必须在方法中有相应的参数检验才能保证代码的健壮性); 使用断言测试方法执行的前置条件和后置条件; 使用断
您可能关注的文档
最近下载
- 海南省海口市(新版)2024小学语文人教版小升初真题(巩固卷)完整试卷(含答案).docx VIP
- 2025-2030中国医学影像设备行业深度调研及投资前景预测研究报告.docx
- 公安院校公安专业本专科招生政治考察表(2022年西藏报考公安院校公安专业招生).doc VIP
- 劳动争议管理制度.docx VIP
- 2024年秋季新北师大版七年级上册数学全册导学案.docx
- 2020-2021学年北京市朝阳区北京版四年级下册期末测试英语试卷.docx VIP
- 骨关节感染患者的护理(外科护理).pptx
- 波形护栏质量检验评定表、报告单.pdf VIP
- 大学《传感器原理及应用》习题解析及期末考试真题.docx VIP
- 基于PLC控制的泡沫切割机-毕业论文.doc VIP
文档评论(0)