
编辑推荐
本书为清华大学出版社出版的朱少民老师的《软件测试方法与技术》一书的配套实验类指导书,因此在内容与篇章结构上尽量与其一致。同时,本实验教材注重实践环节的积累,用具体的案例来讲述软件测试理论应用的具体方法,实用性和指导性强。本书是朱少民老师的《软件测试方法与技术》一书的实践教程和重要补充。
目录
目录
第1篇软件测试的原理与方法
第1章测试用例设计
1.1软件测试的基本理念
1.1.1软件质量
1.1.2软件缺陷
1.1.3软件测试
1.2测试用例设计
1.2.1测试用例的类型
1.2.2测试用例的一般结构
1.2.3设计测试用例需考虑的因素
第2章黑盒测试原理与方法
2.1黑盒测试概述
2.2等价类划分法
2.2.1等价类划分法的原理
2.2.2等价类划分法的实验
2.3边界值分析法
2.3.1边界值分析法的原理
2.3.2边界值分析法的实验
2.4判定表法
2.4.1判定表法的原理
2.4.2判定表法的实验
2.5Pairwise方法
2.5.1Pairwise方法的原理
2.5.2Pairwise方法的实验
第3章白盒测试原理与方法
3.1白盒测试概述
3.1.1语句覆盖
3.1.2判定覆盖
3.1.3条件覆盖
3.1.4判定/条件覆盖
3.1.5条件组合覆盖
3.1.6基本路径覆盖
3.1.7白盒测试与黑盒测试的比较
3.2白盒测试实验
第2篇软件测试的技术
第4章单元测试
4.1单元测试概述
4.1.1什么是单元测试
4.1.2单元测试中的测试用例设计
4.1.3单元测试的过程
4.1.4单元测试的主要测试手段
4.2单元功能测试
4.2.1单元功能测试概述
4.2.2单元功能测试实验
4.3单元逻辑覆盖测试
4.3.1单元逻辑覆盖测试概述
4.3.2静态测试
4.3.3驱动程序和桩程序
4.3.4利用驱动程序和桩程序进行单元测试
4.3.5利用JUnit进行单元测试
4.3.6利用JUnit进行单元测试的实验
第5章集成和系统测试
5.1集成测试概述
5.2系统测试概述
5.3利用业务流进行集成和系统功能测试
5.4利用业务流进行集成和系统功能测试的实验
5.5系统性能测试
5.5.1性能测试定义与要点
5.5.2性能测试术语
5.5.3性能测试流程
5.5.4系统性能测试软件LoadRunner
5.5.5利用LoadRunner软件进行系统性能测试的实验
附录A管理信息系统单元测试共通点检查表
附录B“实验设备管理系统”程序安装说明
参考文献
序言
前言
软件测试是一门对于工程实践能力要求很高的课程,在整个计算机科学与技术学科的人才培养规划里,是一门偏重于实践的核心课程,旨在培养学生的计算机实际开发能力。目前,许多高校在计算机专业或软件工程专业开设了这门课程,可见软件测试课程的重要性。
事实上,由于软件测试这门课程重在培养学生的工程实践能力的特点,从软件测试教学大纲和教学计划可以看出,所安排的实验节数非常多,应该是全部学时的一半以上,因为学生只有通过一个个软件测试案例的实验,才能够真正掌握软件测试的各种方法并且做到融会贯通。
目前,软件测试课程的教材数量多而且质量都很好,但是基于培养软件测试实际动手能力的实验配套教材还不多,学生反映即使买到了合适的软件测试教材,但是很难买到真正实用的软件测试实验指导用书。原因是这类书籍由于偏重实践环节,所涉及的课题和实验的准备需要很长的时间,不像一般的理论教材那么好写,所以出书十分困难。但是学生要想掌握软件测试方法,在实际测试环节中,又迫切地需要好的、详细介绍实施软件测试方法具体步骤的实验教程。
本人多年从事软件工程、软件测试及软件质量保证的研究并讲授相关课程,长期指导学生进行实际的软件测试活动,在软件测试的课堂上多年采用清华大学出版社出版、朱少民老师编写的《软件测试方法和技术》一书,按照朱老师教材的章节编写思路,结合自己多年辅导学生进行软件测试学习所积累的案例,编写了这本软件测试的实验教程。本书充实了软件测试方法和技术的实验环节案例,详细描述了各种软件测试常用的方法和技术在实践中应用的步骤和过程,由浅入深、循序渐进,有些章节的实验甚至分步骤详尽地做了阐述。所以,本书应该是一本容易入门的、浅显易懂的实验教材,特别适合作为一本学习软件测试的入门实验指导书。书中所涉及的所有案例都是笔者这些年在课堂上带着学生反复实践过的,相信会对学习软件测试的读者有所启发。
本书设想成为清华大学出版社出版、朱少民老师编写的《软件测试方法和技术》一书的配套实验类指导书,因此在内容与篇章结构上尽量与朱老师的原书一致,可以说本书是《软件测试方法和技术》一书的实践教程和重要补充。同时,本书注重实践环节的积累,用具体的案例来讲述软件测试理论应用的具体方法,实用性和指导性很强。
本书对软件测试的主要方法和重要技术均做了介绍,本着理论与实践相结合的原则,在介绍软件测试某个具体的方法之后,以实验指导书的形式相应地给出一个利用此方法的实验案例,便于读者学习实践。
在各章的实验指导书中,除说明本次实验的目的、所要求的实验环境、本次实验的内容之外,对于实验相关的软件测试理论,都以【实验原理】的形式再次简明扼要地加以阐明; 对于软件测试初学者感觉困难的地方,都以【实验步骤】的形式予以具体讲解,读者只要按照实验步骤进行操作,就可以很容易地完成整个实验。提醒读者不要急于阅读【实验指导】部分,因为【实验指导】是类似习题答案的内容,因此为了培养和锻炼自己的软件测试能力,可以先不阅读【实验指导】,自己完成整个实验之后再阅读这一部分,看看自己的测试设计方法与【实验指导】有什么不同,从而达到学习提高的目的。对于初学者容易犯的错误都以【实验中需要注意的问题】的形式进行了概括总结。有些实验还有【实验拓展】部分,提出实验拓展问题,或者是需要进一步进行实验的内容。
对于本实验教程的所有实验案例,读者都可以参阅书中的【实验指导】,自己进行相同的实验操作,所涉及的被测程序和相应的软件系统平台、测试工具软件,都可以从本书指定的配套网站下载使用。
本书所涉及的多个测试实验均可被读者实际操作,相信许多读者凭借本书,可以真正摆脱只能学习软件测试理论,无法动手进行实际测试的困境。各章的实验指导阐述细致,浅显易懂。
本书参考了软件测试的相关书籍以及互联网上的一些软件测试理论文章,特别是朱少民老师编写的《软件测试方法和技术》一书,对于各位作者表示深深的谢意。
本书还参考了我的学生郭莹和范逸飞的毕业设计论文。作为毕业设计导师,向他们表示感谢。
由于本人水平有限,尽管参照了很多的文献和听取多方的意见,但由于时间问题和本人能力问题,书中难免存在漏洞与误区,还望读者朋友指正。
作者
2017年1月
文摘
3白盒测试原理与方法
3.1白盒测试概述
白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,测试人员清楚盒子内部的东西以及里面是如何运作的。
白盒测试的目的: 通过检查软件内部的逻辑结构,对软件中的逻辑路径进行覆盖测试; 检查程序的状态,以确定实际运行状态与预期状态是否一致。
白盒测试的特点: 依据软件详细设计说明书进行测试,对程序内部细节进行严密检验,针对特定条件设计测试用例,对软件的逻辑路径进行覆盖测试。
白盒测试的方法: 总体上分为静态方法和动态方法两大类。静态分析是一种不通过执行程序而进行测试的技术。静态分析的关键功能是检查软件的表示和描述是否一致,是否没有冲突或者没有歧义。动态分析的主要特点是当软件系统在模拟的或真实的环境中执行之前、之中和之后,对软件系统行为的分析。动态分析包含了程序在受控的环境下使用特定的期望结果进行正确的运行,它显示了一个系统在检查状态下是正确还是不正确。在动态分析技术中,最重要的技术是路径和分支测试。下面要介绍的6种覆盖测试方法属于动态分析方法。
图31是一个被测模块的流程图,下面以此为例分别阐述几种白盒逻辑覆盖测试的原理。
图31一个被测模块的流程图
3.1.1语句覆盖
1. 主要特点
语句覆盖是最起码的结构覆盖要求,语句覆盖要求设计足够多的测试用例,使得程序中每条语句至少被执行一次。
2. 测试用例设计
为了使语句都被执行,程序的执行路径应该是sacbed。只需要输入下面的测试用例数据(实际上X可以是任意实数),如表31所示。
A=2,B=0,X=4。
表31语句覆盖测试用例表
编号
A
B
X
路径
1
2
0
4
sacbed
本书为清华大学出版社出版的朱少民老师的《软件测试方法与技术》一书的配套实验类指导书,因此在内容与篇章结构上尽量与其一致。同时,本实验教材注重实践环节的积累,用具体的案例来讲述软件测试理论应用的具体方法,实用性和指导性强。本书是朱少民老师的《软件测试方法与技术》一书的实践教程和重要补充。
目录
目录
第1篇软件测试的原理与方法
第1章测试用例设计
1.1软件测试的基本理念
1.1.1软件质量
1.1.2软件缺陷
1.1.3软件测试
1.2测试用例设计
1.2.1测试用例的类型
1.2.2测试用例的一般结构
1.2.3设计测试用例需考虑的因素
第2章黑盒测试原理与方法
2.1黑盒测试概述
2.2等价类划分法
2.2.1等价类划分法的原理
2.2.2等价类划分法的实验
2.3边界值分析法
2.3.1边界值分析法的原理
2.3.2边界值分析法的实验
2.4判定表法
2.4.1判定表法的原理
2.4.2判定表法的实验
2.5Pairwise方法
2.5.1Pairwise方法的原理
2.5.2Pairwise方法的实验
第3章白盒测试原理与方法
3.1白盒测试概述
3.1.1语句覆盖
3.1.2判定覆盖
3.1.3条件覆盖
3.1.4判定/条件覆盖
3.1.5条件组合覆盖
3.1.6基本路径覆盖
3.1.7白盒测试与黑盒测试的比较
3.2白盒测试实验
第2篇软件测试的技术
第4章单元测试
4.1单元测试概述
4.1.1什么是单元测试
4.1.2单元测试中的测试用例设计
4.1.3单元测试的过程
4.1.4单元测试的主要测试手段
4.2单元功能测试
4.2.1单元功能测试概述
4.2.2单元功能测试实验
4.3单元逻辑覆盖测试
4.3.1单元逻辑覆盖测试概述
4.3.2静态测试
4.3.3驱动程序和桩程序
4.3.4利用驱动程序和桩程序进行单元测试
4.3.5利用JUnit进行单元测试
4.3.6利用JUnit进行单元测试的实验
第5章集成和系统测试
5.1集成测试概述
5.2系统测试概述
5.3利用业务流进行集成和系统功能测试
5.4利用业务流进行集成和系统功能测试的实验
5.5系统性能测试
5.5.1性能测试定义与要点
5.5.2性能测试术语
5.5.3性能测试流程
5.5.4系统性能测试软件LoadRunner
5.5.5利用LoadRunner软件进行系统性能测试的实验
附录A管理信息系统单元测试共通点检查表
附录B“实验设备管理系统”程序安装说明
参考文献
序言
前言
软件测试是一门对于工程实践能力要求很高的课程,在整个计算机科学与技术学科的人才培养规划里,是一门偏重于实践的核心课程,旨在培养学生的计算机实际开发能力。目前,许多高校在计算机专业或软件工程专业开设了这门课程,可见软件测试课程的重要性。
事实上,由于软件测试这门课程重在培养学生的工程实践能力的特点,从软件测试教学大纲和教学计划可以看出,所安排的实验节数非常多,应该是全部学时的一半以上,因为学生只有通过一个个软件测试案例的实验,才能够真正掌握软件测试的各种方法并且做到融会贯通。
目前,软件测试课程的教材数量多而且质量都很好,但是基于培养软件测试实际动手能力的实验配套教材还不多,学生反映即使买到了合适的软件测试教材,但是很难买到真正实用的软件测试实验指导用书。原因是这类书籍由于偏重实践环节,所涉及的课题和实验的准备需要很长的时间,不像一般的理论教材那么好写,所以出书十分困难。但是学生要想掌握软件测试方法,在实际测试环节中,又迫切地需要好的、详细介绍实施软件测试方法具体步骤的实验教程。
本人多年从事软件工程、软件测试及软件质量保证的研究并讲授相关课程,长期指导学生进行实际的软件测试活动,在软件测试的课堂上多年采用清华大学出版社出版、朱少民老师编写的《软件测试方法和技术》一书,按照朱老师教材的章节编写思路,结合自己多年辅导学生进行软件测试学习所积累的案例,编写了这本软件测试的实验教程。本书充实了软件测试方法和技术的实验环节案例,详细描述了各种软件测试常用的方法和技术在实践中应用的步骤和过程,由浅入深、循序渐进,有些章节的实验甚至分步骤详尽地做了阐述。所以,本书应该是一本容易入门的、浅显易懂的实验教材,特别适合作为一本学习软件测试的入门实验指导书。书中所涉及的所有案例都是笔者这些年在课堂上带着学生反复实践过的,相信会对学习软件测试的读者有所启发。
本书设想成为清华大学出版社出版、朱少民老师编写的《软件测试方法和技术》一书的配套实验类指导书,因此在内容与篇章结构上尽量与朱老师的原书一致,可以说本书是《软件测试方法和技术》一书的实践教程和重要补充。同时,本书注重实践环节的积累,用具体的案例来讲述软件测试理论应用的具体方法,实用性和指导性很强。
本书对软件测试的主要方法和重要技术均做了介绍,本着理论与实践相结合的原则,在介绍软件测试某个具体的方法之后,以实验指导书的形式相应地给出一个利用此方法的实验案例,便于读者学习实践。
在各章的实验指导书中,除说明本次实验的目的、所要求的实验环境、本次实验的内容之外,对于实验相关的软件测试理论,都以【实验原理】的形式再次简明扼要地加以阐明; 对于软件测试初学者感觉困难的地方,都以【实验步骤】的形式予以具体讲解,读者只要按照实验步骤进行操作,就可以很容易地完成整个实验。提醒读者不要急于阅读【实验指导】部分,因为【实验指导】是类似习题答案的内容,因此为了培养和锻炼自己的软件测试能力,可以先不阅读【实验指导】,自己完成整个实验之后再阅读这一部分,看看自己的测试设计方法与【实验指导】有什么不同,从而达到学习提高的目的。对于初学者容易犯的错误都以【实验中需要注意的问题】的形式进行了概括总结。有些实验还有【实验拓展】部分,提出实验拓展问题,或者是需要进一步进行实验的内容。
对于本实验教程的所有实验案例,读者都可以参阅书中的【实验指导】,自己进行相同的实验操作,所涉及的被测程序和相应的软件系统平台、测试工具软件,都可以从本书指定的配套网站下载使用。
本书所涉及的多个测试实验均可被读者实际操作,相信许多读者凭借本书,可以真正摆脱只能学习软件测试理论,无法动手进行实际测试的困境。各章的实验指导阐述细致,浅显易懂。
本书参考了软件测试的相关书籍以及互联网上的一些软件测试理论文章,特别是朱少民老师编写的《软件测试方法和技术》一书,对于各位作者表示深深的谢意。
本书还参考了我的学生郭莹和范逸飞的毕业设计论文。作为毕业设计导师,向他们表示感谢。
由于本人水平有限,尽管参照了很多的文献和听取多方的意见,但由于时间问题和本人能力问题,书中难免存在漏洞与误区,还望读者朋友指正。
作者
2017年1月
文摘
3白盒测试原理与方法
3.1白盒测试概述
白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,测试人员清楚盒子内部的东西以及里面是如何运作的。
白盒测试的目的: 通过检查软件内部的逻辑结构,对软件中的逻辑路径进行覆盖测试; 检查程序的状态,以确定实际运行状态与预期状态是否一致。
白盒测试的特点: 依据软件详细设计说明书进行测试,对程序内部细节进行严密检验,针对特定条件设计测试用例,对软件的逻辑路径进行覆盖测试。
白盒测试的方法: 总体上分为静态方法和动态方法两大类。静态分析是一种不通过执行程序而进行测试的技术。静态分析的关键功能是检查软件的表示和描述是否一致,是否没有冲突或者没有歧义。动态分析的主要特点是当软件系统在模拟的或真实的环境中执行之前、之中和之后,对软件系统行为的分析。动态分析包含了程序在受控的环境下使用特定的期望结果进行正确的运行,它显示了一个系统在检查状态下是正确还是不正确。在动态分析技术中,最重要的技术是路径和分支测试。下面要介绍的6种覆盖测试方法属于动态分析方法。
图31是一个被测模块的流程图,下面以此为例分别阐述几种白盒逻辑覆盖测试的原理。
图31一个被测模块的流程图
3.1.1语句覆盖
1. 主要特点
语句覆盖是最起码的结构覆盖要求,语句覆盖要求设计足够多的测试用例,使得程序中每条语句至少被执行一次。
2. 测试用例设计
为了使语句都被执行,程序的执行路径应该是sacbed。只需要输入下面的测试用例数据(实际上X可以是任意实数),如表31所示。
A=2,B=0,X=4。
表31语句覆盖测试用例表
编号
A
B
X
路径
1
2
0
4
sacbed
ISBN | 9787302461142 |
---|---|
出版社 | 清华大学出版社 |
作者 | 王丹丹 |
尺寸 | 16 |