软件测试基本理论课件.pptx

上传人(卖家):ziliao2023 文档编号:5765314 上传时间:2023-05-07 格式:PPTX 页数:29 大小:145.66KB
下载 相关 举报
软件测试基本理论课件.pptx_第1页
第1页 / 共29页
软件测试基本理论课件.pptx_第2页
第2页 / 共29页
软件测试基本理论课件.pptx_第3页
第3页 / 共29页
软件测试基本理论课件.pptx_第4页
第4页 / 共29页
软件测试基本理论课件.pptx_第5页
第5页 / 共29页
点击查看更多>>
资源描述

1、目录目录 1.测试的常识与道理 2.测试的分类与比较 3.测试人员的组织 4.测试策略 5.测试规范 6.软件产品的主要测试内容 7.黑盒测试的主要方法第1页/共29页1.测试的常识与道理测试的常识与道理 1.1 测试的目的是什么 测试的目的是为了发现尽可能多的缺陷,不是为了说明软件中没有缺陷。推论:推论:成功的测试在于发现了迄今尚未发现的缺陷。所以测试人员的职责是设计这样的测试用例,它能有效地揭示潜伏在软件里的缺陷。目前还有一种理论,认为测试的目的应该是保证发布到用户手中的软件是可用的,适用的.强调用户的观点可以有效地防止测试人员吹毛求疵地搞测试,发现了一堆问题,而用户真正关心的问题却漏了.

2、第2页/共29页1.测试的常识与道理测试的常识与道理1.2 一些常识和经验之谈测试能提高软件的质量,但是提高质量不能依赖测试。设计的缺陷导致测试时BUG无法收敛,到用户手中仍然问题多多.因此,设计的好坏是质量的关键,测试在评审设计文档时,要站在测试的角度去评审其可测试性,是否会在测试时出现各种问题.测试只能证明缺陷存在,不能证明缺陷不存在。“彻底地测试”难以成为现实,要考虑时间、费用等限制,不允许无休止地测试。我们应当祈祷:软件的缺陷在产品被淘汰之前一直没有机会发作。测试的主要困难是不知道如何进行有效地测试,也不知道什么时候可以放心地结束测试。所谓有效测试应该是:用户关心的问题都能测试出来.每

3、个开发人员应当测试自己的程序(份内之事),但是不能作为该程序已经通过测试的依据(所以项目需要独立测试人员)。80-20原则:80的缺陷聚集在20的模块中,经常出错的模块改错后还会经常出错测试应当循序渐进,不要企图一次性干完,注意“欲速则不达”。第3页/共29页2.测试的分类与比较测试的分类与比较2.1 测试方式白盒测试:关心软件内部设计和程序实现,主要测试依据是设计文档黑盒测试:不关心软件内部,只关心输入输出,主要测试依据是需求文档2.2 测试阶段单元测试、集成测试、系统测试、验收测试。是“从小到大”、“由内至外”、“循序渐进”的测试过程,体现了“分而治之”的思想。单元测试的粒度最小,一般由开

4、发小组采用白盒方式来测试,主要测试单元是否符合“设计”。集成测试界于单元测试和系统测试之间,起到“桥梁作用”,一般由开发小组采用白盒加黑盒的方式来测试,主要测试各个模块之间的接口.系统测试的粒度最大,一般由独立测试小组采用黑盒方式来测试,主要测试系统是否符合“需求规格说明书”。验收测试与系统测试非常相似,主要区别是测试人员不同,验收测试由用户执行。第4页/共29页2.测试的分类与比较测试的分类与比较2.3 开发与测试的 V 型关系如果软件开发过程采用严格的瀑布模型,那么开发与测试有“V”型的对应关系。需求要析 概要设计详细设计编程单元测试集成测试系统测试验收测试第5页/共29页2.测试的分类与

5、比较测试的分类与比较2.4 测试内容接口与路径测试。功能测试、健壮性测试、性能测试、用户界面测试、安全性测试、压力测试、可靠性测试、安装/反安装测试 测试阶段测试阶段 主要依据主要依据 测试人员、测试方式测试人员、测试方式 主要测试内容主要测试内容 单元测试系统设计文档由开发小组执行白盒测试 路径测试 集成测试系统设计文档需求文档由开发小组执行白盒测试和黑盒测试 接口测试系统测试需求文档由独立测试小组执行黑盒测试 功能测试、健壮性测试、性能测试、用户界面测试、安全性测试、压力测试、可靠性测试、安装/反安装测试 验收测试需求文档由用户执行黑盒测试 第6页/共29页3.测试人员的组织测试人员的组织

6、3.1 了解开发人员的测试心理测试的目的是找出尽可能多的缺陷。所以测试是“破坏性”的,而开发却是“建设性”的。开发人员总是喜欢欣赏程序的成功之处,而不愿看到失败之处。让开发者去做“蓄意破坏”的测试,就象杀自己的孩子一样难以接受。开发者对自己的程序印象深刻,并总以为是正确的(自信是应该的)。倘若在设计时就存在理解错误,或因不良的编程习惯而流下了隐患,他本人很难发现这类错误.开发者对自己的程序的功能、接口十分熟悉,他自己几乎不可能因为使用不当而引发错误,这与大众用户的情况不太相似,所以测试自己的程序不具备典型性。结论:结论:开发人员应当测试自己的程序,这是他分内的工作。但是开发人员在测试自己的程序

7、时,很难做到客观、公正,所以自我测试不具有说服力。第7页/共29页3.测试人员的组织测试人员的组织3.2 避免开发人员与测试人员产生矛盾开发人员的注意事项:不要敌视测试人员。要理解测试的目的就是发现缺陷,是测试人员的工作职责。不要以为测试人员吃饱了没事干,存心找茬。不要轻视测试人员,别说人家技术水平差,不配搞开发只好搞测试。测试人员的注意事项:发现缺陷时不要嘲笑开发人员,别说他的程序真臭、到处是Bug。在开发人员压力太大时或心情不好时不要火上浇油,发现缺陷时别大声嚷嚷。请留意另一种极端:请留意另一种极端:如果测试人员与开发人员的关系非常好,可能会导致在测试的时候“手下留情”,这对项目也是一种伤

8、害。第8页/共29页4.测试策略测试策略4.1 理念:企业的主要目的是获取利润,降低测试成本也是盈利的一种方式。用较低的代价实现有效的测试,不应为了追求完美的测试而不失一切代价。4.2 如何合理地减少测试工作量减少冗余的测试白盒测试与黑盒测试的方式虽然不同,但往往有“异曲同工”之妙。在很多地方,白盒测试与黑盒测试会产生一模一样的效果(或者能推理出来),这样的测试是冗余的。在集成测试、系统测试阶段,可能要执行多次“回归测试”。每一次“回归测试”都会存在不少的冗余,应当设法剔除不必要的重复测试工作。减少无价值的测试无价值的测试通常是由于不懂得测试技术引起的。例如功能测试,在等价区间之中,本来只要测

9、试一个典型的输入就行了,如果有人在此区间测试了100次,那么其中99次就是无价值的。如何“偷工减料”有一些“短、平、快”的项目,经费本来就少,用户对质量要求也马马虎虎。为了能多挣一点钱,开发方不得不采用“偷工减料”的方式来降低测试代价。偷工减料的途径无非就是减少测试的内容和频度。但不能砍得太狠,否则软件拿不出手。基本方法是找出软件中需要优先测试的部分(见下表),其它次要部分可以忽略或将来再测试。第9页/共29页4.测试策略测试策略“偷工减料”方法的测试优先级:哪些功能是软件的特色 哪些功能是用户最常用的 如果系统可以分块卖的话,哪些功能块在销售时最昂贵 哪些功能出错将导致用户不满或索赔哪些程序

10、是最复杂、最容易出错的哪些程序是相对独立,应当提前测试的哪些程序最容易扩散错误哪些程序是全系统的性能瓶颈所在哪些程序是开发者最没有信心的 4.3 测试何时结束基于测试用例的规则:是否覆盖了全部的测试用例?基于“测试期缺陷密度”的规则:查看BUG收敛的情况是否达到结束的标准.第10页/共29页6.软件系统的主要测试内容软件系统的主要测试内容6.1 路径测试6.2 功能测试6.3 健壮性测试6.4 性能测试6.5 用户界面测试6.6 信息安全测试6.7 压力测试6.8 可靠性测试6.9 安装/反安装测试第11页/共29页6.软件系统的主要测试内容软件系统的主要测试内容-路径测试路径测试6.1 路径

11、测试通过分析代码,看看有哪些可能的执行路径组合.If(a0:分支1)y=a else:分支2 y=1/a;If(b0:分支3)y=1/(y+b)else:分支4 y=1/y+b;以一代码看上去有四条路径,分支1,3 分支1,4 分支2,3 分支2,4,如果四个分支只取典型值,可能发现不了错误.如果有边界值分析法,可以检查出一个BUG,a=0,b=0时会有除0错误.而进一步的分析,其等价类还包括:a与b的大小关系,会划分出哪些等价类.即:a=-b时,有除0错误.所以,说等价类的划分决不是停留在表面的,而是基于对程序功能的深刻理解.第12页/共29页6.软件系统的主要测试内容软件系统的主要测试内容

12、-功能测试功能测试6.2 功能测试功能测试的基本方法是构造一些合理输入(在需求范围之内),检查输出是否与期望的相同。如果两者不一致,即表明功能有误。也有例外的情况,如需求规格说明书和SRS中的某个功能写错了,而实际上软件的功能却是正确的,这时要更改的是需求规格说明书。功能测试看起来比较简单,只要看得懂需求规格说明书,谁都会做。难点在于如何构造有效的输入。由于输入空间通常是无限的,穷举测试显然行不通。那么随便输入一些东西,碰运气行不行?功能测试有两种比较好的测试方法:等价划分法和边界值分析法。等价划分是指把输入空间划分为几个“等价区间”,在每个“等价区间”中只需要测试一个典型值就可以了。等价划分

13、法来源于人们的直觉与经验,可令测试事半功倍。“缺陷遗漏在角落里,聚集在边界上”。边界值测试法是对等价划分法的补充。如果A和B是输入空间的边界值,那么除了典型值外还要用A和B作为测试用例。例如测试函数。凭直觉,等价区间应是(0,1)和(1,+)。可取典型值x=0.5以及x=2.0进行“等价划分”测试。再取 x=0以及x=1进行“边界值”测试。第13页/共29页6.软件系统的主要测试内容软件系统的主要测试内容-健壮性测试健壮性测试6.3 健壮性测试健壮性是指在异常情况下,软件还能正常运行的能力。健壮性有两层含义:一是容错能力,二是恢复能力。容错性测试通常构造一些不合理的输入来引诱软件出错,例如:(

14、1)输入错误的数据类型。如“猴”年“马”月。(2)输入定义域之外的数值。如上海人常说的“十三点”粗暴一些方式俗称“大猩猩”测试法。除了不能拳打脚踢嘴咬外,什么招术都可以使出来。例如在测试客户机服务器模式的软件时,把网络线拔掉,造成通信异常中断。恢复测试重点考察一下几项:(1)系统能否重新运行;(2)有无重要的数据丢失;(3)是否毁坏了其它相关的软件硬件。第14页/共29页6.软件系统的主要测试内容软件系统的主要测试内容-性能测试性能测试6.4 性能测试性能测试即测试软件处理事务的速度,一是为了检验性能是否符合需求,二是为了得到某些性能数据供人们参考(例如用于宣传)。有时人们关心测试的“绝对值”

15、,如发送邮件的时候,每秒钟发送100条。有时人们关心测试的“相对值”,如某个软件比另一个软件快多少倍。在获取测试的“绝对值”时,我们要充分考虑并记录运行环境对测试的影响。例如网络环境、计算机主频,总线结构和外部设备都可能影响软件的运行速度。性能测试的一些注意事项:不要试图让人拿着钟表去测时间,应当编写一段程序用于计算时间以及相关数据。应当测试软件在标准配置和最低配置下的性能。为了排除干扰,应当保证被测试系统安装一套干净的环境上,上面不应该跑任何与被测系统无关的应用.测试之前要记录下当前测试环境的一些基本参数,例如:CPU个数,主频,内存大小,操作系统配置的缓存大小等.第15页/共29页6.软件

16、系统的主要测试内容软件系统的主要测试内容-用户界面测试用户界面测试6.5 用户界面测试绝大多数软件拥有图形用户界面。图形用户界面的测试重点是正确性、易用性和视觉效果。在评价易用性和视觉效果时,主观性非常强,应当考虑多个人的观点。用户界面测试分为整体界面测试和界面中的元素测试。界面中的元素主要包括窗口、菜单、图标、文字、鼠标等要多站在用户的角度来看待界面问题.第16页/共29页6.软件系统的主要测试内容软件系统的主要测试内容6.6 信息安全测试信息安全性是指防止系统被非法入侵的能力,既属于技术问题又属于管理问题。信息安全性测试有如下步骤:(1)为非法入侵设立目标,例如“盗窃某个文件”或“更改数据

17、库记录”等。(2)邀请一些人扮演黑客,让他们想尽办法入侵系统,实现“目标”。(3)如果有人成功了,请他详述入侵的过程。第17页/共29页6.软件系统的主要测试内容软件系统的主要测试内容-压力测试压力测试6.7 压力测试压力测试也叫负荷测试,即获取系统能正常运行的极限状态。例如:WEB测试中,同时登录的用户个数的压力测试.压力测试的主要任务是:构造正确的输入,使劲折腾系统却让它刚好不瘫痪。压力测试的一个变种是敏感测试。在某种情况下,微小的输入变动会导致系统的表现(如性能)发生急剧的变化。敏感测试目的是发现什么样的输入可能会引发不稳定现象。第18页/共29页6.软件系统的主要测试内容软件系统的主要

18、测试内容-可靠性测试可靠性测试6.8 可靠性测试可靠性是指在一定的环境下、在给定的时间内、系统不发生故障的概率。由于软件不像硬件那样可以“加速老化”,按此定义,软件可靠性测试可能会花费很长时间。比较实用的办法是,让用户使用该系统,记录每一次发生故障的时刻。计算出相邻故障的时间间隔,注意要去掉非工作时间。这样我们可以方便地统计出不发生故障的“最小时间间隔”、“最大时间间隔”和“平均时间间隔”。其中“平均时间间隔”会让人们大体了解到系统“可靠”的程度。第19页/共29页6.软件系统的主要测试内容软件系统的主要测试内容-安装安装/反安装测试反安装测试6.9 安装/反安装测试安装/反安装测试的目的:避

19、免“大风浪都挺过来了,却在阴沟里翻了船”目 前 市 面 上 有 非 常 流 行 的、专 门 制 作 安 装/反 安 装 程 序 的 一 些 工 具,如Install Shelled。制作安装/反安装程序不再是件难事,关键是不要麻痹大意。主要测试工作:(1)至少在标准配置和最低配置两种环境下测试;2)如果有安装界面,应当尝试各种选项,如选择“全部”、“部分”、“升级”等。就是升级脚本的测试和倒回脚本的测试.首次安装测试的是安装说明书的可用性.第20页/共29页7.黑盒测试的主要方法黑盒测试的主要方法第21页/共29页7.黑盒测试的主要方法黑盒测试的主要方法等价类划分法等价类划分法u等价类划分是一

20、种典型的黑盒测试方法,使用这一方法时,完全不考虑程序的内部结构,只依据程序的规格说明来设计测试用例。u等价类划分方法把所有可能的输入数据,即程序的输入域划分成若干部分,然后从每一部分中选取少数有代表性的数据做为测试用例。u使用这一方法设计测试用例要经历划分等价类(列出等价类表)和选取测试用例两步。u划分等价类 等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的。测试某等价类的代表值就等价于对这一类其它值的测试u等价类的划分有两种不同的情况 有效等价类:是指对于程序的规格说明来说,是合理的,有意义的输入数据构成的集合。无效等价类:是指对于程序的规格说明来说,是

21、不合理的,无意义的输入数据构成的集合。u在设计测试用例时,要同时考虑有效等价类和无效等价类的设计。u划分等价类等价类的原则。第22页/共29页7.黑盒测试的主要方法黑盒测试的主要方法等价类划分法等价类划分法(1)如果输入条件规定了取值范围,或值的个数,则可以确立一个有效等价类和两个无效等价类。例如,在程序的规格说明中,对输入条件有一句话:“输入数可以从1到1000”则有效等价类是“1输入数1000”两个无效等价类是“输入数1”或“输入数1000”。(2)如果输入条件规定了输入值的集合,或者是规定了“必须如何”的条件,这时可确立一个有效等价类和一个无效等价类。例如,输入框中规定为“以字母打头的字

22、符”。那么所有以字母打头的构成有效等价类,而不在此集合内(不以字母打头)的归于无效等价类(3)如果输入条件是一个布尔量,则可以确定一个有效等价类和一个无效等价类。(4)如果规定了输入数据的一组值,而且程序要对每个输入值分别进行处理。这时可为 每一个输入值确立一个有效等价类,此外针对这组值确立一个无效等价类,它是所有不允许的输入值的集合。第23页/共29页7.黑盒测试的主要方法黑盒测试的主要方法等价类划分法等价类划分法 例如,系统规定对超级管理员、管理员和操作员分别具有不同的权限,具有相应的功能。因此可以确定3个有效等价类为超级管理员、管理员和操作员,一个无效等价类,它是所有不符合以上身份的人员

23、的输入值的集合。(5)如果规定了输入数据必须遵守的规则,则可以确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。例如,一个语句必须以分号;结束。这时,可以确定一个有效等价类“以;结束”,若干个无效等价类“以:结束”、“以,结束”、“以 结束”、“以LF结束”等。再从划分出的等价类中按以下原则选择测试用例:(1)为每一个等价类规定一个唯一编号;(2)尽可能多地覆盖尚未被覆盖的有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止;(3)仅覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类都被覆盖为止。第24页/共29页8.黑盒测试的主要方法黑盒测试的主要方法

24、等价类划分法等价类划分法 输入的等价类划分法,都是有效的输入,例如:所有以字母开头的字符串的输入都是合理的输入,但是以字母开头的字符串中,还存在着潜在的划分,例如:以大写字母开头和小写字母开头之分.这种潜在的划分,开发不会提到.而测试这边是需要关注的,所以说:等价类不是需求文档中说明的,而是测试人员自己想出来的.到底如何分,很大程度由经验决定.曾经写的一个安全说:操作员的名称长度为大于5个时,才会暴露系统的BUG.按道理说:按照等价类划分,应该是大于5,等于5,小于5三个等价类.但这个等价类的5,是不会在需求规格说明书说的,测试人员如何最大限度地避免这种问题?一是要看代码,代码是如何处理的,就

25、知道要划分哪几个等价类.二是要在测试的时候,要尽量构造用户实际使用系统时的测试数据,本例中,如果测试人员有这个习惯和意识,在设计测试数据时,不是随便构造一个操作员的名称,而是考虑到用户一般喜欢用什么样的名称:例如:地区名+本人姓名全拼之类的,也可以避免这类问题.第25页/共29页7.黑盒测试的主要方法黑盒测试的主要方法边界值分析边界值分析u 边界值分析也是一种黑盒测试方法,是对等价类划分方法的补充。u 人们从长期的测试工作经验得知,大量的错误是发生在输入或输出范围的边界上,而不是在输入范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。u 比如,在做三角形计算时,要输入三角形的三

26、个边长:A、B和C。我们应注意到这三个数值应当满u A0、B0、C0且 ABC、ACB、BCA,才能构成三角形。但如果把六个不等式中的何一个大于号“”错写成大于等于号“”,那就不能构成三角形。问题恰出现在容易被疏忽的边界附近。u 这里所说的边界是指,相当于输入等价类和输出等价类而言,稍高于其边界值及稍低于其边界值的一些特定情况。u 使用边界值分析方法设计用例,首先应确定边界情况。应当选取正好等于,刚刚大于,或刚刚小于边界的值做为测试数据,而不是选取等价类中的典型值或任意值做为测试数据。u 如果有多个输入,要注意对多个输入的边界值进行有效的正交组合,去测试,更能发现一些深层次的问题.第26页/共

27、29页7.黑盒测试的主要方法黑盒测试的主要方法因果图因果图u因果图是从规格说明的描述中找出因(输入条件)和果(输出或程序状态的改变),通过因果图转换为判定表。u因果图的适用范围 如果在测试时必须考虑输入条件的各种组合,可使用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来设计测试用例,这就需要利用因果图。因果图方法最终生成的就是判定表。它适合于检查程序输入条件的各种组合情况。u对于程序的功能无法用一个简单的如果语句来描述,而是用多个如果语句,且关系较为复杂时,这时用因果图分析各种可能的如果条件的组合是有意义的.第27页/共29页7.黑盒测试的主要方法黑盒测试的主要方法因果图因果图 例

28、如,有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。其规格说明如下:若投入5角钱或1元钱的硬币,按下橙汁或啤酒的按钮,则相应的饮料就送出来。若售货机没有零钱找,则一个显示零钱找完的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示零钱找完的红灯灭,在送出饮料的同时退还5角硬币。”(1)分析这一段说明,列出原因和结果原因:1.售货机有零钱找 2.投入1元硬币 3.投入5角硬币 4.按下橙汁按钮 5.按下啤酒按钮建立中间结点,表示处理中间状态 11.投入1元硬币且押下饮料按钮 12.押下橙汁或啤酒的按钮 13.应当找5角零钱并且售货机有零钱找 14.钱已付清结果:21.售货机零钱找完灯亮 22.退还1元硬币 23.退还5角硬币 24.送出橙汁饮料 25.送出啤酒饮料 第28页/共29页感谢观看!第29页/共29页

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(软件测试基本理论课件.pptx)为本站会员(ziliao2023)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|