[HIT 软件构造]白盒测试与黑盒测试

软件开发过程中测试无疑是极其重要的一部分,谁也不能保证没有测试的程序会跑出什么东西,甚至能不能跑都不知道,放在游戏中的话,一堆bug的画面十分诡异影响体验,重则崩溃无法运行,捎带把系统弄崩了那真是不知道上哪哭去。

简单说一下这个白盒测试和黑盒测试,这说的的是一个比方,不是说你真的有一个的白色或者黑色的盒子让你捧着摩擦三下,出来一个盒子神,你问他我的程序有没有bug呀?他说有。这个时候程序不能run,你就得run了。

白盒测试

白盒测试指测试时能够看到程序的代码,这时候的软件就像一个透明的盒子,你可以看到内部的结构、内容,对这个白盒的白是透明的意思,可能是明( )盒测试不好听吧,(误,英文就是 white-box)。

主要作用:方便程序员调试(开发人员改bug)

黑盒测试

黑盒测试就是相对白盒测试来说,测试时看不到代码,只有输入输出,那么软件就像是个不透明的盒子。

主要作用:验证程序的正确性废话,哪个测试不是很多时候测试人员和开发人员是不同部门的,对于测试人员来说这就是个黑盒,只管设计的测试数据输入输出正确就行,这样才能提高测试效率,不会真以为测试人员会帮你看代码查bug吧)

测试用例设计

测试用例的设计也是一门学问,太少了测不全,太多了就效率低。任何测试都不能保证程序没有bug,你永远也不知道玩家在游戏里能做出什么样的操作。

测试用例的设计要根据规约划分等价类,每种等价类都测试到才算满足测试要求。
对于多个划分维度上的多个取值笛卡尔积组合起来的测试用例,称之为 全覆盖
对于每个维度的每个取值至少取到过一次,称之为 覆盖每个取值
代码覆盖度:说明测试样例多大程度的覆盖程序
执行路径:程序从开始运行到结束时执行代码的次序,成为一条执行路径。
路径覆盖测试:每种执行路径都在测试中执行过一遍。
条件覆盖测试:代码中的分支语句可能的结果都在测试中被执行过一遍。
语句覆盖测试:每行代码都在测试中运行过。

从复杂程度上我们可以轻松看出,路径覆盖 难于 条件覆盖 难于 语句覆盖;从效果来看,也是路径覆盖 优于条件覆盖 优于 语句覆盖。
EclEmma 是检查测试中代码覆盖的工具,对于测试运行到的代码它会标绿,否则标红。

测试也有很多种类,完成阶段性工作后及时进行测试,检查代码中的问题,否则等发现的时候,不知道bug出在哪里,测试工作也变得相当困难。

单元测试:写完一个类或方法时初步测试。
集成测试:对于多人开发的类、包、组件、子系统进行测试。
系统测试:对完全合并的系统进行最终配置的测试。
回归测试:对版本更新的软件进行测试。

把测试的策略写在文档里,方便别人或者未来的你理解更新测试用例,尤其是在回归测试的时候能帮助你快速回忆起来。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值