std-软件测试期末复习
Catalogue:
黑盒:
包括:
等价类划分(有效无效等价类),
边界值分析(min,max,nom),
判定表驱动法(条件桩,动作桩),
因果图(4因果关系....与或非,5约束符号),
(错误推测法),
正交实验(水平(中间数),因子(列)(上面的数),行(下面的数),
场景法(基本,备选流)
白盒:
覆盖测试:逻辑覆盖法(语句-》判定-》条件-》判定/条件-》组合-》路径)
路径测试:基本路径测试方法(控制流图,环复杂度,基本路径,测试用例)
N-最少测试用例数计算:N-S图(盒图):计算规则:上下要乘法,左右要加法
循环测试:四个类型
数据流测试:
程序插桩:
测试策略与过程:
单元-》集成-》测试-》验收
集成测试:广度、深度集成
自动化测试
基础:
软件测试的分类
注意软件策略与过程:单元->集成->系统->验收
软件测试的根本目的:发现\修改缺陷用户的满意程度,优化软件品质
软开发与测试的四个模型:V,X,W,H
黑盒测试:
需求验证方式:最正式,最不正式的评审方法主要区分:
最正式评审方法:
正式评审(审查):结构化的评审过程,涉及准备、执行和收尾阶段,并记录在案。
小组审查:组织化的评审过程,但可能不如正式评审严格或结构化。
走查:更快速、更随意的评审方式,允许随时发表意见或提出问题。
最不正式评审方法:
结对编程:开发人员实时协作和互相检查代码或设计,侧重于开发过程中的质量检查。
同级轮查:个人级别的私下交叉复查,不涉及组织化的评审过程。
临时评审:与个人工作习惯或沟通场景相关,涉及信息的即时回顾或验证。
大题1:等价类划分:
两步:确定等价类,列出等价类表;确定测试用例。
等价类划分原则:
覆盖原则:
所以等价类数目=max(有效等价类1,有效等价类2,...)+无效等价类的个数
解答题1:边界值法:一般性测试5个,健壮性测试:多加两个边界值:max+,min-
推论:对于一个含有n个变量的程序,采用边界值分析法测试程序会产生4n+1个测试用例。
nom nom nom
Min+ min+ min+
Min min min
Max max max
Max- max- max-
固定某项的nom,去和其他的组合成测试用例
大题2判定表驱动法
四部分:条件桩:条件,动作桩:操作,条件项:条件的取值,动作项:各种取值下的具体动作,规则
条件桩(一定要找对,找够,决定表的规模2的n次方、有n个条件就有2的n次方个规则。);动作桩要找对:找关键字如果,若;则,那么
大题2因果图:最终生成和还是判定表
关系要理清:
五种约束
四种关系
要会用符号画出来
实战:
例1:用因果图法测试以下程序
程序的规格说明要求:输入的第一个字符必须是#或*,第二个字符必须是一个数字,此情况下进行文件的修改;如果第一个字符不是#或*,则给出信息N,如果第二个字符不是数字,则给出信息M
思路:
(1)分析程序的规格说明,列出原因和结果
(2)找出原因与结果之间的因果关系、原因与原因之间的约束关系,画出因果图
(3)将因果图转换成判断表
(4)根据(3)中的判断表,设计测试用例的输入数据和预期输出
正交实验法:三因子,三水平
巧记:下行上列中水平
常用的正交表
知道怎么表示,怎么算试验次数
解答题4:场景设计:基本流和备选流搭配,会选,能设计出场景
白盒
流程图要画对(必须),画错了后面全错控制流图
计算环复杂度列出所有基本路径(知道怎么列:遵循定义)
大题3:基本路径测试方法
步骤:根据代码:画控制流图;
计算环复杂度;v(G)=5=4+1=14-11+2
注:环复杂度V(G)=闭合区域的数目=二值判定节点个数+1=边数-点数+2
列出基本路径(包含起点终点);
检查列出的路径数目是否超过控制流图的环复杂度;
设计覆盖基本路径的测试用例
(注:基本路径不一定是测试用例,得可行才行)
大题4:逻辑覆盖法:各种覆盖的含义:语句覆盖 判定覆盖 条件覆盖 判定/条件覆盖 组合覆盖 路径覆盖
(循环测试)
四种不同循环结构:简单,嵌套,连接,非结构
数据流测试
程序插桩
断言
简答题3:最少用例数的计算
O-S图(盒图):计算规则:上下要乘法,左右要加法
解答题2:
集成测试:什么叫桩,什么叫驱动?
驱动模块:模拟被测模块的上级模块,相当于主程序。
桩模块:模拟被测模块所调用的模块。
例如下图深度优先:s1是B的驱动模块,s4是B的桩模块(节点的前身模块为驱动,下层模块为桩)
掌握增量式集成的策略:自顶向下,自底向上--最常用的集成策略,三明治(混合):中间一层是目标层,上层采用自顶向下集成,下层自底向上集成
其中自顶向下分为:按深度优先:一个模块一个模块的集成和按广度优先:一层一层的集成
根据ppt应该一步一个图
性能测试
各类区别,选择:选属于哪种测试:
一般性能测试,指让被测系统在正常的软硬件环境下运行,不向其施加任何压力的性能测试。
稳定性测试,可靠性测试(reliability testing),是指连续运行被测系统,检查系统运行时的稳定程度。
负载测试,让被测系统在其能忍受的压力的极限范围之内连续运行,来测试系统的稳定性。绝大多数的负载测试都是通过自动化工具完成的。
压力测试, 持续不断地给被测系统增加压力,直到被测系统压垮为止,来测试系统所能承受的最大压力。压力测试是通过逐步增加系统负载来测试系统性能的变化,并最终确定在什么负载条件下系统性能处于失效状态,以此来获得系统性能提供的最大服务级别的测试。
α测试 β测试
Α:公测前邀请内部员工或外部软测大神来公司里测试
B:游戏发布前的公测