软件测试系列培训教程北大青鸟2

上传人:枫** 文档编号:567498761 上传时间:2024-07-20 格式:PPT 页数:39 大小:583.50KB
返回 下载 相关 举报
软件测试系列培训教程北大青鸟2_第1页
第1页 / 共39页
软件测试系列培训教程北大青鸟2_第2页
第2页 / 共39页
软件测试系列培训教程北大青鸟2_第3页
第3页 / 共39页
软件测试系列培训教程北大青鸟2_第4页
第4页 / 共39页
软件测试系列培训教程北大青鸟2_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《软件测试系列培训教程北大青鸟2》由会员分享,可在线阅读,更多相关《软件测试系列培训教程北大青鸟2(39页珍藏版)》请在金锄头文库上搜索。

1、Version 3.0第二章第二章测试技术测试技术回顾回顾软件质量的衡量标准是可以准时地交付给用户,软件质量的衡量标准是可以准时地交付给用户,所耗费的成本不超出预算,并且最重要的是,能所耗费的成本不超出预算,并且最重要的是,能够正常地运行。够正常地运行。SQA 的目标是通过在开发周期的早期阶段发现错的目标是通过在开发周期的早期阶段发现错误来降低解决问题的成本。误来降低解决问题的成本。 SQA 应用于软件开发的每个阶段,每个阶段都有应用于软件开发的每个阶段,每个阶段都有其自己的质量标准。其自己的质量标准。 实施质量管理中,要注意构建自己的管理体系,实施质量管理中,要注意构建自己的管理体系,包括:

2、构建质量计划、建立质量保证、建立质量包括:构建质量计划、建立质量保证、建立质量控制等控制等2 2本章目标本章目标定义软件测试定义软件测试明确软件测试的准则明确软件测试的准则明确测试的方法明确测试的方法描述软件测试的各个阶段描述软件测试的各个阶段描述各种测试阶段的测试内容描述各种测试阶段的测试内容3 3简介简介软件测试是软件工程过程中的关键组件。软件测试是软件工程过程中的关键组件。软件测试是软件质量保证的要素,可以将其软件测试是软件质量保证的要素,可以将其描述为一个运行程序以检测错误(如果有)描述为一个运行程序以检测错误(如果有)的过程。的过程。4 4测试的常识与道理测试的常识与道理 2-1 编

3、程大师说:没有错误的程序世间难求。编程大师说:没有错误的程序世间难求。 (编程之道)(编程之道) 你在学校里学过测试吗?(读到博士可能你在学校里学过测试吗?(读到博士可能也不懂测试)也不懂测试) 你所在的企业重视测试吗?你所在的企业重视测试吗? (小公司程序(小公司程序员的技能更加全面)员的技能更加全面) 临时抱佛脚行吗?临时抱佛脚行吗?你以为有文档模板就会你以为有文档模板就会测试了吗测试了吗? 5 5测试的常识与道理测试的常识与道理 2-2如果不懂得有效地进行测试,你不仅得不如果不懂得有效地进行测试,你不仅得不到功劳,也没人欣赏你的苦劳,你拥有最到功劳,也没人欣赏你的苦劳,你拥有最多的将只是

4、疲劳。多的将只是疲劳。 职业软件工程师应当掌握需求开发、系统职业软件工程师应当掌握需求开发、系统设计、编程、测试、维护设计、编程、测试、维护 所有技能。所有技能。6 6测试的目的是什么测试的目的是什么测试的目的是为了发现尽可能多的缺陷测试的目的是为了发现尽可能多的缺陷,不是不是为了说明软件中没有缺陷。为了说明软件中没有缺陷。 推论:成功的测试在于发现了迄今尚未发推论:成功的测试在于发现了迄今尚未发现的缺陷。所以测试人员的职责是设计这现的缺陷。所以测试人员的职责是设计这样的测试用例,它能有效地揭示潜伏在软样的测试用例,它能有效地揭示潜伏在软件里的缺陷件里的缺陷。 千万不要将千万不要将“测试测试”

5、与与“演示演示”混为一谈。混为一谈。例如科研鉴定会。例如科研鉴定会。如果产品通过了严格的测试,大家不要不吭如果产品通过了严格的测试,大家不要不吭气,应当好好地宣传一把气,应当好好地宣传一把 。7 7软件测试原则软件测试原则 2-1完全测试程序是不可能的完全测试程序是不可能的 输入量太大输入量太大 输出结果太多输出结果太多 软件实现途径太多软件实现途径太多 软件说明书没有客观标准。从不同角度看,软件说明书没有客观标准。从不同角度看,软件缺陷的标准不同。软件缺陷的标准不同。8 8软件测试原则软件测试原则 2-2 软件测试是有风险的行为软件测试是有风险的行为 测试无法显示潜伏的软件缺陷测试无法显示潜

6、伏的软件缺陷找到的软件缺陷越多,就说明软件缺陷越多找到的软件缺陷越多,就说明软件缺陷越多 并非所有软件缺陷都能修复并非所有软件缺陷都能修复软件测试一项讲究条理的技术专业软件测试一项讲究条理的技术专业 9 9软件测试方法黑盒和白盒软件测试方法黑盒和白盒白盒测试中(有时候称为开盒测试),软件白盒测试中(有时候称为开盒测试),软件测试员可以访问程序员的代码,并通过检查测试员可以访问程序员的代码,并通过检查代码来协助测试可以看到盒子里面。一般代码来协助测试可以看到盒子里面。一般在单元测试中采用白盒测试,用于测试模块在单元测试中采用白盒测试,用于测试模块中所有可能的路径、执行所有循环并测试所中所有可能的

7、路径、执行所有循环并测试所有逻辑表达式。有逻辑表达式。 黑盒测试则侧重于软件的整体功能。黑盒测试则侧重于软件的整体功能。 它不它不基于程序的内部结构而基于系统功能。犹如基于程序的内部结构而基于系统功能。犹如一个人站在黑盒子外面,只知道系统输入一一个人站在黑盒子外面,只知道系统输入一定数据,得到一定的输出,而不必清楚这个定数据,得到一定的输出,而不必清楚这个黑盒子中进行了哪些操作和运算。黑盒子中进行了哪些操作和运算。1010软件测试方法静态和动态软件测试方法静态和动态静态检查静态检查确保系统按照组织的标准和过程运行,主要依确保系统按照组织的标准和过程运行,主要依赖于评审和非运行的手段来检查。通常

8、包括需赖于评审和非运行的手段来检查。通常包括需求评审、设计评审、代码走查和代码检查。求评审、设计评审、代码走查和代码检查。动态检查动态检查在生命周期中进行测试(运行)。通常包括单在生命周期中进行测试(运行)。通常包括单元测试、集成测试、系统测试、用户的验收测元测试、集成测试、系统测试、用户的验收测试。试。 1111静态测试静态测试审查审查 (Inspection) 软件的一种基本测试方法,它以一系列典型问软件的一种基本测试方法,它以一系列典型问题为依据进行检测。题为依据进行检测。走查走查 (Walkthrough) 一对一的审查,比审查更加仔细。一对一的审查,比审查更加仔细。回顾回顾(Revi

9、ew) 以发现软件中存在的错误和缺陷为目的的一以发现软件中存在的错误和缺陷为目的的一种软件测试方法,它是在软件证实执行之前完成。种软件测试方法,它是在软件证实执行之前完成。1212静态和动态测试进行结构和功能测试静态和动态测试进行结构和功能测试1313测试技术测试技术1414测试产品说明书测试产品说明书对于产品说明书的制定是个很重要的设计阶对于产品说明书的制定是个很重要的设计阶段,产品说明书的质量会直接影响到整个产段,产品说明书的质量会直接影响到整个产品开发。品开发。测试产品说明书属于静态黑盒子测试。测试产品说明书属于静态黑盒子测试。 1515常用测试用语测试用例常用测试用语测试用例测试用例:

10、编写用于输入输入的实际数制和测试用例:编写用于输入输入的实际数制和预期结果。测试用例还明确指出使用具体测预期结果。测试用例还明确指出使用具体测试用例产生的测试程序的任何限制试用例产生的测试程序的任何限制 。使用目的:使用目的: 测试用例应该设计为能够快速容易地发现尽测试用例应该设计为能够快速容易地发现尽可能多的错误。可能多的错误。 应该通过使用和产生正确和错误的输入和输应该通过使用和产生正确和错误的输入和输出来出来“检验检验”程序。程序。 其目标是要使用合理范围内的条件,尽可能其目标是要使用合理范围内的条件,尽可能全面地测试所有模块乃至整个系统。全面地测试所有模块乃至整个系统。1616测试与调

11、试什么是缺陷测试与调试什么是缺陷缺陷:最终产品同用户的期望不一致缺陷:最终产品同用户的期望不一致缺陷的分类缺陷的分类错误错误遗漏遗漏超出需求的部分超出需求的部分缺陷(未触发)缺陷(未触发)VS.错误(应首先解决)错误(应首先解决)1717测试与调试调试的准则测试与调试调试的准则调试的方法:归纳法、演绎法和回溯法。调试的方法:归纳法、演绎法和回溯法。常用调试技术使用诊断输出语句常用调试技术使用诊断输出语句 (diagnostic output statement)、快照转储、快照转储 (snapshot dump) 以及跟踪指令的断点以及跟踪指令的断点 (instruction-dependen

12、t breakpoint)。 1818测试的分类与比较测试的分类与比较开发与测试的开发与测试的 V V 型关系型关系如果软件开发过程采用严格的瀑布模型,那么开如果软件开发过程采用严格的瀑布模型,那么开发与测试有发与测试有“V”V”型的对应关系型的对应关系 。需求需求开发开发高层高层设计设计详细详细设计设计编程编程单元单元测试测试集成集成测试测试系统系统测试测试验收验收测试测试1919测试阶段测试阶段 2-1单元测试、集成测试、单元测试、集成测试、系统测试、系统测试、验收测验收测试。是试。是“从小到大从小到大”、“由内至外由内至外”、“循序渐进循序渐进”的测试过程,体现了的测试过程,体现了“分而

13、治分而治之之”的思想。的思想。 单元测试的粒度最小,一般由开发小组采单元测试的粒度最小,一般由开发小组采用白盒方式来测试,主要测试单元是否符用白盒方式来测试,主要测试单元是否符合合“设计设计”。 集成测试界于单元测试和系统测试之间,集成测试界于单元测试和系统测试之间,起到起到“桥梁作用桥梁作用”,一般由开发小组采用,一般由开发小组采用白盒加黑盒的方式来测试,既要验证白盒加黑盒的方式来测试,既要验证“设设计计”又要验证又要验证“需求需求”。 2020测试阶段测试阶段 2-2系统测试的粒度最大,一般由独立测试小系统测试的粒度最大,一般由独立测试小组采用黑盒方式来测试,主要测试系统是组采用黑盒方式来

14、测试,主要测试系统是否符合否符合“需求规格说明书需求规格说明书”。 验收测试与系统测试非常相似,主要区别验收测试与系统测试非常相似,主要区别是测试人员不同,验收测试由用户执行。是测试人员不同,验收测试由用户执行。 2121测试内容测试内容测试内容一般包含测试内容一般包含接口与路径测试。接口与路径测试。 功能测试、健壮性测试、性能测试、用户界面测功能测试、健壮性测试、性能测试、用户界面测试、安全性测试、压力测试、可靠性测试、安装试、安全性测试、压力测试、可靠性测试、安装/ /反安装测试反安装测试 2222测试阶段对应表测试阶段对应表测试阶段测试阶段 主要依据主要依据 测试人员、测试方式测试人员、

15、测试方式 主要测试内容主要测试内容 单元测试单元测试系统设计系统设计文档文档由开发小组执行白盒由开发小组执行白盒测试测试 接口测试、路径测试接口测试、路径测试 集成测试集成测试系统设计系统设计文档文档需求文档需求文档由开发小组执行白盒由开发小组执行白盒测试和黑盒测试测试和黑盒测试 接口测试、路径测试接口测试、路径测试功能测试、性能测试功能测试、性能测试 系统测试系统测试需求文档需求文档由独立测试小组执行由独立测试小组执行黑盒测试黑盒测试 功能测试、健壮性测试、功能测试、健壮性测试、性能测试、用户界面测性能测试、用户界面测试、安全性测试、压力试、安全性测试、压力测试、可靠性测试、安测试、可靠性测

16、试、安装装/反安装测试反安装测试 验收测试验收测试需求文档需求文档由用户执行黑盒测试由用户执行黑盒测试 2323接口与路径测试接口与路径测试 3-1接口测试:数据一般通过接口输入和输出,接口测试:数据一般通过接口输入和输出,接口测试一般是白盒测试的第一步。接口测试一般是白盒测试的第一步。 输入参数有输入参数有“典型值典型值”、“边界值边界值”、“异常异常值值” 输出包括函数的返回值和输出参数。输出包括函数的返回值和输出参数。 实际输出与期望的输出不一致,那么说明程序实际输出与期望的输出不一致,那么说明程序有错误。有错误。 一个函数体内的语句可能只有十几条,但一个函数体内的语句可能只有十几条,但

17、逻辑路径可能有成千上万条。所以应该根逻辑路径可能有成千上万条。所以应该根据经验选择关键的路径测试。据经验选择关键的路径测试。 2424接口与路径测试接口与路径测试 3-2路径测试的检查表路径测试的检查表数据类型、变量值、逻辑判断、循环、内存管数据类型、变量值、逻辑判断、循环、内存管理、文件理、文件I/OI/O、错误处理错误处理 预防一些重要的路径没有被测试的措施有:预防一些重要的路径没有被测试的措施有:观察是否有程序语句从来没有被执行过。观察是否有程序语句从来没有被执行过。要特别留意函数体内的错误处理程序块。要特别留意函数体内的错误处理程序块。 2525接口与路径测试接口与路径测试 3-3接口

18、与路径测试用例的参考模板接口与路径测试用例的参考模板2626功能测试功能测试 3-1 功能测试的基本方法是构造一些合理输入功能测试的基本方法是构造一些合理输入(在需求范围之内),检查输出是否与期(在需求范围之内),检查输出是否与期望的相同。如果两者不一致,即表明功能望的相同。如果两者不一致,即表明功能有误。有误。难点在于如何构造有效的输入。难点在于如何构造有效的输入。2727功能测试功能测试 3-2功能测试的测试方法:等价划分法和边界功能测试的测试方法:等价划分法和边界值分析法。值分析法。 等价划分是指把输入空间划分为几个等价划分是指把输入空间划分为几个“等价区等价区间间”,在每个,在每个“等

19、价区间等价区间”中只需要测试一中只需要测试一个典型值就可以了。等价划分法来源于人们个典型值就可以了。等价划分法来源于人们的直觉与经验,可令测试事半功倍。的直觉与经验,可令测试事半功倍。 “缺陷遗漏在角落里,聚集在边界上缺陷遗漏在角落里,聚集在边界上”。边界。边界值测试法是对等价划分法的补充。如果值测试法是对等价划分法的补充。如果A A和和B B是输入空间的边界值,那么除了典型值外还是输入空间的边界值,那么除了典型值外还要用要用A A和和B B作为测试用例。作为测试用例。 2828功能测试功能测试 3-3功能测试功能测试用例的参考模板用例的参考模板2929性能测试性能测试 3-1性能测试即测试软

20、件处理事务的速度,一性能测试即测试软件处理事务的速度,一是为了检验性能是否符合需求,二是为了是为了检验性能是否符合需求,二是为了得到某些性能数据供人们参考。得到某些性能数据供人们参考。 绝绝对对值值考考虑虑:如如数数据据送送输输速速率率是是每每秒秒多多少少比比特特。 “相相对对值值”考考虑虑:如如某某个个软软件件比比另另一个软件快多少倍。一个软件快多少倍。性性能能测测试试中中考考虑虑运运行行环环境境的的影影响响:例例如如网网络络环环境境、计计算算机机主主频频,总总线线结结构构和和外外部部设设备都可能影响软件的运行速度。备都可能影响软件的运行速度。 3030性能测试性能测试 3-2性能测试的一些

21、注意事项:性能测试的一些注意事项:应当编写一段程序用于计算时间以及相关数据。应当编写一段程序用于计算时间以及相关数据。 应当测试软件在标准配置和最低配置下的性能。应当测试软件在标准配置和最低配置下的性能。 应当关闭那些消耗内存、占用应当关闭那些消耗内存、占用CPUCPU的其它应用的其它应用软件(如杀毒软件)。软件(如杀毒软件)。 应当分档记录。例如传输文件的容量从应当分档记录。例如传输文件的容量从100100K K到到1 1M M可以分成若干等级。可以分成若干等级。 同一种输入情况在不同的时间可能得到不同的同一种输入情况在不同的时间可能得到不同的性能数据,可以取其平均值。性能数据,可以取其平均

22、值。 3131性能测试性能测试 3-3性能测试性能测试用例的参考模板用例的参考模板3232压力测试压力测试 2-1压力测试也叫负荷测试,即获取系统能正压力测试也叫负荷测试,即获取系统能正常运行的极限状态。常运行的极限状态。压压力力测测试试的的主主要要任任务务是是:构构造造正正确确的的输输入入,使劲折腾系统却让它刚好不瘫痪。使劲折腾系统却让它刚好不瘫痪。 压压力力测测试试的的一一个个变变种种是是敏敏感感测测试试。在在某某种种情情况况下下,微微小小的的输输入入变变动动会会导导致致系系统统的的表表现(如性能)发生急剧的变化。现(如性能)发生急剧的变化。3333压力测试压力测试 2-2压力测试用例的参

23、考模板压力测试用例的参考模板3434其他测试内容其他测试内容健壮性测试健壮性测试用户界面测试用户界面测试信息安全测试信息安全测试可靠性测试可靠性测试安装和反安装测试安装和反安装测试3535问题问题1:有了:有了“黑盒黑盒”测试为什么还要测试为什么还要“白盒白盒”测试?测试?问题问题2:由于单元测试要写测试驱动程序,:由于单元测试要写测试驱动程序,非常麻烦,能否等到整个系统全部开发完后,非常麻烦,能否等到整个系统全部开发完后,再集中精力进行一次性地单元测试呢?再集中精力进行一次性地单元测试呢? 问题问题3:如果每个单元都通过了测试,把它:如果每个单元都通过了测试,把它们集成一起难道会有什么不妥吗

24、?集成测试们集成一起难道会有什么不妥吗?集成测试是否多此一举?是否多此一举?测试常见问题测试常见问题 2-13636测试常见问题测试常见问题 2-2问题问题4:在集成测试的时候,已经对一些子:在集成测试的时候,已经对一些子系统进行了功能测试、性能测试等等,那么系统进行了功能测试、性能测试等等,那么在系统测试时能否跳过相同内容的测试在系统测试时能否跳过相同内容的测试? 问题问题5:既然系统测试与验收测试的内容几:既然系统测试与验收测试的内容几乎是相同的,为什么还要验收测试?乎是相同的,为什么还要验收测试?问题问题6:能否将系统测试和验收测试:能否将系统测试和验收测试“合二为合二为一一”? 373

25、7总结总结 2-1测试可以将测试描述为一个运行程序以发现测试可以将测试描述为一个运行程序以发现错误的过程。错误的过程。软件测试的准则软件测试的准则:不完全测试、风险测试、无不完全测试、风险测试、无法显示潜伏错误、发现错误成线性增长、缺法显示潜伏错误、发现错误成线性增长、缺陷不能完全修复、测试有条理规程陷不能完全修复、测试有条理规程测试的方法测试的方法:黑盒黑盒/白盒、静态白盒、静态/动态动态软件测试的各个阶段:单元测试、集成测试、软件测试的各个阶段:单元测试、集成测试、系统测试、验收测试系统测试、验收测试3838总结总结 2-2测试的内容包括:接口测试的内容包括:接口/路径测试、功能测试、路径测试、功能测试、性能测试、压力测试、可靠性测试、安全性性能测试、压力测试、可靠性测试、安全性测试、用户界面测试、安装测试、用户界面测试、安装/反安装测试反安装测试3939

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号