软件测试学习资料

所需积分/C币:11 2015-11-12 16:58:37 617KB PDF

详细介绍了软件测试常用的方式方法,已经在软件测试过程中容易遇到的误区。为软件测试初学者指明了方向
E 唯 要求YO 强制(y 用因果图法设计测试用例的步骤①把程序的规格划分解成叮以工作的片段;②确定规格中的原因和结果;③分析规 格以确定原因与结果之间的逻辑关系,并且使用因果图表示岀来:④确定句法或环境的约束,这些约束使得某些组合 不可能产生,在因果图上用一些记号表明约束或限制条件;⑤把因果图转换为判定表;⑥把判定表的每一列拿出来作 为依据,设计测试用例。 错误推测 错误推测法:根据经验和直觉推测程序中所有可能存在的各种错误,从而有针对性地设计测试用例的方法。 基本思路:列举岀程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择沨试用例 决策表的建立步骤 (1)确定规则的个数。例如有n个条件,每个条件有两个取值(0,1),故有2n种规则。 (2)列出所有的条件柱和动作桩 (3)填入条件项 (4)填入动作项,制定初始决策表: (5)简化;合并相似规则或者相同动作 决策表的优点和缺点 优点:它能把复杂的问题按各种可能的情况一一列举屮来,简明而易于理解,也可避免遗漏 缺点:不能表达重复执行的动作,例如循环结构 语句覆盖 (0) 设计若干测试用例,使得程序中每条语句至少 测试用例设计: 被执行一次。 X=0 N 「X路径 KB) 语句覆盖率=至少被执行一次的语句数量 15OAD 可执行的语句数量 空[200B0 设计原则:测试用例尽量少,覆盖率尽量高 红色字母代表程序执行路径 YES >=80 an NO X+Y>=140 and x>=90oy>=901 D YES C 1->T 2->T 3>T 结束 XY路径 19090。AE 测试用例设计:25050。BDE 70。BcE 优点:直观、简单、易自动化 缺点:发现错误能力很“弱”对隐藏的条件和可能到达的隐式逻辑分支,无法测试 判定覆盖 设计若干测试用例,使得程序中每个判定至少 (0) 测试用例设计: 有一次为真值,有一次为假值 Scanf(0d”,&x 判定覆盖判定结果被评价的次数 X=0 X路径 (B) 判定结果的总数 Y(A) 15 OAD Y=1 Y=2 20OBD 程序中的每个分支至少执行一次 (A) 当A=2B=0X=3时 即可满足语句覆盖要 A>1AND 求,但abd分支未测试 X+Y>=140d B=0 x>=90y>=90 B N X=X/A判定覆盖测试用例设口2 计: A=20R X>1 (E ABX执行路径 XY路径 (D) 1203ACE 9090|◎A X=X+1 2000|ABD 测试用例设计:29030。BDE 90 70OBCE 优点:发现错误能力比语句覆盖强 缺点:对复合条件判断,只判定整个最终结果,而忽略每个条件的取值情况,必然会遗漏部分测试路径 判定条件覆盖 (0) 测试用例设计: Scanf(“o0d”,&x) 设计若干测试用例,使得判定中的每个条件的 可能取值至少出现一次,且每个判断本身的判 X=0 X路径 定结果也至少出现一次。 B) Y1(A) 15 OAD 条件操作数值或判定 Y=1 20OBD 判定条件覆盖率至少被评价一次的数量 条件操作数值的总数十 判定结果总数 (D) 判定覆盖测试用例设 计未有B!=0的取值 (A) ABx执行路径 A>1 AND 203ACE (B) 0 000ABD x=X/A」条件覆盖测试用例设 计也满足判定条件覆 A=20R X>1 盖的要求 (E xY路径 (D) A|BX执行路径 0090aA巨 X=X+1 3 ACE 5050 OBDE 2010ABD 测试用例设计: 4 70 90OBCE 优点:发现错误能力比判定覆盖和条件覆盖强 缺点:不能保证覆盖稈序所有执行路径 路径覆盖 0) 测试用例设计: anf(od”,&x) 设计若千测试用例,覆盖程序中所有可能的路 N 径。 X=0 X路径 (B) Y(A) OAD 路径覆盖率=至少被执行到一次的路径数 Y=1 20OBD 总的路径数 (D) YES X>=80 an NO 判定条件看盖用例 Y>=80 (八) ABⅹ执行路径 X+Y>=140a A>1 AND 203ACE D (B) B=0 00 ABD X=X/A ABX执行路径 A=20R 1203ACE X>1 ABD XY|路径 9090AE ACD X=X+1 5050。BDE 4213ABE 测试用例设计: 9070。BcE 优点:发现错误能力强,覆盖面最 缺点:不包含判定条件覆盖100%路径覆盖是不可行的,自动化路径覆盖困难 条件覆盖 O) 测试用例设计: anf(“d”,sx) 设计若干测试用例,使得判定中的每个条件的 X!=0 路径 可能取值至少满足一次。 Y KA) 5 OAD Y=2 0 OBD Y=1 条件覆盖条件操作数值至少被评价一次的数量 条件操作数值的总数 (D) 判定覆盖测试用例设 =:8o an N (A) 计未有B!=0的取值 ABx执行路径 A>1 AND B=0 203ACE N ABD X=X/A 条件覆盖测试用例设 A=2 OR 计: X>1 (D) 匚AB×执行路径 路径 X=X+1 203ACE 4090OBDE 0ABD 测试用例设计: 2900|。BcE 优点:发现错误能力比语句覆盖强 缺点:条件覆盖并不能保证判定覆盖。对复合条件,条件覆盖只能保证每个条件至少有·次为真,而不考虑所有的判 定结果。 什么是集成测试:也叫倣组裝测试、联合测试、子系统测试和部件测试。是在单元测试的基础上,将所有模块按照概 要设计要求组装成为子系统或系统,进行集成测试 单元测试、集成测试与系统测试的差别 对象 目的 测试依据测试方法 消除局部模块逻辑 测试|程序错误和功能上的错误和 模块逻辑设计大量采用白 模块外部说明盒测试方法 集成模块间的/找出与软件设计相 灰盒测试, 测试集成和调关的程序结构,模 用关系块调用关系,模块程序结构设计/采用较多黑 盒方法构造 间接口方面的问题 测试用例 整个系 系统统,包括对整个系统进行一系统结构设计 测试系统软硬系列的整体、有效日标说明书黑盒测试 件等 性测试 需求说明书等 集成测试策略 1)非增量方式:先测试好每一个软件单元,然后一次组装在一起再测试整个程序。 2)增量方式:逐步把下一个要被组装的软件单元或部件,同已测好的软件部件结合起来测试 增量方式上要包括自顶向下、自底向上、自顶向下与自底向上相结合等方法。 白顶向下方法( Bottom-Up) 集成的方式有两种:深度优先组装法;广度优先组装法。 深度优先组装方式 广度优先组装方式 鹵四函 测试A 园加B因加入EE加入C 测试A 加入B 加入C BC D 加入D 加入F 加入D 加入 加入F “三明治”方法( Sandwich) 混合式集成把系统划分成三层,中间一层为目标层,目标层之上采用自顶向下集成,之下采用自底向上集成 三明治测试策略 层1 回回回层2 层3 测试 测试BE 底层测试 测试 测试F 测试DF ABCD 顶层测试 测试A 对图5-9所示的程序进行自顶向下的集成测试,试给出测试过程。 对图5-9所小的程序进行自底向上的集成测试,试给出测试过程 对图59所示的程序进行三明治集成测试,试给出测试过程。 A B C D E F C 图59程序结构图 压力测试 Stress testing)是指模拟巨大的工作负荷,以查看系统在峰值使用情况下是否可以正常运行。 压力测试方法具有如下特点:(1)压力测试是检查系统处」压力情况下的能力表现。(2)压力测试一般通过模拟方法 进行。(3)压力测试一般用于测试系统的稳定性 压力测试与性能测试的联系与区别:压力测试是用来保证产品发布后系统能否满足用户需求,关注的重点是系统整体; 性能测试可以发生在各个测试阶段,即使是在单元层,一个单独模块的性能也可以进行评估。 压力测试是通过确定一个系统的瓶颈,来获得系统能提供的最大服务级别的测试。 性能测试是检测系统在一定负荷下的表现,是正常能力的表现;而压力测试是极端情氿卜的系统能力的表 压力测试方法 压力测试中应该模拟真实的运行环境。 (1)重复( Repetition)测试:重复测试就是一遍又一遍地执行某个操作或功能,比如重复调用一个Web服务。 (2))发( Concurrency)测试:并发是同时执行多个操作的行为,即在同一时间执行多个测试线程。例如,在同一个 服务器上同时调用许多Web服务 (3)量级( Magnitude)增加:压力测试可以重复执行一个操作,但是操作自身也要尽量给产品增加负担。例如一个 web服务允许客户机输入一条消息,测试人员可以通过模拟输入超长消息来使架作进行髙强度的使用,即増加这个操 作的量级。 (4)随札变化:该手段是指对上述测试手段进行随札组合,以使获得最佳的测试效果。压力测试用例选取可以从以下 几个方面考虑:输入待处理事务来检查是否有足够的磁盘空间:创造极端旳网络负载:制造系统溢岀条件: 健壮性测试( Robustness testing)主要用于测试系统抵御错误的能力。 健壮性的两层含义:一是高可靠性,二是从错误中恢复的能力。 某个系统的使用情况如图612所示。 2小时3小时 2.5小时 25小时 2.5小时 25小时 1只6 20元 30元 40元 55元 20元 根据题义,n=6,t=186天=1488小时(每天8小 时),T=15小时,则: 平均无故障时间:MTBF=248小时 故障率:λ=0004/小时 平均维护时间:MTTR=25小时 维修率:p=04 有效度:A=099 兼容性测试:检查软件是否能够与其他软件正确协作 思考题:我现在有个程序,发现在wIN98上运行得很慢,怎么判别是程序存在问题还是软硬件系统存在问题?(博 彦笔试) 向后兼容:指可以使用软件的以前版本。向前兼容:指可以使用软件的未来版本 配置测试( Configuration Testing)是验证系统在不同的系统配置下能否正确工作,这些配置包括:软件,硬件,网络等。 软件文档的分类 用户文档:用户手册,操作于册,维护修改建议 开发文档:软件需求说明书,数据库设计说明书,概要改计说明书,详细设计说明书,可行性研究报告 管理文档:项目开发计划,测试计划,测试报告,开发进度月报。开发总结报告 用广界面测试(UI 用户芥面测试可分为整体界面测试和界面中的元素测试。 界面整体测试是指对界面的规范性,一致性,合理性等进行测试和评信 界面中的元素主要包括窗∏,菜单,图标,文宇,鼠标等 优秀U具备的七个要素:(1)符合标准和规范(2)直观(3)一致(4)灵活(5)舒适(6)正确(7)实用 外国语言测试的三个层面:GlIN: Globalization软件全球化I!8N: Internationalization国际化L10N: Localization本 地化本地化( localization):使软件适应语言、方言、地区习俗和文化的过程 本地化的问题1、文字内容2.数据格式 翻译的问题:1.文本扩展 text expansion)2ASCI, DBCS and Unicode3.热键和快捷方式( Hot Keys and Shortcuts)4扩展宇 符( Extended characters)5.字符的计算( Computations on Characters从左到右和从右到左的阅读7图形里面的间题(Text n graphics)8文字和代码分离

...展开详情
img
Brain_89

关注 私信 TA的资源

上传资源赚积分,得勋章
最新资源