对测试的理解

测试定义

不是1)软件测试就是证明软件不存在错误的过程。2)软件测试的目的在于证明软件能够正确完成其预订的功能。3)软件测试就是建立一个‘软件做了其应该做的’信心的过程。真正的定义是:软件测试时为发现错误而执行程序的过程。
测试是为了证明程序有错,而不是证明程序无错误;
一个好的测试用例是在于它能发现至今未发现的错误;
一个成功的测试是发现了至今未发现的错误的测试。

黑盒测试

又称为数据驱动的测试或输入/输出驱动的测试。将程序视为一个黑盒子。测试目标与程序的内部机制和结构完全无关,而是将重点集中放在发现程序不按其规范正确运行的环境条件。(测试投入的目标在于通过有限的测试用例,最大限度的提高发现的问题数量,以取得最好的测试效果)

白盒测试

称为逻辑驱动测试,允许我们检查程序的内部结构。(条件覆盖,判定覆盖,语句覆盖)

测试用例的设计

黑盒测试的方法:1)等价类划分。2)边界值分析。3)因果图分析。4)错误猜想。
白盒测试的方法:1)语句覆盖。2)判定覆盖。3)条件覆盖。4)判定/条件覆盖。5)多重条件覆盖。
语句覆盖:较弱的准则,将程序中的每条语句至少执行一次。
判定覆盖或分支覆盖:较强的逻辑覆盖准则,必需编写足够的测试用例,使得每个判断都至少有一个为真和为假的输出结果。也就是说每条分支路劲都必须至少遍历一次。
条件覆盖:比判定覆盖更强的准则,条件覆盖要编写足够的测试用例以确保将一个判断中的每个条件的所有可能的结果至少执行一次。
判定/条件覆盖:设计出充足的测试用例,将一个判断中的每个条件的所有可能的结果至少执行一次,将每个判断的所有可能的结果至少执行一次,将每个入口点都至少调用一次。
多重条件覆盖:要求编写足够多的测试用例,将每个判定中的所有可能的条件结果的组合,以及所有的入口点都至少执行一次。
等价划分:1)确定等价类;2)生成测试用例。
确定等价类:选取每一个输入条件(通常是规格说明中的一个句子或短语)并将其划分为两个或更多的组。有效等价类(代表对程序的有效输入)无效等价类(代表的则是其他任何可能的输入条件,即不正确的输入值)。
生成测试用例:1)为每个等价类设置一个不同的编号。2)编写新的测试用例,尽可能的覆盖那些未被覆盖的有效等价类,直到所有的有效等价类都被测试用例覆盖(包含进去)。3)编写新的用例,覆盖一个且仅一个尚未被涵盖的无效等价类,直到所有的无效等价类都被测试用例所覆盖。
边界值分析:指输入和输出等价类中的那些恰好处于边界、或超越边界、或在边界以下的状态。
1)与从等价类中挑选出任意一个元素作为代表不同,边界值分析需要选择一个或多个元素,以便等价类的每个边界都经过一次测试。
与仅仅关注输入条件(输入空间)不同,还需要考虑从结果空间(输出等价类)设计测试用例。

模块测试

模块测试的目的是将模块的功能与定义模块的功能规格说明或接口规格说明进行比较。这里测试的目标不是为了说明模块符合其规格说明,而是为了揭示出模块与其规格说明存在矛盾。1)测试用例的设计方式;2)模块测试及集成的顺序;3)建议。
模块测试的测试用例设计如下:使用一种或多种白盒测试方法分析模块的逻辑结构,然后使用黑盒测试方法对照模块的规格说明以补充测试用例。
增量测试:先将下一步要测试的模块组装到测试完成的模块集合中,然后再进行测试。又叫集成测试。1)自顶向下;2)自底向上。
非增量测试:先独立地测试每个模块,然后再将这些模块组装成完整的程序。又叫“崩溃(big-bang)”测试。
模块测试的目的不是证明模块能够正确地运行,而是证明模块中存在着错误。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值