软件测试技术复习

大纲

  1. 应用题(每小题10分,共30分)

    1. 使用边界值分析法,设计测试用例(快递的那题)
    2. 决策表
      • 分析条件桩和动作桩
      • 画出决策表
    3. 简化决策表,设计设计测试用例
  2. 分析题(每小题5分,共30分)

    1. 设计测试用例,满足判定覆盖
    2. 设计测试用例,满足判定条件覆盖
    3. 按照程序代码,画出控制流程图
    4. 计算环的复杂度,就是计算连通度的方法
    5. 导出基本路径集
    6. 基于基本路径集做路径覆盖的测试用例
  3. 设计题(每小题10分,共20分)

    1. 为该集成测试的任务设计两套不同的测试方案(自底向上,自顶向下等)
      stub为桩模块,Dri为驱动模块
    2. 对这两种方案分析各自的优缺点,并针对一种方案进行说明
  4. 综合题(20分)
    GBT/5532-2008 8.3
    分析这三条标准的编制理由


黑盒测试

考黑盒测试方法大抵是差不多的,判定表和之前学的稍有差别,在第一次判定之后,会根据条件项是否会影响动作项将判定表简化一下。

边界值测试

边界值是由于软件的任何数值运算都会有一定的范围限制,考试只会考一些很好找到的边界值条件,
例如在条件判断语句中重新的比大小。

  1. 边界值分析法:在边界上取五个值: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=x
y+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>

主要是可以大量地降低测试成本,可以从诸多方面做答。

  1. 必要性:
    • 手工测试不适合回归测试。回归测试是软件开发测试中非常频繁的一项测试,若通过手工测试,则会耗费大量的人力物力
    • 许多与时序、死锁、资源冲突、多线程等错误,通过手工测试很难捕捉到
    • 进行系统负载测试,需要模拟大量数据或大量并发用户等。

附录:

黑盒例题的测试程序:

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年5月4日
下一篇 2022年5月4日

相关推荐