第一章 软件测试基础
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
很多人误认为软件测试就是运行软件,点点鼠标什么的,看 看哪不好用就行了。其实这是错误的。
软件测试不等于程序测试。软件测试贯穿于软件定义和开发 的整个期间。需求分析、概要设计、详细设计以及程序编码 等各个阶段所得要的文档,包括需求规格说明、概要设计规 格说明、详细设计规格说明以及源程序,都是软件测试的对 象。
动态测试包括功能确认与接口测试、覆盖率分析、性能分析、内存 分析等
第一章 软件测试基础
❖ 动态测试和静态测试
静态测试 静态测试不实际运行软件,主要是对软件的编程格式、结构等方面 进行评估
静态测试包括代码检查、程序结构分析、代码质量度量等。它可以 由人工进行,也可以借助软件工具自动进行
第一章 软件测试基础
式。
白盒测试 基于软件内部设计和程序实现的测试方式。
单元测试 主要测试软件模块的源代码。一般由开发人员而非独立测试人 员来执行,因为测试者需要懂得该单元的设计与程序实现,测 试者可能需要编写额外的测试驱动程序。
集成测试 将一些“构件”集成一起时,测试它们能否正常运行。这里 “构件” 可以是程序模块、客户机-服务器程序等等。
验收测试 由客户或最终用户执行,测试软件系统是否符合需求规格说明 书。
第一章 软件测试基础
❖ 软件测试的种类
名称
说明
负载测试
测试软件系统的最大负载,超出此负载软件可能会失常。
压力测试
概念上与负载测试相似,叫法不同。
性能测试
测试软件在各种状况下的性能,如在正常或最大负载下的 状况。
Fra Baidu bibliotek易用性测试
测试软件是否易用,主观性比较强。一般要根据很多用户 的测试反馈信息,才能评价易用性。
第一章 软件测试基础
❖ 软件测试的种类
名称
说明
功能测试 测试软件的功能是否符合功能性需求,通常采用黑盒测试方
式。一般由独立测试人员执行。
系统测试 测试软件系统是否符合所有需求,包括功能性需求与非功能性 需求。一般由独立测试人员执行,通常采用黑盒测试方式。
回归测试 指错误被修正后或软件功能、环境发生变化后进行的重新测 试。回归测试的困难在于不好确定哪些内容应当被重新测试。
测试的依据(需要独立测试人员)。 4、80-20原则:80%的缺陷聚集在20%的模块中,经常出错的模块改错
后还经常出错。 5、测试应当循序渐进,不要企图一次性干完。
第一章 软件测试基础
❖ 软件测试中的认识误区
1、测试和调试是一回事 ● 测试和调试有着根本的不同。测试是一个有计划,可重复的过程,目的
●交付使用的软件有缺陷,与多方面的人员有关系,如系统分析人员、设 计人员、编码人员、测试人员等。软件开发中的任何一个环节出现问题, 都有可能使软件出现缺陷。当然,这并不是说软件测试人员可以推卸责 任,开发团队中多方面的人员加强沟通合作才是最重要的。
比较测试
通过与同类产品比较,考察该系统的优点、缺点。
Alpha 测试 一种先期的用户测试,此时系统刚刚开发完成。
Beta测试
一种后期的用户测试,此时系统已经通过内部 测试,大部分错误已经改正,即将正式发行。
第一章 软件测试基础
❖ 动态测试和静态测试
动态测试 动态测试需要在开发/测试环境或实际运行环境中运行软件,并使用 测试用例去查找软件缺陷
定时
第一章 软件测试基础
❖ 软件测试的流程 1、制定测试计划 2、设计测试用例 3、如果满足“输入准则”,那么执行测试 4、撰写测试报告 5、消除软件缺陷。如果满足“输出准则”,那么正 常 结束测试
第一章 软件测试基础
❖ 软件测试的模型 V模型
第一章 软件测试基础
❖ 软件测试的常识和经验
1、测试能提高软件的质量,但是提高质量不能依赖测试。 2、测试只能证明缺陷存在,不能证明缺陷不存在。 3、每个开发人员应当测试自己的程序,但是不能作为该程序已经通过
第一章 软件测试基础
❖ 软件测试的目的
测试的目的是为了发现尽可能多的缺陷,不是为了说明软件 中没有缺陷。
推论:成功的测试在于发现了迄今尚未发现的缺陷,所以测 试人员的职责是设计这样的测试用例,它能有效地揭示潜伏 在软件里的缺陷。
第一章 软件测试基础
❖ 软件测试的种类
名称
说明
黑盒测试 基于软件需求,而不是基于软件内部设计和程序实现的测试方
第一章 软件测试基础
❖ 软件测试方法
手工测试和自动测试的比较
●自动测试将测试人员从反复、繁杂的测试执行中解放出来, 用更多的时间进行测试设计和结果分析
●软件测试不可能完全自动化 ●不能完成所有手工测试任务 ●无创造性且灵活性差,不能改进测试的有效性 ●过程中可能会遇到许多意想不到的问题,特别是当软件不稳
是为了发现软件中的潜在错误和缺陷;而调试是一个随机的、不可重复 的过程,目的是寻找错误的原因和具体位置,并修复。 ●调试一般在测试之后进行,当然,调试之后很可能又要进行测试,所以 两者是经常交互的。
第一章 软件测试基础
❖ 软件测试中的认识误区
2、若交付使用的软件有缺陷,是测试人员的失职
●软件测试的主要目标是发现软件中更多的错误和缺陷,但是不能通过已 有的测试证明软件是绝对正确的。
❖ 黑盒白盒测试与动态静态测试的关系
黑盒测试、白盒测试 测试用例设计阶段采用的方法
动态测试、静态测试 测试执行阶段采用的方法
第一章 软件测试基础
❖ 软件测试方法
手工测试:是一种传统的测试方法,由测试人员手工编写测试用例,缺点: 测试工作量大,重复多,回归测试难以实现。
自动测试:利用软件测试工具自动实现全部或部分测试工作:管理、设计、 执行和报告,可以节省大量的测试开销,并能够完成一些手工测试无法 实现的测试。
第一章 软件测试基础
❖ 软件测试的种类
名称
说明
安装与反安装测试 测试软件在“全部、部分、升级”等状况下的安装/
反安装过程。
恢复测试
测试该系统从故障中恢复过来的能力。
安全性测试
测试该系统防止非法侵入的能力。
兼容性测试
测试该系统与其它软件硬件兼容的能力。
第一章 软件测试基础
❖ 软件测试的种类
名称
说明
软件测试
教师:张蕾
第一章 软件测试基础
❖ 什么是软件测试?
软件测试是为了发现错误而执行程序的过程。
软件测试是根据软件开发各个阶段的规格说明和程序的内部 数据而精心设计一批测试用例(即输入数据及其预期的输出 结果),并利用这些测试用例去运行程序,以发现程序错误 的过程。
第一章 软件测试基础
❖ 软件测试的对象
软件测试不等于程序测试。软件测试贯穿于软件定义和开发 的整个期间。需求分析、概要设计、详细设计以及程序编码 等各个阶段所得要的文档,包括需求规格说明、概要设计规 格说明、详细设计规格说明以及源程序,都是软件测试的对 象。
动态测试包括功能确认与接口测试、覆盖率分析、性能分析、内存 分析等
第一章 软件测试基础
❖ 动态测试和静态测试
静态测试 静态测试不实际运行软件,主要是对软件的编程格式、结构等方面 进行评估
静态测试包括代码检查、程序结构分析、代码质量度量等。它可以 由人工进行,也可以借助软件工具自动进行
第一章 软件测试基础
式。
白盒测试 基于软件内部设计和程序实现的测试方式。
单元测试 主要测试软件模块的源代码。一般由开发人员而非独立测试人 员来执行,因为测试者需要懂得该单元的设计与程序实现,测 试者可能需要编写额外的测试驱动程序。
集成测试 将一些“构件”集成一起时,测试它们能否正常运行。这里 “构件” 可以是程序模块、客户机-服务器程序等等。
验收测试 由客户或最终用户执行,测试软件系统是否符合需求规格说明 书。
第一章 软件测试基础
❖ 软件测试的种类
名称
说明
负载测试
测试软件系统的最大负载,超出此负载软件可能会失常。
压力测试
概念上与负载测试相似,叫法不同。
性能测试
测试软件在各种状况下的性能,如在正常或最大负载下的 状况。
Fra Baidu bibliotek易用性测试
测试软件是否易用,主观性比较强。一般要根据很多用户 的测试反馈信息,才能评价易用性。
第一章 软件测试基础
❖ 软件测试的种类
名称
说明
功能测试 测试软件的功能是否符合功能性需求,通常采用黑盒测试方
式。一般由独立测试人员执行。
系统测试 测试软件系统是否符合所有需求,包括功能性需求与非功能性 需求。一般由独立测试人员执行,通常采用黑盒测试方式。
回归测试 指错误被修正后或软件功能、环境发生变化后进行的重新测 试。回归测试的困难在于不好确定哪些内容应当被重新测试。
测试的依据(需要独立测试人员)。 4、80-20原则:80%的缺陷聚集在20%的模块中,经常出错的模块改错
后还经常出错。 5、测试应当循序渐进,不要企图一次性干完。
第一章 软件测试基础
❖ 软件测试中的认识误区
1、测试和调试是一回事 ● 测试和调试有着根本的不同。测试是一个有计划,可重复的过程,目的
●交付使用的软件有缺陷,与多方面的人员有关系,如系统分析人员、设 计人员、编码人员、测试人员等。软件开发中的任何一个环节出现问题, 都有可能使软件出现缺陷。当然,这并不是说软件测试人员可以推卸责 任,开发团队中多方面的人员加强沟通合作才是最重要的。
比较测试
通过与同类产品比较,考察该系统的优点、缺点。
Alpha 测试 一种先期的用户测试,此时系统刚刚开发完成。
Beta测试
一种后期的用户测试,此时系统已经通过内部 测试,大部分错误已经改正,即将正式发行。
第一章 软件测试基础
❖ 动态测试和静态测试
动态测试 动态测试需要在开发/测试环境或实际运行环境中运行软件,并使用 测试用例去查找软件缺陷
定时
第一章 软件测试基础
❖ 软件测试的流程 1、制定测试计划 2、设计测试用例 3、如果满足“输入准则”,那么执行测试 4、撰写测试报告 5、消除软件缺陷。如果满足“输出准则”,那么正 常 结束测试
第一章 软件测试基础
❖ 软件测试的模型 V模型
第一章 软件测试基础
❖ 软件测试的常识和经验
1、测试能提高软件的质量,但是提高质量不能依赖测试。 2、测试只能证明缺陷存在,不能证明缺陷不存在。 3、每个开发人员应当测试自己的程序,但是不能作为该程序已经通过
第一章 软件测试基础
❖ 软件测试的目的
测试的目的是为了发现尽可能多的缺陷,不是为了说明软件 中没有缺陷。
推论:成功的测试在于发现了迄今尚未发现的缺陷,所以测 试人员的职责是设计这样的测试用例,它能有效地揭示潜伏 在软件里的缺陷。
第一章 软件测试基础
❖ 软件测试的种类
名称
说明
黑盒测试 基于软件需求,而不是基于软件内部设计和程序实现的测试方
第一章 软件测试基础
❖ 软件测试方法
手工测试和自动测试的比较
●自动测试将测试人员从反复、繁杂的测试执行中解放出来, 用更多的时间进行测试设计和结果分析
●软件测试不可能完全自动化 ●不能完成所有手工测试任务 ●无创造性且灵活性差,不能改进测试的有效性 ●过程中可能会遇到许多意想不到的问题,特别是当软件不稳
是为了发现软件中的潜在错误和缺陷;而调试是一个随机的、不可重复 的过程,目的是寻找错误的原因和具体位置,并修复。 ●调试一般在测试之后进行,当然,调试之后很可能又要进行测试,所以 两者是经常交互的。
第一章 软件测试基础
❖ 软件测试中的认识误区
2、若交付使用的软件有缺陷,是测试人员的失职
●软件测试的主要目标是发现软件中更多的错误和缺陷,但是不能通过已 有的测试证明软件是绝对正确的。
❖ 黑盒白盒测试与动态静态测试的关系
黑盒测试、白盒测试 测试用例设计阶段采用的方法
动态测试、静态测试 测试执行阶段采用的方法
第一章 软件测试基础
❖ 软件测试方法
手工测试:是一种传统的测试方法,由测试人员手工编写测试用例,缺点: 测试工作量大,重复多,回归测试难以实现。
自动测试:利用软件测试工具自动实现全部或部分测试工作:管理、设计、 执行和报告,可以节省大量的测试开销,并能够完成一些手工测试无法 实现的测试。
第一章 软件测试基础
❖ 软件测试的种类
名称
说明
安装与反安装测试 测试软件在“全部、部分、升级”等状况下的安装/
反安装过程。
恢复测试
测试该系统从故障中恢复过来的能力。
安全性测试
测试该系统防止非法侵入的能力。
兼容性测试
测试该系统与其它软件硬件兼容的能力。
第一章 软件测试基础
❖ 软件测试的种类
名称
说明
软件测试
教师:张蕾
第一章 软件测试基础
❖ 什么是软件测试?
软件测试是为了发现错误而执行程序的过程。
软件测试是根据软件开发各个阶段的规格说明和程序的内部 数据而精心设计一批测试用例(即输入数据及其预期的输出 结果),并利用这些测试用例去运行程序,以发现程序错误 的过程。
第一章 软件测试基础
❖ 软件测试的对象