软件测试自动化方法与工具_第6讲(测试文档-不变量-蜕变)_第1页
软件测试自动化方法与工具_第6讲(测试文档-不变量-蜕变)_第2页
软件测试自动化方法与工具_第6讲(测试文档-不变量-蜕变)_第3页
软件测试自动化方法与工具_第6讲(测试文档-不变量-蜕变)_第4页
软件测试自动化方法与工具_第6讲(测试文档-不变量-蜕变)_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第6讲软件测试文档、不变量测试讲软件测试文档、不变量测试与蜕变测试与蜕变测试主讲 吴取劲2016.46.1软件测试软件测试文档写作模板要素文档写作模板要素P228讨论内容讨论内容:1.测试测试大纲写作模板大纲写作模板2.软件测试计划软件测试计划写作模板写作模板3.测试测试任务说明书写作模板任务说明书写作模板4.测试测试需求说明书写作模板需求说明书写作模板5.单元测试单元测试写作模板写作模板6.代码代码检查写作模板检查写作模板7.程序程序错误报告写作模板错误报告写作模板8.程序设计程序设计写作模板写作模板9.测试用例测试用例写作模板写作模板10. 软件软件测评写作模板测评写作模板软件测试技术研

2、究组软件测试技术研究组 中国信息大学中国信息大学讨论内容讨论内容:11. 功能测试功能测试写作模板写作模板12. 性能性能测试写作模板测试写作模板13. 可靠性可靠性测试写作模板测试写作模板14. 集成测试集成测试写作模板写作模板15. 系统测试系统测试写作模板写作模板16. 验收测试验收测试写作模板写作模板17. 测试测试分析报告写作模板分析报告写作模板18. 测试测试总结写作模板总结写作模板19. web测试写作模板测试写作模板20. 软件软件安全性测试写作模板安全性测试写作模板 软件测试技术研究组软件测试技术研究组 中国信息大学中国信息大学1 测试测试大纲写作大纲写作模板要素模板要素 测

3、试测试大纲的主要内容是大纲的主要内容是:测试:测试策略是什么、需要策略是什么、需要做哪些测试、测试过程如何组织、测试人员包括做哪些测试、测试过程如何组织、测试人员包括哪些哪些? 测试测试大纲是测试单位为了获得测试任务,在项目大纲是测试单位为了获得测试任务,在项目招标阶段编制的文件,它是测试单位参与投标时招标阶段编制的文件,它是测试单位参与投标时投标书内容的重要组成部分投标书内容的重要组成部分。软件测试技术研究组软件测试技术研究组 中国信息大学中国信息大学软件测试技术研究组软件测试技术研究组 中国信息大学中国信息大学2 测试计划模板要素测试计划模板要素 测试计划测试计划说明书是项目经理或者开发项

4、目的负说明书是项目经理或者开发项目的负责人编写的责人编写的, 并交给最终用户、系统集成人员、并交给最终用户、系统集成人员、测试人员、软件开发人员、软件管理人员测试人员、软件开发人员、软件管理人员。 最终最终用户用来核实软件开发、测试实施任务和用户用来核实软件开发、测试实施任务和时间人员安排;核实测试需求是否可接受;是时间人员安排;核实测试需求是否可接受;是否使用了适当的测试策略,反映出系统或应用否使用了适当的测试策略,反映出系统或应用程序按照预定的用途来进行应用程序按照预定的用途来进行应用。 系统集成系统集成人员、测试人员、软件开发人员、软人员、测试人员、软件开发人员、软件管理人员用来安排工作

5、进度,为整个测试工件管理人员用来安排工作进度,为整个测试工作指明方向。作指明方向。软件测试技术研究组软件测试技术研究组 中国信息大学中国信息大学 软件测试计划软件测试计划是指导测试过程的纲领性文件,是指导测试过程的纲领性文件,包含了产品概述、测试策略、测试方法、测试包含了产品概述、测试策略、测试方法、测试区域、测试配置、测试周期、测试资源、测试区域、测试配置、测试周期、测试资源、测试交流、风险分析等内容。交流、风险分析等内容。 测试计划测试计划的目的是粗略的估计测试大致需要的的目的是粗略的估计测试大致需要的周期和最终测试报告递交的时间;测试计划是周期和最终测试报告递交的时间;测试计划是针对测试

6、中的每个环节的,单元测试、集成测针对测试中的每个环节的,单元测试、集成测试、系统测试等一般都写测试计划,写的重点试、系统测试等一般都写测试计划,写的重点不同。它为整个测试阶段的管理工作和技术工不同。它为整个测试阶段的管理工作和技术工作提供指南;确定测试的内容和范围,为评价作提供指南;确定测试的内容和范围,为评价系统提供依据。系统提供依据。 软件测试技术研究组软件测试技术研究组 中国信息大学中国信息大学软件测试技术研究组软件测试技术研究组 中国信息大学中国信息大学3 测试任务说明书测试任务说明书模板模板要素要素 测试测试任务说明书是经理或开发项目的负责人写任务说明书是经理或开发项目的负责人写作的

7、,传递给软件测试人员、软件开发人员、作的,传递给软件测试人员、软件开发人员、软件管理人员。软件管理人员。 从用户的角度出发,测试实施任务和时间人员从用户的角度出发,测试实施任务和时间人员安排;软件测试人员、软件开发人员不能影响安排;软件测试人员、软件开发人员不能影响测试进度;对软件的开发过程中每个版本完成测试进度;对软件的开发过程中每个版本完成测试测试任务。任务。软件测试技术研究组软件测试技术研究组 中国信息大学中国信息大学软件测试技术研究组软件测试技术研究组 中国信息大学中国信息大学4 测试需求说明书测试需求说明书模板模板要素要素 测试需求说明书阐述一个测试软件系统必须提测试需求说明书阐述一

8、个测试软件系统必须提供的功能和性能以及它所要考虑的限制条件供的功能和性能以及它所要考虑的限制条件,它不仅是系统测试和用户文档的基础,也是所它不仅是系统测试和用户文档的基础,也是所有子系列项目规划、设计和编码的基础有子系列项目规划、设计和编码的基础。 它它应该尽可能完整地描述系统预期的外部行为应该尽可能完整地描述系统预期的外部行为和用户可视化行为和用户可视化行为。 除了除了设计和实现上的限制,软件需求规格说明设计和实现上的限制,软件需求规格说明不应该包括设计、构造、测试或工程管理的细不应该包括设计、构造、测试或工程管理的细节。节。软件测试技术研究组软件测试技术研究组 中国信息大学中国信息大学软件

9、测试技术研究组软件测试技术研究组 中国信息大学中国信息大学5 单元测试模板要素单元测试模板要素 单元测试又称为模块测试,主要步骤为程序语单元测试又称为模块测试,主要步骤为程序语法检查和程序逻辑检查等。其目的在于发现各法检查和程序逻辑检查等。其目的在于发现各模块内部可能存在的各种差错。单元测试需要模块内部可能存在的各种差错。单元测试需要从程序的内部结构出发设计测试用例。多个模从程序的内部结构出发设计测试用例。多个模块可以平行地独立进行单元测试。块可以平行地独立进行单元测试。 软件测试技术研究组软件测试技术研究组 中国信息大学中国信息大学软件测试技术研究组软件测试技术研究组 中国信息大学中国信息大

10、学6 代码检查代码检查模板模板要素要素 代码代码检查是静态测试检查是静态测试的主要方法,代码检的主要方法,代码检查包括代码走查、桌查包括代码走查、桌面检查、流程图审查面检查、流程图审查等。等。软件测试技术研究组软件测试技术研究组 中国信息大学中国信息大学7 程序错误报告程序错误报告模板模板要素要素 程序程序错误将会导致系统功能和性能与需求错误将会导致系统功能和性能与需求说明不相符。说明不相符。软件测试技术研究组软件测试技术研究组 中国信息大学中国信息大学8 程序设计写作程序设计写作模板模板要素要素 程序设计程序设计(Programming)是指设计、编制、调试是指设计、编制、调试程序的方法和过

11、程。程序设计的基本概念有程程序的方法和过程。程序设计的基本概念有程序、数据、子程序、子例程、协同例程、模块序、数据、子程序、子例程、协同例程、模块以及顺序性、并发性、并行性、分布性等。程以及顺序性、并发性、并行性、分布性等。程序是程序设计中最为基本的概念,子程序和例序是程序设计中最为基本的概念,子程序和例程都是为了便于进行程序设计而建立的程序设程都是为了便于进行程序设计而建立的程序设计基本单位,顺序性、并发性、并行性和分布计基本单位,顺序性、并发性、并行性和分布性反映程序的内在特性。性反映程序的内在特性。软件测试技术研究组软件测试技术研究组 中国信息大学中国信息大学1. 引言引言1.1 目的1

12、.2 定义和缩写词1.3 参考资料2. 编码风格编码风格2.1 程序编码要采用缩进风格编写2.2 编写子程序一定要做注释2.3 相对独立的程序块之间、变量说明之后必须加空行3. 注释注释注释的原则是有助于对程序的阅读理解,注释语言必须准确、易懂、简洁。4. 标识符命名标识符命名6.2 标识符的命名要清晰、明了,有明确含义6.3 命名中若使用特殊约定或缩写,则要有注释说明。5. 可读性可读性6. 变量、结构变量、结构7. 函数、过程函数、过程7.1 对所调用函数的错误返回码要仔细、全面地处理。7.2 明确函数功能7.3 编写可重入函数时,应注意局部变量的使用8. 可测性可测性9. 程序效率程序效

13、率9.1 编程时要经常注意代码的效率9.2 提高代码效率10. 质量保证质量保证10.1 代码质量保证原则11. 代码编辑、编译、审查代码编辑、编译、审查11.1 打开编译器的所有告警开关对程序进行编译。11.2在产品软件(项目组)中,要统一编译开关选项。11.3 通过代码走读及审查方式对代码进行检查。12. 代码测试、维护代码测试、维护13. 宏宏软件测试技术研究组软件测试技术研究组 中国信息大学中国信息大学9 测试用例测试用例写作写作模板模板要素要素 测试用例测试用例是软件测试的核心,测试用例的设计是软件测试的核心,测试用例的设计和编写是软件测试活动中最重要的。和编写是软件测试活动中最重要

14、的。 测试用例目前没有经典的定义,比较通常的说测试用例目前没有经典的定义,比较通常的说法是:法是:“指对一项特定的软件产品进行测试任指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略;务的描述,体现测试方案、方法、技术和策略;内容包括测试目标、测试环境、输入数据、测内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,并形成文试步骤、预期结果、测试脚本等,并形成文档档”。软件测试技术研究组软件测试技术研究组 中国信息大学中国信息大学软件测试技术研究组软件测试技术研究组 中国信息大学中国信息大学10 软件软件测评测评模板模板要素要素 软件软件测评是以测试项目

15、为对象,保证软件产品测评是以测试项目为对象,保证软件产品的性能和质量而制定的。软件测评是被测评软的性能和质量而制定的。软件测评是被测评软件的开发者填写测评登录表、适用程度测评表件的开发者填写测评登录表、适用程度测评表(适用程度测评的主要目的是确认被测评软件(适用程度测评的主要目的是确认被测评软件在实测中具备的功能与该软件产品推广范围内在实测中具备的功能与该软件产品推广范围内所应具备的基本功能的吻合程度)、数据管理所应具备的基本功能的吻合程度)、数据管理测评表、整理编目测评表、检索查询测评表、测评表、整理编目测评表、检索查询测评表、辅助实体管理测评表、安全保密测评表、系统辅助实体管理测评表、安全

16、保密测评表、系统维护测评表、兼容性测评表、速度测评表、易维护测评表、兼容性测评表、速度测评表、易用性测评表、容错性测评表、安全可靠性测评用性测评表、容错性测评表、安全可靠性测评表、软件资料测评表、总体测评结果表。表、软件资料测评表、总体测评结果表。软件测试技术研究组软件测试技术研究组 中国信息大学中国信息大学软件测试技术研究组软件测试技术研究组 中国信息大学中国信息大学11 功能测试模板要素功能测试模板要素 功能测试是对产品的功能进行验证,各个功能功能测试是对产品的功能进行验证,各个功能模块是否正确,逻辑是否正确。对测试应侧重模块是否正确,逻辑是否正确。对测试应侧重于业务功能和业务规则的测试。

17、检查产品是否于业务功能和业务规则的测试。检查产品是否达到用户的功能要求。对于功能测试,针对不达到用户的功能要求。对于功能测试,针对不同的应用系统,其测试内容的差异很大,但一同的应用系统,其测试内容的差异很大,但一般都可归为界面、数据、操作、逻辑、接口等般都可归为界面、数据、操作、逻辑、接口等方面。方面。软件测试技术研究组软件测试技术研究组 中国信息大学中国信息大学 软件测试技术研究组软件测试技术研究组 中国信息大学中国信息大学12 12 性能测试模板要素性能测试模板要素 性能测试主要是响应时间、事务处理速率、资性能测试主要是响应时间、事务处理速率、资源占用率测试、兼容性、易用性、用户文档、源占

18、用率测试、兼容性、易用性、用户文档、效率、可扩充性进行的测试。效率、可扩充性进行的测试。 软件测试技术研究组软件测试技术研究组 中国信息大学中国信息大学软件测试技术研究组软件测试技术研究组 中国信息大学中国信息大学13 可靠性测试模板要素可靠性测试模板要素 可靠性测试是为了满足软件可靠性要求,进可靠性测试是为了满足软件可靠性要求,进行一系列设计、分析、测试等工作。其中确行一系列设计、分析、测试等工作。其中确定软件可靠性要求是软件可靠性测试中需要定软件可靠性要求是软件可靠性测试中需要解决的首要问题。可靠性要求可以包括定性解决的首要问题。可靠性要求可以包括定性及定量要求等。及定量要求等。 可靠性测

19、试也是评估软件可靠性水平,验证可靠性测试也是评估软件可靠性水平,验证软件产品是不是达到软件可靠性要求的重要软件产品是不是达到软件可靠性要求的重要且有效的途径。且有效的途径。软件测试技术研究组软件测试技术研究组 中国信息大学中国信息大学软件测试技术研究组软件测试技术研究组 中国信息大学中国信息大学14 集成测试模板要素集成测试模板要素 集成测试的检测重点包括:子系统功能的关联性集成测试的检测重点包括:子系统功能的关联性测试、链接完整性测试、数据和数据库完整性测测试、链接完整性测试、数据和数据库完整性测试、功能测试、页面完整性测试等。试、功能测试、页面完整性测试等。 集成测试可以划分成集成测试可以

20、划分成3个级别:个级别:1. 模块内集成测试;2. 子系统内集成测试;3. 子系统间集成测试。软件测试技术研究组软件测试技术研究组 中国信息大学中国信息大学软件测试技术研究组软件测试技术研究组 中国信息大学中国信息大学15 系统测试模板要素系统测试模板要素 完成集成测试后,还需要进行系统测试。系统完成集成测试后,还需要进行系统测试。系统测试是将已经通过集成测试的软件、计算机硬测试是将已经通过集成测试的软件、计算机硬件、外设和网络等其他因素结合在一起,与系件、外设和网络等其他因素结合在一起,与系统需求说明书、系统方案说明书相比较,发现统需求说明书、系统方案说明书相比较,发现系统与用户需求不符或矛

21、盾的地方系统与用户需求不符或矛盾的地方,所以在系所以在系统实施运行前要进行系统测试。统实施运行前要进行系统测试。软件测试技术研究组软件测试技术研究组 中国信息大学中国信息大学16 验收测试模板要素验收测试模板要素 验收测试是依据软件开发商和用户之间的合同、验收测试是依据软件开发商和用户之间的合同、软件需求说明书以及相关行业标准、国家标准、软件需求说明书以及相关行业标准、国家标准、法律法规等对软件的功能、性能、可靠性、易法律法规等对软件的功能、性能、可靠性、易用性、可维护性、可移植性等特性进行严格的用性、可维护性、可移植性等特性进行严格的测试,验证软件的功能和性能及其他特性是否测试,验证软件的功

22、能和性能及其他特性是否与业务需求一致。与业务需求一致。软件测试技术研究组软件测试技术研究组 中国信息大学中国信息大学17 测试测试分析报告模板分析报告模板 测试分析报告是测试主要报告之一。测试分析测试分析报告是测试主要报告之一。测试分析报告是建立在正确的、足够的测试结果的基础报告是建立在正确的、足够的测试结果的基础之上,不仅要提供必要的测试结果的实际数据,之上,不仅要提供必要的测试结果的实际数据,同时要对结果进行分析,对产品质量进行准确同时要对结果进行分析,对产品质量进行准确的评估。的评估。软件测试技术研究组软件测试技术研究组 中国信息大学中国信息大学软件测试技术研究组软件测试技术研究组 中国

23、信息大学中国信息大学18 测试总结模板测试总结模板 软件测试总结的就是对整个测试流程进行科学软件测试总结的就是对整个测试流程进行科学和系统的总结,并根据这些结果对测试进行评和系统的总结,并根据这些结果对测试进行评价。这种报告是测试人员对测试工作进行总结。价。这种报告是测试人员对测试工作进行总结。软件测试技术研究组软件测试技术研究组 中国信息大学中国信息大学软件测试技术研究组软件测试技术研究组 中国信息大学中国信息大学19 Web测试模板要素测试模板要素 Web测试与一般应用系统的测试不同,链接的测试与一般应用系统的测试不同,链接的吻合性是吻合性是web应用系统的一个主要特征,需要应用系统的一个

24、主要特征,需要检查和验证系统是否按照设计的要求运行,而检查和验证系统是否按照设计的要求运行,而且测试系统在不同用户的浏览器上显示是否合且测试系统在不同用户的浏览器上显示是否合适。更重要的是,还要从最终用户的角度进行适。更重要的是,还要从最终用户的角度进行Web的功能测试、的功能测试、Web的性能测试(包括负载的性能测试(包括负载/压力测试)、压力测试)、Web的用户界面测试、的用户界面测试、Web的兼的兼容性测试、容性测试、 Web的安全性测试、的安全性测试、Web的接口测的接口测试、安全性测试和可用性测试。试、安全性测试和可用性测试。软件测试技术研究组软件测试技术研究组 中国信息大学中国信息

25、大学软件测试技术研究组软件测试技术研究组 中国信息大学中国信息大学20 软件软件安全性安全性测试模板要素测试模板要素 安全性测试是软件生命周期中保证软件是安全的一安全性测试是软件生命周期中保证软件是安全的一个重要的环节。软件安全性测试包括用户认证安全、个重要的环节。软件安全性测试包括用户认证安全、系统网络安全、数据库安全性测试。系统网络安全、数据库安全性测试。6.2基于不变量的测试技术研究 6.2.1验证测试中的问题 6.2.2基于不变量的测试技术 6.2.3应用基于不变量的测试解决前述问题的思路6.2.1验证测试中的问题 现有验证测试所采用的方式依旧以人工方式为主,针对具体的软件所涉及的领域

26、,由项目组确定领域专家形成专家组,由专家组选择最关注的技术物理量,并为其设定领域中的约束,形成验证测试计划书,再依据计划书对软件进行运行数据的采集,专家组对采集到的数据进行约束性检查,最终形成验证测试报告。6.2.1验证测试中的问题 从客观性和效率两方面考虑,这种测试方式存在着改进空间。 客观性方面,人工方式采集数据时容易带入人因因素的噪音数据,从而干扰专家组的判定;专家组选定的技术物理量集合相对固定,人的主观性占据很重要的位置,物理量集合不能灵活地扩充修正以及是否合理,都是验证测试中需要认真对待的问题。 效率方面,由于核电设计与分析软件涉及的计算量数目众多,人工方式采集工作量很大,实际采集的

27、算例数目不够充分(实际做法中最多也只有10余个),这作为最终结论的支撑论据似为不够。6.2.2基于不变量的测试技术 在软件范畴内,不变量是指软件程序中蕴含的不变性质或规律。不变量的表现形式简单,如下表所示:1x02Y=3*x+63Array A is sorted4.fieldabs(X)5D=one of MON,TUE,WED,THU,FRI6.2.2基于不变量的测试技术 不变量的作用多样,下面总结了一些最近的研究中出现的不变量的作用: 1) 程序不变量可以用于检测软件缺陷、软件错误等。提取程序动态运行时的不变量,作为程序的不变属性,监测程序运行中与这些性质相互冲突的地方,即为疑似的软件错

28、误所在。 2) 程序不变量可以辅助程序编码过程。通过分析待编写程序的需满足的不变量条件,刻画程序的属性依赖关系图,利用该关系图辅助编码过程,可以有效减少软件编写错误。6.2.2基于不变量的测试技术 不变量的作用多样,下面总结了一些最近的研究中出现的不变量的作用: 3) 自动化提取程序不变量方法的出现,为软件测试自动化技术的研究提供了新的思路。以往手动提取不变量用来对程序进行测试的方法,已经可以引入到自动化测试方法中来。为进一步提高软件测试的效率打下了坚实的基础。 4) 程序不变量可以过滤无效测试用例。将测试用例通过被测试程序运行,若自动化提取到的不变量结果不发生变化,则可以认为该用例为无效用例

29、,可直接过滤。6.2.3应用基于不变量的测试解决前述问题的思路 针对手工方式中客观性问题,应用阳小华工作团队的研究成果,在被测软件对象中尽可能多地发现不变量,补充进专家设定的不变量库中,解决其有限性问题;通过不变量可信度评估来降低噪音数据的影响。 针对手工方式中效率问题,应用阳小华工作团队自主开发的集成测试用例自动生成工具,生成充分的测试用例,并使用组合测试技术与不变量指导用例生成技术获取小规模的有效测试用例集,提升整体的测试效率。6.3蜕变测试技术研究 6.3.1蜕变测试 6.3.2蜕变测试例子(1)核电设计与分析软件测试)核电设计与分析软件测试-需求需求软件的正确性-验证计算的结果是不是正

30、确?“test oracle ” 问题 :即没有预期值来验证计算结果是不是正确。 比如算一个积分 ,要得到其预期值很困难,对于被积分函数是一个复杂的函数,就更加困难。 dxx102)1sin(6.3.1蜕变测试(2)“test oracle ” 问题解决方法问题解决方法直接方法 a、形式化验证(formal verification) b、程序证明(program proving) 这两类方法基于数学形式化描述和推理的方法,但是在实际的复杂的软件程序中很难证明和实现自动化1。1. Hailpern, B., Santhanam, P.: Software debugging, testing,

31、 and verification. IBM Systems Journal 41 (2002) 4126.3.1蜕变测试(2)“test oracle ” 问题解决方法问题解决方法间接方法 蜕变测试 1998年澳大利亚墨尔本大学的Tsong Yueh Chen在文献2提出了蜕变测试方法(Metamorphic Testing),此后,Chen很快地可以注意到,蜕变测试能够应用在无预期值的情形,也就是解决Oracle问题方面发挥其作用2T.Y. Chen, S.C. Cheung, and S.M. Yiu. Metamorphic testing: a new approach for generating next test cases. Technical Report HKUST-CS98-01, University of Science and Technology, Hong Kong.199

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论