大纲
-
应用题(每小题10分,共30分)
- 使用边界值分析法,设计测试用例(快递的那题)
- 决策表
- 分析条件桩和动作桩
- 画出决策表
- 简化决策表,设计设计测试用例
-
分析题(每小题5分,共30分)
- 设计测试用例,满足判定覆盖
- 设计测试用例,满足判定条件覆盖
- 按照程序代码,画出控制流程图
- 计算环的复杂度,就是计算连通度的方法
- 导出基本路径集
- 基于基本路径集做路径覆盖的测试用例
-
设计题(每小题10分,共20分)
- 为该集成测试的任务设计两套不同的测试方案(自底向上,自顶向下等)
stub为桩模块,Dri为驱动模块 - 对这两种方案分析各自的优缺点,并针对一种方案进行说明
- 为该集成测试的任务设计两套不同的测试方案(自底向上,自顶向下等)
-
综合题(20分)
GBT/5532-2008 8.3
分析这三条标准的编制理由
黑盒测试
考黑盒测试方法大抵是差不多的,判定表和之前学的稍有差别,在第一次判定之后,会根据条件项是否会影响动作项将判定表简化一下。
边界值测试
边界值是由于软件的任何数值运算都会有一定的范围限制,考试只会考一些很好找到的边界值条件,
例如在条件判断语句中重新的比大小。
- 边界值分析法:在边界上取五个值:min、min+、nom、max-、max
讲人话就是取的五个值都在范围内,- 取一个最小值
- 取一个比最小值稍大的值
- 取一个正常值
- 取一个比最大值稍小的值
- 取一个最大值
要求 | 边界值分析法的取值 | 健壮性边界测试的取值 | 最坏情况测试 |
---|---|---|---|
int x属于[5,10] | 5,6,7,9,10 | 4,5,6,7,9,10,11 | 在单变量取极值的情况和健壮性边界测试一致 |
int x属于(5,10) | 6,7,9 | 5,6,7,9,10 | 在单变量取极值的情况和健壮性边界测试一致 |
一般会使用边界值分析测试方法,就是在边界上选取5个取值;
如果是使用健壮性边界测试会特别说明,会多取两个靠近边界值的界外点
黑盒测试例题
快递收费标准
快递按公斤计算超过1公斤按2公斤算,超过2公斤就按3公斤算以此类推。(每个产品的重量在产品的详情里面都有标注)
江浙沪首重10元续重1.5元,北京,安徽,福建,广东,广西,贵州,海南,河北,河南,黑龙江,湖北,湖南,江西,辽宁,宁夏,山东,山西,陕西,四川,天津,云南,重庆首重18元续重15元,甘肃,吉林,内蒙古,青海,西藏,新疆首重25元续重22元。
首重是指1公斤以内,续重是每增加一公斤
f(x,y)=
白盒测试 这里做过很多遍了,主要是理解判定覆盖、判定条件覆盖、条件组合覆盖等的区别
覆盖类型 覆盖条件 语句覆盖 所有的语句至少覆盖一次 判定覆盖 所有的判断的真假至少覆盖一次 条件覆盖 所有条件的真假至少覆盖一次 判定条件覆盖 所有条件的真假至少覆盖一次并且保证判断的真假也要覆盖到 条件组合覆盖 每个判断中所有条件的组合要覆盖一次 路径覆盖 每个可能路径都需要覆盖一次 白盒测试例题
老师出的题目可能是每个判定中只有单个条件,所以判定覆盖、条件覆盖、判定条件覆盖在测试用例上没区别,我给两道经典的题目,更加详细地了解他们的区别。
1.题目一:使用逻辑覆盖测试方法测试以下程序段
void DoWork (int x,int y,int z)
{
1 int k=0;
2 float j=0;
3 if ( (x>3)&&(z 4 {
4 k=xy-1;
5 j=sqrt(k);
6 }
7 if((x==4)||(y>5))
8 j=xy+10;
9 j=j%3;
10 }
说明:程序段中每行开头的数字(1~10)是对每条语句的编 。
(1)画出程序的控制流图(用题中给出的语句编 表示)。
(2)分别以语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖和路径覆盖方法设计测试用例,并写出每个测试用例的执行路径(用题中给出的语句编 表示)。
- 通过程序画出控制流图,这个不难,需要注意的地方是每个判定就导致一次分支,遇到循环语句就有回流分支,注意这两个地方就没问题了,计算圈复杂度采用计算连通度的方法(边-点+2)可以得到会有几条基本路径。
- 这里我们计算一下圈复杂度:11-10+2=3,所以有三个环,就说明有三条基本路径
- 这个基本路径集不唯一,从最少的路径开始慢慢加上环外的语句就可以导出了
- 1->2->3->7->9->10
- 1->2->3->7->8->9->10
- 1->2->3->4->5->6->7->8->9->10
集成测试 这种题会给一个程序模块化的设计示意图,然后大家选择集成测试方案后根据方案特点将这个示意图拆分。
(D表示Dri为驱动模块的意思,S为stub为桩模块的意思)
我这里给一个自顶向下和自底向上这两种方式
集成测试的结构示意图:
- 有助于最大限度地减少对桩模块的需求
- 可以实施多个模块的并行测试,提高了测试效率,测试人员能较好地锁定软件故障的位置
缺点:
- 不能很好地支持有限功能的早期发布
- 对驱动程序的需求让测试管理变得很复杂
自顶向下的集成测试方案:
(我这里采用的深度优先的策略,这个很容易看出区别的)
通过示意图可以看出顶层模块为M1,建立两个桩模块为S1、S2;
然后测试M2,建立桩模块S3、S4;
测试M3、M4、M5;
具体的测试过程:这个不用背了解一下我国有哪些软件测试标准就可以了,考试会告诉你几个标准的细节,然后让你分析为什么怎么制定
GBT/5532-2008 8.3的查询 址例:根据上述的标准和规范,分析那些设计问题会使QQ性能降低、会影响QQ的安全。
信息系统及软件完整性级别中:QQ的软件系统验收完整性级别为4级系统级别,它不是分布式的存储结构,无法保证同一个用户同一时刻的大数据量的轰炸,性能会下降很多
QQ的容灾备份是3级在线数据恢复,通过 络将关键数据进行备份并存放至异地,制定有相应灾难恢复计划,有备份中心,并配备部分数据处理系统及 络通信系统。当 络较差的时候QQ消息会丢失,极大的降低了用户的体验感。
QQ的应用软件产品测试对待手机认证不太完善,没有对手机用户的认证关系,丢了手机就丢了QQ ,会对个人用户的QQ安全带来影响。只要分点答,不要太离谱就可以了,可以从几个方面来答题:安全性的角度、容灾备份的角度、软件性能的角度、经济价值的角度等等诸多角度来分析。
按照国家标准,软件测试分析以下方面,大家可以按照这些方面来分析:
- 功能性
- 适合性方面
- 准确性方面
- 互操作性方面
- 安全保密性方面
- 可靠性
- 成熟性方面
- 容错性方面
- 易恢复性方面
- 易用性
- 易理解性方面
- 易学性方面
- 易操作性方面
- 吸引性方面
- 效率
- 时间特性方面
- 资源利用性方面
- 维护性
- 易分析性方面
- 易改变性方面
- 稳定性方面
- 易测试性方面
- 可移植性
自动化测试 为什么要用自动化测试h2>
主要是可以大量地降低测试成本,可以从诸多方面做答。
- 必要性:
- 手工测试不适合回归测试。回归测试是软件开发测试中非常频繁的一项测试,若通过手工测试,则会耗费大量的人力物力
- 许多与时序、死锁、资源冲突、多线程等错误,通过手工测试很难捕捉到
- 进行系统负载测试,需要模拟大量数据或大量并发用户等。
附录:
黑盒例题的测试程序:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!