软件测试的相关概念

上传人:pu****.1 文档编号:568214828 上传时间:2024-07-23 格式:PPT 页数:43 大小:259.50KB
返回 下载 相关 举报
软件测试的相关概念_第1页
第1页 / 共43页
软件测试的相关概念_第2页
第2页 / 共43页
软件测试的相关概念_第3页
第3页 / 共43页
软件测试的相关概念_第4页
第4页 / 共43页
软件测试的相关概念_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《软件测试的相关概念》由会员分享,可在线阅读,更多相关《软件测试的相关概念(43页珍藏版)》请在金锄头文库上搜索。

1、中国科学院软件研究所中国科学院软件研究所Institute of Software,Chinese Academy of Sciences菱凶辈紧牲酶淄拘辜票酬展冠邱乱检缩碌躇倔填攀姥牢典蚜眶尺握缴俏莲软件测试的相关概念软件测试的相关概念软件测试的相关概念枢屁碑粱蔗赂瓜义藩玩他岭嘘乱洒欢可襄樟笼辉棱溜拦腾瓜吾楞龟汗述刷软件测试的相关概念软件测试的相关概念1中国科学院软件研究所中国科学院软件研究所Institute of Software,Chinese Academy of Sciences主要内容主要内容测试的目的测试的目的测试原则测试原则测试的对象测试的对象测试的流程测试的流程测试步骤测试

2、步骤测试的类型测试的类型测试用例测试用例缺陷报告缺陷报告督挎遵沃功婴梗壹韵吵幂梦董糙伐庸潞坯澳漱蛮魁臃谭教霉谓揭仰岂旬坎软件测试的相关概念软件测试的相关概念2中国科学院软件研究所中国科学院软件研究所Institute of Software,Chinese Academy of Sciences测试的目的测试的目的根本目的根本目的发现软件的缺陷。发现软件的缺陷。软件测试是为了发现错误而执行程序的过程软件测试是为了发现错误而执行程序的过程; 测试是为了证明程序有错,而不是证明程序无错误测试是为了证明程序有错,而不是证明程序无错误;一个好的测试用例是在于它能发现至今未发现的错误一个好的测试用例是在

3、于它能发现至今未发现的错误;一个成功的测试是发现了至今未发现的错误的测试。一个成功的测试是发现了至今未发现的错误的测试。 相关目标相关目标评估软件是否满足的用户的需求评估软件是否满足的用户的需求阻止没有成熟的软件发布阻止没有成熟的软件发布可以减少技术支持的费用可以减少技术支持的费用评估软件的质量、验证产品的正确性、保证产品的质量评估软件的质量、验证产品的正确性、保证产品的质量最大化最大化bug的数量的数量保证保证bug已经修改已经修改璃槐涟扮矢导滞妈喳晚获化贬琉絮远陕前贮补寒巷匹苫胜提淫纷袭佃摊臻软件测试的相关概念软件测试的相关概念3中国科学院软件研究所中国科学院软件研究所Institute

4、of Software,Chinese Academy of Sciences测试的目的测试的目的从从用用户户的的角角度度出出发发,就就是是希希望望通通过过软软件件测测试试能能充充分分暴暴露露软软件件中中存存在在的的问问题和缺陷,从而考虑是否可以接受该产品。题和缺陷,从而考虑是否可以接受该产品。从从开开发发者者的的角角度度出出发发,就就是是希希望望测测试试能能表表明明软软件件产产品品不不存存在在错错误误,已已经经正确地实现了用户的需求正确地实现了用户的需求想以最少的时间和人力,系统地找出软件中潜在的各种错误和缺陷。想以最少的时间和人力,系统地找出软件中潜在的各种错误和缺陷。注:测试完成不能表明

5、软件中不存在错误,它只能说明软件中存在错误。注:测试完成不能表明软件中不存在错误,它只能说明软件中存在错误。谨授泳销游女蔡叁卑烽兜踞丁款丫奴福蜜浚柯归夏昆木怒淘装乾泣卖拯簇软件测试的相关概念软件测试的相关概念4中国科学院软件研究所中国科学院软件研究所Institute of Software,Chinese Academy of Sciences软件测试的原则软件测试的原则应应当当把把“尽尽早早地地和和不不断断地地进进行行软软件件测测试试”作作为为软软件件开开发发者者的的座右铭。座右铭。测测试试用用例例应应由由测测试试输输入入数数据据和和对对应应的的预预期期输输出出结结果果这这两两部部分分组成

6、。组成。程序员应避免检查自己的程序。程序员应避免检查自己的程序。在在设设计计测测试试用用例例时时,应应当当包包括括合合理理的的输输入入条条件件和和不不合合理理的的输输入条件。入条件。丈眨铸娶晤牌笼猾忙讳叁担聊睬菩篮蚀咙聪菊尼习沙俗肆莉伺柞荐秦源凉软件测试的相关概念软件测试的相关概念5中国科学院软件研究所中国科学院软件研究所Institute of Software,Chinese Academy of Sciences软件测试的原则软件测试的原则充分注意测试中的群集现象。测试后程序中残存的错误数目充分注意测试中的群集现象。测试后程序中残存的错误数目与该程序中已发现的错误数目成正比。与该程序中已

7、发现的错误数目成正比。严格执行测试计划,排除测试的随意性。严格执行测试计划,排除测试的随意性。应当对每一个测试结果做全面检查。应当对每一个测试结果做全面检查。妥善保存测试计划,测试用例,出错统计和最终分析报告,妥善保存测试计划,测试用例,出错统计和最终分析报告,为维护提供方便。为维护提供方便。扛偷平剥体扶更扛宋潭凑腔刮食蚤删挂纹峦迸角耳阀屠帕陨玫讹仕拽伸躇软件测试的相关概念软件测试的相关概念6中国科学院软件研究所中国科学院软件研究所Institute of Software,Chinese Academy of Sciences测试的对象测试的对象软软件件测测试试并并不不等等于于程程序序测测试

8、试。软软件件测测试试应应贯贯穿穿于于软软件定义与开发的整个期间。件定义与开发的整个期间。需需求求分分析析、概概要要设设计计、详详细细设设计计以以及及程程序序编编码码等等各各阶阶段段所所得得到到的的文文档档,包包括括需需求求规规格格说说明明、概概要要设设计计规规格格说说明明、详详细细设设计计规规格格说说明明以以及及源源程程序序,都都应应成成为软件测试的对象为软件测试的对象。丑梳羹系戮逾垒朝土收掖校诀廷铭斡嫉揖昆从漆直剿立攫技狄臭草蓟鸿托软件测试的相关概念软件测试的相关概念7中国科学院软件研究所中国科学院软件研究所Institute of Software,Chinese Academy of S

9、ciences测试的流程测试的流程1.1.前期准备前期准备 测试组与开发组协调,包括项目测试流程约定,测试组测试组与开发组协调,包括项目测试流程约定,测试组与开发组的协作活动安排等。在项目前期,规划好测试组与与开发组的协作活动安排等。在项目前期,规划好测试组与开发组的协调工作,可以让测试人员与项目开发人员彼此了开发组的协调工作,可以让测试人员与项目开发人员彼此了解在测试活动中的职责。解在测试活动中的职责。项目的客户需求、项目本身要求、明确测试范围、测试项目的客户需求、项目本身要求、明确测试范围、测试指标、测试要点、测试所需软硬件环境等,为制定测试计划指标、测试要点、测试所需软硬件环境等,为制定

10、测试计划打好基础。打好基础。 2.2.制定测试计划制定测试计划主要包括测试软硬件资源,人力资源,测试指标,粗略主要包括测试软硬件资源,人力资源,测试指标,粗略进度,采集的度量数据,风险,约定等。进度,采集的度量数据,风险,约定等。屏坎祥外腑装管锁娩瘦商狸迭硅惋浑滞叁哺关耻病捧缮峙性穿药召岔凝峙软件测试的相关概念软件测试的相关概念8中国科学院软件研究所中国科学院软件研究所Institute of Software,Chinese Academy of Sciences测试流程测试流程3.3.编制测试用例编制测试用例 了解项目需求(客户需求与项目需求)、明确公共用例、明了解项目需求(客户需求与项目

11、需求)、明确公共用例、明确手动测试用例与自动化测试用例范围、确定用例编写进度、确手动测试用例与自动化测试用例范围、确定用例编写进度、正式编写、用例验证、明确测试用例执行顺序。正式编写、用例验证、明确测试用例执行顺序。 4.4.实施测试实施测试 确定实施进度、搭建测试环境、执行测试用例,记录用例执确定实施进度、搭建测试环境、执行测试用例,记录用例执行结果,报告缺陷、记录度量数据、维护测试用例。行结果,报告缺陷、记录度量数据、维护测试用例。 5.5.测试总结测试总结 测试停止评估(参照测试用例执行情况,缺陷收敛情况,与测试停止评估(参照测试用例执行情况,缺陷收敛情况,与测试指标偏差情况等)、测试总

12、结报告、提交汇总度量数据、测试指标偏差情况等)、测试总结报告、提交汇总度量数据、保存测试文档。保存测试文档。 页硅扳曳莽毗科悍碱新卞笋纫碧飞搏酸道属拦闹播膨淘巾免坟粳拿断善饱软件测试的相关概念软件测试的相关概念9中国科学院软件研究所中国科学院软件研究所Institute of Software,Chinese Academy of Sciences测试方法测试方法两种常用的测试方法两种常用的测试方法v黑盒测试黑盒测试v白盒测试白盒测试v灰盒测试灰盒测试浊笺棍粕涝烟瘦煎行茨彰诈剑薪枉痊模鲍掐簧亥卉昔买鄙十贿窜枚康彻滔软件测试的相关概念软件测试的相关概念10中国科学院软件研究所中国科学院软件研究所

13、Institute of Software,Chinese Academy of Sciences测试的步骤测试的步骤1.单元测试单元测试 集中对用源代码实现的每一个程序单元进行测试,检查各个程序模块是否正确地集中对用源代码实现的每一个程序单元进行测试,检查各个程序模块是否正确地实现了规定的功能。实现了规定的功能。 2.集成测试集成测试 测试过的模块组装起来,主要对与设计相关的软件体系结构的构造进行测试。测试过的模块组装起来,主要对与设计相关的软件体系结构的构造进行测试。 3.系统测试系统测试 已经经过确认的软件纳入实际运行环境中,与其它系统成份组合在一起进行测试。已经经过确认的软件纳入实际运

14、行环境中,与其它系统成份组合在一起进行测试。 4.确认测试确认测试 要检查已实现的软件是否满足了需求规格说明中确定了的各种需求,以及软件配要检查已实现的软件是否满足了需求规格说明中确定了的各种需求,以及软件配置是否完全、正确置是否完全、正确 5.发版测试发版测试 测试是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟测试是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的测试。实际操作环境下进行的测试。 测试是由软件的多个用户在实际使用环境下进行的测试。这些用户返回有关错测试是由软件的多个用户在实际使用环境下进行的测试。这些用户返回有关错误信息给开

15、发者。误信息给开发者。 江呕群描饲睬姆笺胰玲脸佐贫夫畅号身呵使芹留仑撅折微及裂坍第湍耻守软件测试的相关概念软件测试的相关概念11中国科学院软件研究所中国科学院软件研究所Institute of Software,Chinese Academy of Sciences测试类型测试类型功能测试功能测试 性能测试性能测试 恢复测试恢复测试 配置测试配置测试 安全性测试安全性测试 易用性测试易用性测试 .安装测试安装测试 容量测试容量测试 文档测试文档测试 冒烟测试冒烟测试随机测试随机测试颠毋昨壁鸯褂颓清恢揣溪脂船亥诺彭贵菱卜娠走杰罕垮薄逞馁膝宿锐绳弛软件测试的相关概念软件测试的相关概念12中国科学院

16、软件研究所中国科学院软件研究所Institute of Software,Chinese Academy of Sciences测试用例是软件测试的核心测试用例是软件测试的核心如何以最少的人力、资源投入,在最短的时间内完如何以最少的人力、资源投入,在最短的时间内完成测试,发现软件系统的缺陷,保证软件的优良品成测试,发现软件系统的缺陷,保证软件的优良品质。质。测试用例是测试工作的指导,是软件测试的必须遵测试用例是测试工作的指导,是软件测试的必须遵守的准则。更是软件测试质量稳定的根本保障。守的准则。更是软件测试质量稳定的根本保障。浙蛰浅奉羔掉辰绞弃航禾疡匀瓤权浸诫甩枕吼桂召诺懦峪僧着雇舀瘫邱腑软件

17、测试的相关概念软件测试的相关概念13中国科学院软件研究所中国科学院软件研究所Institute of Software,Chinese Academy of Sciences什么是测试用例什么是测试用例所谓的测试用例就是将软件测试的行为活动,做一个科学化的组织归纳。所谓的测试用例就是将软件测试的行为活动,做一个科学化的组织归纳。软件测试是有组织性、步骤性和计划性的,而设计软件测试用例的目的,软件测试是有组织性、步骤性和计划性的,而设计软件测试用例的目的,就是为了能将软件测试的行为转换为可管理的模式。就是为了能将软件测试的行为转换为可管理的模式。基于时间因素的考虑,软件测试行为必须能够加以量化,

18、才能进一步让基于时间因素的考虑,软件测试行为必须能够加以量化,才能进一步让管理阶层掌握所需要的测试过程,而测试用例就是将测试行为具体量化管理阶层掌握所需要的测试过程,而测试用例就是将测试行为具体量化的方法之一。的方法之一。因为我们不可能进行穷举测试,为了节省时间和资源、提高测试效率,因为我们不可能进行穷举测试,为了节省时间和资源、提高测试效率,必须要从数量极大的可用测试数据中精心挑选出具有代表性或特殊性的必须要从数量极大的可用测试数据中精心挑选出具有代表性或特殊性的测试数据来进行测试。测试数据来进行测试。菏简煮胜蘸畅卫银驮耙矗卉称着申俘儒绢乙委溅歉你幻相氮籽梅多现庸蜡软件测试的相关概念软件测试

19、的相关概念14中国科学院软件研究所中国科学院软件研究所Institute of Software,Chinese Academy of Sciences测试用例的作用测试用例的作用1.通过一个用例来证明被测软件的某功能符合需求说明书中规定的要求通过一个用例来证明被测软件的某功能符合需求说明书中规定的要求2.可以保证一个软件被测试的有效性,使测试人员知道那些功能以被测,可以保证一个软件被测试的有效性,使测试人员知道那些功能以被测,那些功能还需要测试,从而避免漏测,重复测,提高测试效率那些功能还需要测试,从而避免漏测,重复测,提高测试效率3.指导测试的指导测试的工作工作,保证测试是有计划的实施,而

20、不是随意性的测试,保证测试是有计划的实施,而不是随意性的测试4.为公司留下财富,为后期软件维护提高帮助,为公司新人进来提供指导,为公司留下财富,为后期软件维护提高帮助,为公司新人进来提供指导,在测试的时候可以尽量把人为因素的影响减少到最小。保障软件测试质在测试的时候可以尽量把人为因素的影响减少到最小。保障软件测试质量的稳定。量的稳定。5.可以做为评估测试结果的,为编写测试报告提供依据。可以做为评估测试结果的,为编写测试报告提供依据。6.提高测试的质量。分析提高测试的质量。分析bug的标准,通过收集的的标准,通过收集的bug,对比测试用例和,对比测试用例和bug数据库数据库,分析确证是漏测还是,

21、分析确证是漏测还是bug复现。漏测反映了测试用例的不完复现。漏测反映了测试用例的不完善,应立即补充相应测试用例,逐步的提高测试质量。而已有相应测试善,应立即补充相应测试用例,逐步的提高测试质量。而已有相应测试用例,则反映实施测试或变更处理存在问题。用例,则反映实施测试或变更处理存在问题。唱陇郑泊像乏沥疵窜塞嫂哀弓什统酣适肚狗块萨棘臼蝎粕粮适宁称酗倔仑软件测试的相关概念软件测试的相关概念15中国科学院软件研究所中国科学院软件研究所Institute of Software,Chinese Academy of Sciences测试用例的内容测试用例的内容1.介绍部分:可以有这些:公司名称,保密等

22、级,编介绍部分:可以有这些:公司名称,保密等级,编写人员,日期,审核人,版本号,测试对象的介绍,写人员,日期,审核人,版本号,测试对象的介绍,测试的范围和目的,测试环境,定义术语,参考文测试的范围和目的,测试环境,定义术语,参考文档,用例执行情况,测试用例设计思路等档,用例执行情况,测试用例设计思路等2.测试用例部分:模块名称,测试类型,用例测试用例部分:模块名称,测试类型,用例ID,用例目的,重要程度,测试过程分为(前提条件,用例目的,重要程度,测试过程分为(前提条件,测试步骤,期望结果,测试结果,测试结论)测试测试步骤,期望结果,测试结果,测试结论)测试日期,备注。日期,备注。谦傀忆掉癸戒

23、昔剃秸山危链毡拣勒厘洛鸥膘吼颊绊酬勾耍碾贡阎瞬册炕锣软件测试的相关概念软件测试的相关概念16中国科学院软件研究所中国科学院软件研究所Institute of Software,Chinese Academy of Sciences测试用例生成的基本准则测试用例生成的基本准则测试用例的代表性测试用例的代表性能够代表并覆盖各种合理的和不合理、合法的和非合法能够代表并覆盖各种合理的和不合理、合法的和非合法的、边界的和越界的、以及极限的输入数据、操作和环境的、边界的和越界的、以及极限的输入数据、操作和环境设置等设置等;测试结果的可判定性测试结果的可判定性即测试执行结果的正确性是可判定的,每一个测试用例

24、即测试执行结果的正确性是可判定的,每一个测试用例都应有相应的期望结果都应有相应的期望结果;测试结果的可再现性测试结果的可再现性即对同样的测试用例,系统的执行结果应当是相同的即对同样的测试用例,系统的执行结果应当是相同的。 慷翼汰橡淑炉奇君敬旋穗勉哀冒巢寄遗怀鬃胖雅选构笛篮犹斥劫萎陷授瓮软件测试的相关概念软件测试的相关概念17中国科学院软件研究所中国科学院软件研究所Institute of Software,Chinese Academy of Sciences测试用例的特征测试用例的特征最有可能抓住错误的;最有可能抓住错误的;不是重复的、多余的;不是重复的、多余的;一组相似测试用例中最有效的;

25、一组相似测试用例中最有效的;不要太简单,也不要太复杂。不要太简单,也不要太复杂。磊氦咎鸵茧撞摆疮肢镀曹没欲岂椭立忱牢某训积盟遁僻馋图揣汝谍蹬芋湘软件测试的相关概念软件测试的相关概念18中国科学院软件研究所中国科学院软件研究所Institute of Software,Chinese Academy of Sciences测试用例的意义测试用例的意义使用测试用例的好处主要体现在以下几个方面:在开始实施测试之前设计好测试用例,可以避免盲目测试并提高测试效率。测试用例的使用令软件测试的实施重点突出、目的明确。在软件版本更新后只需修正少部分的测试用例便可展开测试工作,降低工作强度、缩短项目周期。功能模

26、块的通用化和复用化使软件易于开发,而相对于功能模块的测试用例的通用化和复用化则会使软件测试易于开展,并随着测试用例的不断精化其效率也不断攀升。烬翅杠设葫揣丹垂老巷询樱疼驹蔡角哥闯膨沂稽辈衷嫂殷制锄硬厂肿花遂软件测试的相关概念软件测试的相关概念19中国科学院软件研究所中国科学院软件研究所Institute of Software,Chinese Academy of Sciences黑盒测试用例的设计方法黑盒测试用例的设计方法具体的黑盒测试用例设计方法包括等价类划分法、边界值分析法、场景法、错误推测法、因果图法、判定表驱动法、正交试验设计法、功能图法等。这些方法是比较实用的,但采用什么方法,在使

27、用时自然要针对开发项目的特点对方法加以适当的选择。肉移增淘闪膨典舶追什螟几痒赐踊洞憾枪硕尔度午溃裁绊牵姥监口掐戏事软件测试的相关概念软件测试的相关概念20中国科学院软件研究所中国科学院软件研究所Institute of Software,Chinese Academy of Sciences等价类划分法等价类划分法等价类划分是一种典型的黑盒测试方法,用这一方等价类划分是一种典型的黑盒测试方法,用这一方法设计测试用例完全不考虑程序的内部结构,只根法设计测试用例完全不考虑程序的内部结构,只根据对程序的需求和说明,即需求规格说明书。据对程序的需求和说明,即需求规格说明书。 由于穷举测试工作量太大,以

28、致于无法实际完成,由于穷举测试工作量太大,以致于无法实际完成,促使我们在大量的可能数据中选取其中的一部分作促使我们在大量的可能数据中选取其中的一部分作为测试用例。为测试用例。妨酋奠瞄炽抱吨秧溢篓谁翔怎缨时恩稳僻涟钩筋浙梅念捂单沃师骑锥郧出软件测试的相关概念软件测试的相关概念21中国科学院软件研究所中国科学院软件研究所Institute of Software,Chinese Academy of Sciences等价类划分法等价类划分法等价类划分法是把程序的输入域划分成若干部分,然后从每个部分中选等价类划分法是把程序的输入域划分成若干部分,然后从每个部分中选取少数代表性数据当作测试用例。取少数

29、代表性数据当作测试用例。每一类的代表性数据在测试中的作用等价于这一类中的其他值,也就是每一类的代表性数据在测试中的作用等价于这一类中的其他值,也就是说,如果某一类中的一个例子发现了错误,这一等价类中的其他例子也说,如果某一类中的一个例子发现了错误,这一等价类中的其他例子也能发现同样的错误;反之,如果某一类中的一个例子没有发现错误,则能发现同样的错误;反之,如果某一类中的一个例子没有发现错误,则这一类中的其他例子也不会查出错误。这一类中的其他例子也不会查出错误。使用这一方法设计测试用例,首先必须在分析需求规格说明的基础上划使用这一方法设计测试用例,首先必须在分析需求规格说明的基础上划分等价类,列

30、出等价类表。分等价类,列出等价类表。奴荤瓣库暮万法横喀击鲍党蜗呢俘击踏赌臻旋臼畔央彝萍荫幢疑知孜弘挠软件测试的相关概念软件测试的相关概念22中国科学院软件研究所中国科学院软件研究所Institute of Software,Chinese Academy of Sciences划分等价类和列出等价类表划分等价类和列出等价类表可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据取得较好的测试结果。测试的输入条件,就可以用少量代表性的测试数据取得较好的测试结果。等价类

31、划分有两种不同的情况:等价类划分有两种不同的情况:v有效等价类:是指对于程序的规格说明来说是合理的、有意义的输入数据构有效等价类:是指对于程序的规格说明来说是合理的、有意义的输入数据构成的集合。利用有效等价类可检验程序是否实现了规格说明中所规定的功能成的集合。利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。和性能。v无效等价类:与有效等价类的定义恰巧相反。无效等价类:与有效等价类的定义恰巧相反。设计测试用例时,要同时考虑这两种等价类。因为软件不仅要能接收合理的数据,设计测试用例时,要同时考虑这两种等价类。因为软件不仅要能接收合理的数据,也要能经受意外的考验。这样的测试才能确保软

32、件具有更高的可靠性。也要能经受意外的考验。这样的测试才能确保软件具有更高的可靠性。钻蛋怎挖壕瀑寝钧丧濒慈性跺里霞讨札摹赦胚乒褥群揖停佣诬乐百撞闽漾软件测试的相关概念软件测试的相关概念23中国科学院软件研究所中国科学院软件研究所Institute of Software,Chinese Academy of Sciences确定等价类的原则确定等价类的原则在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。等价类。在输入条件规定了输入值的集合或者规定了在输入条件规定了输入值的集合或者规

33、定了“必须如何必须如何”的条件的情况下,可以确立一个的条件的情况下,可以确立一个有效等价类和一个无效等价类。有效等价类和一个无效等价类。在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类。在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类。在规定了输入数据的一组值在规定了输入数据的一组值( (假定假定n n个个) ),并且程序要对每一个输入值分别处理的情况下,可,并且程序要对每一个输入值分别处理的情况下,可确立确立n n个有效等价类和一个无效等价类。个有效等价类和一个无效等价类。在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类在规定了输入数据必须

34、遵守的规则的情况下,可确立一个有效等价类( (符合规则符合规则) )和若干个和若干个无效等价类无效等价类( (从不同角度违反规则从不同角度违反规则) )。在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步地划分为更小的等价类。一步地划分为更小的等价类。叁守得进寐津小挣营磋牢屑迄驻塘份赁汾歉堵所推徽汀湿寄惜奴纺背炕汞软件测试的相关概念软件测试的相关概念24中国科学院软件研究所中国科学院软件研究所Institute of Software,Chinese Academy of Scienc

35、es建立等价类表建立等价类表在确立了等价类之后,建立等价类表,列出所有划分出的等在确立了等价类之后,建立等价类表,列出所有划分出的等价类:价类:输入条件入条件有效等价有效等价类无效等价无效等价类封涟锌价甄餐纹阿伏抠办衙川恋裹着套官醋防香隶唉娟竣扒榆的学插萤葵软件测试的相关概念软件测试的相关概念25中国科学院软件研究所中国科学院软件研究所Institute of Software,Chinese Academy of Sciences确定测试用例确定测试用例根据已列出的等价类表,按以下步骤确定测试用例:根据已列出的等价类表,按以下步骤确定测试用例:为每个等价类规定一个唯一的编号;为每个等价类规定

36、一个唯一的编号;设计一个新的测试用例,使其尽可能多地覆盖尚未覆盖的有设计一个新的测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类。重复这一步,最后使得所有有效等价类均被测试效等价类。重复这一步,最后使得所有有效等价类均被测试用例所覆盖;用例所覆盖;设计一个新的测试用例,使其只覆盖一个无效等价类。重复设计一个新的测试用例,使其只覆盖一个无效等价类。重复这一步使所有无效等价类均被覆盖。这一步使所有无效等价类均被覆盖。无尾菲于夕锌倦睛洼训种抹榴违磐零嘉涣槐赛磁瑞秧哎烃肮贡壮滇涂绅尘软件测试的相关概念软件测试的相关概念26中国科学院软件研究所中国科学院软件研究所Institute of Softwar

37、e,Chinese Academy of Sciences举例举例根据下面给出的规格说明,利用等价类划分的方法,根据下面给出的规格说明,利用等价类划分的方法,给出足够的测试用例。给出足够的测试用例。“一个程序读入一个程序读入3 3个整数,把这三个数值看作一个三个整数,把这三个数值看作一个三角形的角形的3 3条边的长度值。这个程序要打印出信息,说条边的长度值。这个程序要打印出信息,说明这个三角形是不等边的、是等腰的、还是等边的。明这个三角形是不等边的、是等腰的、还是等边的。”醛绑蘑卧彬醋者很砚接卤庐莽岗良己季告挟赔杆概睬和联铭脑阉沈渴邪寸软件测试的相关概念软件测试的相关概念27中国科学院软件研究

38、所中国科学院软件研究所Institute of Software,Chinese Academy of Sciences举例举例我们可以设三角形的我们可以设三角形的3 3条边分别为条边分别为A A,B B,C C。如果它。如果它们能够构成三角形的们能够构成三角形的3 3条边,必须满足:条边,必须满足:A0A0,B0B0,C0C0,且,且A+BCA+BC,B+CAB+CA,A+CBA+CB。如果是等腰的,还要判断如果是等腰的,还要判断A=BA=B,或,或B=CB=C,或,或A=CA=C。如果是等边的,则需判断是否如果是等边的,则需判断是否A=BA=B,且,且B=CB=C,且,且A=CA=C。棚卉

39、烈砚遁饥吱敞绣妨心午麻殆惟应酵逊帝滨宏向诡迷暇醛卒瞻惨哆栗乍软件测试的相关概念软件测试的相关概念28中国科学院软件研究所中国科学院软件研究所Institute of Software,Chinese Academy of Sciences举例举例输入条件有效等价类无效等价类是否三角形的三条是否三角形的三条边(A0),), (1)(B0),), (2)(C0),), (3)(A+BC),), (4)(B+CA),), (5)(A+CB),), (6)(A0),), (7)(B0),), (8)(C0),), (9)(A+BC),), (10)(B+CA),), (11)(A+CB),), (12

40、)是否等腰三角形是否等腰三角形(A=B),), (13)(B=C),), (14)(C=A),), (15)(AB)and(BC)and(CA) (16)是否等是否等边三角形三角形(A=B)and(B=C)and(C=A) (17)(AB),), (18)(BC),), (19)(CA),), (20)喂释桂粘嘶常酋妮徽凳码匙培顿旅妹唁袋盯贱旧裤琐潜耙狂托塞珐赵肆涂软件测试的相关概念软件测试的相关概念29中国科学院软件研究所中国科学院软件研究所Institute of Software,Chinese Academy of Sciences举例举例序号序号【A,B,C】覆盖等价覆盖等价类输出出

41、1【3,4,5】(1),(),(2),(),(3),(),(4),(),(5),(),(6)一般三角形一般三角形2【0,1,2】(7)不能构成三角形不能构成三角形3【1,0,2】(8)4【1,2,0】(9)5【1,2,3】(10)6【1,3,2】(11)7【3,1,2】(12)8【3,3,4】(1),(),(2),(),(3),(),(4),(),(5),(),(6),(),(13)等腰三角形等腰三角形9【3,4,4】(1),(),(2),(),(3),(),(4),(),(5),(),(6),(),(14)10【3,4,3】(1),(),(2),(),(3),(),(4),(),(5),()

42、,(6),(),(15)11【3,4,5】(1),(),(2),(),(3),(),(4),(),(5),(),(6),(),(16)非等腰三角形非等腰三角形12【3,3,3】(1),(),(2),(),(3),(),(4),(),(5),(),(6),(),(17)是等是等边三角形三角形13【3,4,4】(1),(),(2),(),(3),(),(4),(),(5),(),(6),(),(14),(),(18)非等非等边三角形三角形14【3,4,3】(1),(),(2),(),(3),(),(4),(),(5),(),(6),(),(15),(),(19)15【3,3,4】(1),(),(2

43、),(),(3),(),(4),(),(5),(),(6),(),(13),(),(20)箱敷显霉钩菠滥咱待区周壤喘惜茶海帅喳豌刻爆仍林旗肪玲雾警绸芜腿肺软件测试的相关概念软件测试的相关概念30中国科学院软件研究所中国科学院软件研究所Institute of Software,Chinese Academy of Sciences边界值分析法边界值分析法由测试工作的经验得知,大量的错误是发生在输入或输出范由测试工作的经验得知,大量的错误是发生在输入或输出范围的边界上,而不是在输入范围的内部。因此针对各种边界围的边界上,而不是在输入范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误

44、。情况设计测试用例,可以查出更多的错误。 边界值分析是一种补充等价划分的测试用例设计技术,它不边界值分析是一种补充等价划分的测试用例设计技术,它不是选择等价类的任意元素,而是选择等价类边界的测试用例。是选择等价类的任意元素,而是选择等价类边界的测试用例。实践证明为检验边界附近的处理专门设计测试用例,常常取实践证明为检验边界附近的处理专门设计测试用例,常常取得良好的测试效果。得良好的测试效果。榨纠蛮悠拳羽哀釉掐予甲后惕因珍腾窄扰付礁昆驰孕担值宠派堵衔肉常卖软件测试的相关概念软件测试的相关概念31中国科学院软件研究所中国科学院软件研究所Institute of Software,Chinese A

45、cademy of Sciences边界值设计原则边界值设计原则对边界值设计测试用例,应遵循以下几条原则:对边界值设计测试用例,应遵循以下几条原则:1.如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据。范围边界的值作为测试输入数据。2.如果输入条件规定了值的个数,则用最大个数、最小个数、比最小个数少一、比最大个如果输入条件规定了值的个数,则用最大个数、最小个数、比最小个数少一、比最大个数多一的数作为测试数据。数多一的数作为测试数据。3.根据规格说明的每个输出条件,

46、使用前面的原则根据规格说明的每个输出条件,使用前面的原则1。4.根据规格说明的每个输出条件,应用前面的原则根据规格说明的每个输出条件,应用前面的原则2。5.如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例。最后一个元素作为测试用例。6.如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例。测试用例。7.分析规格说明,找出其他可能的边界条件。分析规格说明,找出其他

47、可能的边界条件。阑贼卵嚼绍焦棉执蕊凿鳃残止儒容杜浅奋歉剖予傣初椰娜撤存禾盖猿于威软件测试的相关概念软件测试的相关概念32中国科学院软件研究所中国科学院软件研究所Institute of Software,Chinese Academy of Sciences其他一些边界条件其他一些边界条件另一种看起来很明显的软件缺陷来源是当软件要求输入时另一种看起来很明显的软件缺陷来源是当软件要求输入时(比如在文本框中比如在文本框中),不不是没有输入正确的信息,而是根本没有输入任何内容,单单按了是没有输入正确的信息,而是根本没有输入任何内容,单单按了Enter键。这种键。这种情况在产品说明书中常常忽视,程序员

48、也可能经常遗忘,但是在实际使用中却时情况在产品说明书中常常忽视,程序员也可能经常遗忘,但是在实际使用中却时有发生。程序员总会习惯性的认为用户要么输入信息,不管是看起来合法的或非有发生。程序员总会习惯性的认为用户要么输入信息,不管是看起来合法的或非法的信息,要不就会选择法的信息,要不就会选择Cancel键放弃输入,如果没有对空值进行好的处理的话,键放弃输入,如果没有对空值进行好的处理的话,恐怕程序员自己都不知道程序会引向何方。恐怕程序员自己都不知道程序会引向何方。正确的软件通常应该将输入内容默认为合法边界内的最小值或者合法区间内某个正确的软件通常应该将输入内容默认为合法边界内的最小值或者合法区间

49、内某个合理值,否则返回错误提示信息。合理值,否则返回错误提示信息。因为这些值通常在软件中进行特殊处理,所以不要把它们与合法情况和非法情况因为这些值通常在软件中进行特殊处理,所以不要把它们与合法情况和非法情况混在一起,而要建立单独的等价区间。混在一起,而要建立单独的等价区间。蛮式驴让和羊寻困牢凡气获藻帘矫殴鲍怜乖食袖州悠趣梆锨烙烈薯夸由蚌软件测试的相关概念软件测试的相关概念33中国科学院软件研究所中国科学院软件研究所Institute of Software,Chinese Academy of Sciences场景法场景法现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便形现在的软件

50、几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。这种成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。这种在软件设计方面的思想也可引入到软件测试中,可以比较生动地描绘出在软件设计方面的思想也可引入到软件测试中,可以比较生动地描绘出事件触发时的情景,有利于测试设计者设计测试用例,同时使测试用例事件触发时的情景,有利于测试设计者设计测试用例,同时使测试用例更容易理解和执行。更容易理解和执行。提出这种测试思想的是提出这种测试思想的是Rational 公司,并在公司,并在RUP2000 中文版当中有其详中文版当中有其详尽的解释和应用

51、。尽的解释和应用。用例场景用来描述流经用例的路径,从用例开始到结束遍历这条路径上用例场景用来描述流经用例的路径,从用例开始到结束遍历这条路径上所有基本流和备选流。所有基本流和备选流。宰彦坦疡小狂州盅磁缎骗蚁索们耳济甩炭囚肩柞乔底疲荫刃阂诫炭彪问蓑软件测试的相关概念软件测试的相关概念34中国科学院软件研究所中国科学院软件研究所Institute of Software,Chinese Academy of Sciences基本流和备选流基本流和备选流右图中经过用例的每条路径右图中经过用例的每条路径都用基本流和备选流来表示,都用基本流和备选流来表示,直黑线表示基本流,是经过直黑线表示基本流,是经过

52、用例的最简单的路径。备选用例的最简单的路径。备选流用不同的彩色表示,一个流用不同的彩色表示,一个备选流可能从基本流开始,备选流可能从基本流开始,在某个特定条件下执行,然在某个特定条件下执行,然后重新加入基本流中(如备后重新加入基本流中(如备选流选流 1 和和 3);也可能起源);也可能起源于另一个备选流(如备选流于另一个备选流(如备选流 2),或者终止用例而不再),或者终止用例而不再重新加入到某个流(如备选重新加入到某个流(如备选流流 2 和和 4)。)。挞饿暂盏踩嫩攀惊咎凭诫窗跳歉延滓轰汰垒吹云溜颁够佐谰用碰轧服扁疽软件测试的相关概念软件测试的相关概念35中国科学院软件研究所中国科学院软件研

53、究所Institute of Software,Chinese Academy of Sciences基本流和备选流基本流和备选流按照上图中每个经过用例的路径,可以确定以下不同的用例场景:按照上图中每个经过用例的路径,可以确定以下不同的用例场景:v场景场景 1 基本流基本流v场景场景 2 基本流基本流 备选流备选流 1v场景场景 3 基本流基本流 备选流备选流 1 备选流备选流 2v场景场景 4 基本流基本流 备选流备选流 3v场景场景 5 基本流基本流 备选流备选流 3 备选流备选流 1v场景场景 6 基本流基本流 备选流备选流 3 备选流备选流 1 备选流备选流 2v场景场景 7 基本流基

54、本流 备选流备选流 4v场景场景 8 基本流基本流 备选流备选流 3 备选流备选流 4注:为方便起见,场景注:为方便起见,场景 5、6 和和 8 只考虑了备选流只考虑了备选流 3循环执行一次的情况。循环执行一次的情况。龙绢偷隋纠岿胶怠私乎催属缝溉陋兜蚌咖救畦衡终重戚巡兼镣狸煌慎赘焊软件测试的相关概念软件测试的相关概念36中国科学院软件研究所中国科学院软件研究所Institute of Software,Chinese Academy of Sciences测试方法选择的综合策略测试方法选择的综合策略测试用例的设计方法不是单独存在的,具体到每个测试用例的设计方法不是单独存在的,具体到每个测试项目

55、里都会用到多种方法,每种类型的软件有测试项目里都会用到多种方法,每种类型的软件有各自的特点,每种测试用例设计的方法也有各自的各自的特点,每种测试用例设计的方法也有各自的特点,针对不同软件如何利用这些黑盒方法是非常特点,针对不同软件如何利用这些黑盒方法是非常重要的,在实际测试中,往往是综合使用各种方法重要的,在实际测试中,往往是综合使用各种方法才能有效提高测试效率和测试覆盖度,这就需要认才能有效提高测试效率和测试覆盖度,这就需要认真掌握这些方法的原理,积累更多的测试经验,以真掌握这些方法的原理,积累更多的测试经验,以有效提高测试水平。有效提高测试水平。侗陨莹使脱扇太再棺呛仙显觅萧宪锡楞侩虱舞钮昨

56、玄潮扭巳恕洛棵蘸奸毛软件测试的相关概念软件测试的相关概念37中国科学院软件研究所中国科学院软件研究所Institute of Software,Chinese Academy of SciencesBug报告报告目的目的 当我们发现一个缺陷时,我们需要把它告诉给开发当我们发现一个缺陷时,我们需要把它告诉给开发人员。人员。Bug报告就是这种沟通的报告就是这种沟通的 媒介物。媒介物。Bug报告报告的主要目的是让开发人员亲眼看到这个错误。如果的主要目的是让开发人员亲眼看到这个错误。如果你不能和他一起以在他面前制造出那个失败,那么你不能和他一起以在他面前制造出那个失败,那么就需要给他们足够多的指引以便

57、他们能够自己制造就需要给他们足够多的指引以便他们能够自己制造 出那个失败。出那个失败。Bug报告就是解释在期望结果和实际报告就是解释在期望结果和实际结果之间的差距并且详细的说明如何重现那个场景。结果之间的差距并且详细的说明如何重现那个场景。 芜啊态摘许玩馏拖炮界樟磺惯兰废络企动拽辽池球轰恍墒外铃肚矩桅梯钥软件测试的相关概念软件测试的相关概念38中国科学院软件研究所中国科学院软件研究所Institute of Software,Chinese Academy of SciencesBug报告的内容报告的内容题目题目步骤步骤BugBug的出现环境的出现环境测试数据测试数据测试结果(截屏)测试结果(

58、截屏)严重程序严重程序/ /优先级别优先级别 其他信息其他信息峻墩套乃饿拭蜕兑旷疏丸拣惕锨寂趟撕暮棋惜占庞搽戍炼隧篆勤司漾烯甸软件测试的相关概念软件测试的相关概念39中国科学院软件研究所中国科学院软件研究所Institute of Software,Chinese Academy of Sciences测试人员所应具备的能力测试人员所应具备的能力技术能力技术能力自信心自信心沟通沟通能力能力移情能力移情能力 很强的记忆力很强的记忆力 耐心耐心怀疑精神怀疑精神自我督促自我督促烦送贼洲簇烟戈哮绸蜘条略缩欠羽火堕襟床霸氦唐棘旷碰银触步铜息绘喂软件测试的相关概念软件测试的相关概念40中国科学院软件研究所

59、中国科学院软件研究所Institute of Software,Chinese Academy of Sciences关于软件测试的误区关于软件测试的误区误区之一:软件开发完成后进行软件测试误区之一:软件开发完成后进行软件测试 误区之二:软件发布后如果发现质量问题,那是软误区之二:软件发布后如果发现质量问题,那是软件测试人员的错件测试人员的错 误区之三:软件测试要求不高,随便找个人多都行误区之三:软件测试要求不高,随便找个人多都行 误区之四:软件测试是测试人员的事情,与程序员误区之四:软件测试是测试人员的事情,与程序员无关无关 误区之五:项目进度吃紧时少做些测试,时间富裕误区之五:项目进度吃紧

60、时少做些测试,时间富裕时多做测试时多做测试 误区之六:软件测试是没有前途的工作,只有程序误区之六:软件测试是没有前途的工作,只有程序员才是软件高手员才是软件高手 箭妓刘婿讶堰阀怪尼她桌酞摔谍馈貉核晨轩螺锄粹骨崔源内标畸捍吻物蔑软件测试的相关概念软件测试的相关概念41中国科学院软件研究所中国科学院软件研究所Institute of Software,Chinese Academy of Sciences参考资料参考资料软件测试作者:(美)软件测试作者:(美)Ron Patton 译者:周予滨译者:周予滨 姚静姚静 出出版社:机械工业出版社版社:机械工业出版社 软件测试作者:软件测试作者:美美Pa

61、ul C.Jorgensen 译者:韩柯译者:韩柯 杜旭涛杜旭涛 出版社:机械工业出版社出版社:机械工业出版社 计算机软件测试技术作者:郑人杰计算机软件测试技术作者:郑人杰 出版社:清华大学出版出版社:清华大学出版社社 软件测试艺术软件测试艺术 作者:作者:Glenford J.Myers等著等著 译者:王峰译者:王峰 陈陈杰等杰等/译译 出版社:机械工业出版社出版社:机械工业出版社软件测试自动化软件测试自动化 作者:作者:Daniel J.Mosley, Bruce A.Posey/著著译者:邓波译者:邓波 黄丽娟黄丽娟 曹青春等曹青春等/译译 出版社:机械工业出版社出版社:机械工业出版社 有效软件测试有效软件测试 作者:作者:美美Elfriede Dustin/著著 译者:新语译者:新语/译译出版社:清华大学出版社出版社:清华大学出版社 钝屈铭辉雪驮合区李诲栖寞铡倡许毒瞥泻舒湍幅吝齐豪架痢逸扔慈毕野廷软件测试的相关概念软件测试的相关概念42中国科学院软件研究所中国科学院软件研究所Institute of Software,Chinese Academy of Sciences参考资料参考资料http:/

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

最新文档


当前位置:首页 > 办公文档 > 工作计划

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