- 1、本文档共247页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
在软件测试的整个流程中,每一个阶段都非常重要,需要测试者综合用户需求和开发人员的设计做出准确的判断、进行细致的分析。其中相对较重要、复杂的一个环节就是测试设计,测试设计中基本的软件测试方法包括静态/动态测试、黑盒/白盒/灰盒测试、积极/消极测试和不确定性/确定性测试等。第二章简单介绍了很多软件测试方法和技术,本章在第二章的基础上着重介绍一些实用的软件测试方法和技术。 原则上可以把软件测试方法分为静态测试和动态测试两大类。静态测试包括代码审查、静态结构分析等;动态测试包括白盒测试和黑盒测试。 7.1.1 静态测试 静态测试的主要特征是不利用计算机运行被测试的程序,而是采用其他手段达到检测的目的。但静态测试的特征并不意味着完全不利用计算机作为分析的工具。它与人工测试有着根本的区别。 1.定义 静态测试:借助工具来检查软件的代码和模型,主要对程序进行控制流分析、数据流分析、接口分析和表达式分析等。比如在单元测试期间,开发人员通过预先定义的规则,使用静态测试工具对代码进行检查;在软件建模期间,设计人员可以使用静态测试工具对软件模型进行分析。 静态测试是单元测试的第一步,要在进行动态测试前先完成该项测试。这一阶段的主要工作是保证代码算法的逻辑正确性、清晰性、规范性、一致性、算法高效性,并尽可能地发现程序中隐含的Bug。 这些方法本身有各自的目标和步骤,如收集一些程序信息,以利于查找程序中的各种Bug和可疑的程序构造;从程序中提出语义或结构要点,供进一步分析;以符号代替数值求得程序的结果,便于对程序进行运算规律的检验;对程序进行一些处理,为进一步动态测试做准备;通过程序静态特性分析,找出Bug和可疑之处,例如不匹配的参数、不适当的循环嵌套和分支嵌套、不允许的递归、未使用过的变量、空指针的引用和可疑的计算等。静态测试结果可用于进一步的查错,为测试用例的选取提供帮助,为软件的质量保证提供依据,以提高软件的可靠性和易维护性。 2.静态测试的特点、地位、作用和结果 静态测试特点:适用于文档回顾和代码回顾,静态测试可以开始的非常早,只有静态测试能够发现文档中的Bug。 对于静态测试在软件测试中究竟占据什么地位,人们的见解各不相同,原因在于人们已经开发出了一些静态测试系统作为软件测试工具。静态测试被当做一种自动化的代码检验方法。对于软件开发人员来说,静态测试只是进行动态测试的预处理工作。有人认为,静态测试并不是要找出程序中的Bug,因为编译系统已经能做到这一点。 实际上,这种看法是片面的,尽管编译系统也能发现某些程序Bug,但这些远非软件中存在的大部分Bug。静态测试的查错功能是编译程序所不能代替的。为了说明这一点,下面列出静态测试能够做到的一些工作。 (1) 程序中可能发现的Bug: ● ?用错的局部变量和全局变量; ● ?未定义的变量; ● ?不匹配的参数; ● ?不适当的循环嵌套和分支嵌套; ● ?不允许的递归; ● ?不适当的处理顺序; ● ?无终止的死循环; ● ?调用并不存在的子程序; ● ?遗漏标号或代码; ● ?不适当的链接。 找到以下问题的根源: ● ?不会执行到的代码; ● ?未使用过的变量; ● ?可疑的计算; ● ?未引用过的标号; ● ?潜在的死循环。 提供间接涉及程序欠缺的信息: ● ?违背编码规则。 ● ?每一类型语句出现的次数; ● ?所用变量和常量的交叉引用表; ● ?标识符的使用方式; ● ?过程的调用层次。 (2) 为进一步查错作准备、选择测试用例、进行符号测试。 静态测试的结果:生成各种引用表、静态错误分析。 3.静态结构分析 静态结构分析主要是以图形的方式表现程序的内部结构,如函数调用关系图、函数内部控制流图。其中, (1) 函数调用关系图以直观的图形方式描述应用程序中各个函数的调用和被调用 关系; (2) 控制流图显示一个函数的逻辑结构,由许多节点组成,一个节点代表一条语句或数条语句,连接节点的叫边,边用来表示节点间的控制流向。 4.静态测试的步骤 静态测试通过静态分析和代码审查两种形式进行。静态测试方法是对被测程序进行特性分析的一些方法的总称,包括代码检查、静态结构分析、代码质量度量等。 1) 代码检查 代码检查是对软件的相关产出物(包括需求、设计、代码、测试计划、测试用例、测试脚本、用户指南或Web页等)进行测试的一种方式,主要检查代码和设计的一致性,代码的可读性,代码逻辑表达的正确性,代码结构的合理性等方面。检查形式主要有四种类型: (1) 非正式评审:没有正式的过程,多用于对编程或以技术为评价标准的设计/编码中
您可能关注的文档
- (微型计算机原理)第8章输入输出方法及常用的接口电路.ppt
- (微型计算机原理)第9章数学协处理器.ppt
- (微型计算机原理)第10章微型计算机系统及其操作系统简介.ppt
- 计算机组成原理第6章总线结构.ppt
- 计算机组成原理第7章输入输出设备.ppt
- 离散数学第1章数理逻辑.ppt
- 离散数学第2章集合.ppt
- 离散数学第3章二元关系.ppt
- 软件测试及其案例分析第八章实用软件测试策略.ppt
- 软件测试及其案例分析第二章基本软件测试方法和常用测试工具.ppt
- 完整版广东明阳风电产业集团有限公司校园招聘62人【重点基础提升】模拟试题(共100题)附带答案题库及.docx
- 安徽省郊区完整版医疗保险管理办公室招考编外合同工高频难、易错点200题模拟试题题库【历年真题】.docx
- 广东电力发展股份有限公司定向招聘历年高频难、易错点100题模拟试题附带答案完整版(能力提升).docx
- 完整版山东里能集团校园招聘公开引进高层次人才笔试(共100题)答案题库带答案(预热题).docx
- 完整版成功控股集团有限公司应届高校毕业生招聘重点基础提升模拟试题(共100题)附带答案王牌题库(考试.docx
- 完整版山西省屯留县医疗保险管理办公室招考编外合同工高频难、易错点200题模拟试题题库(培优).docx
- 2025届湖南邵阳县八年级数学第一学期期末学业水平测试试题含解析.doc
- 2025届辽宁省沈阳134中学八年级数学第一学期期末学业水平测试模拟试题含解析.doc
- 吉林省长春外国语学校2025届数学八上期末学业水平测试模拟试题含解析.doc
- 2025届贵州省遵义市桐梓县数学八上期末预测试题含解析.doc
文档评论(0)