[学习笔记]软件测试基本术语

  • Test Case(测试用例)
测试用例包含:Test Input(测试输入)、Test Oracle(测试预期输出)、Others(Environment and so on).
  • Testing vs Debugging(测试与调试)
1、Testing  is to reveal a bug by executing test and observing failure.
      测试通常是指通过执行软件去观察是否失效, 跟我们的预期结果不一致

2、Debugging is to fix a bug.
      调试是为了找Fault,然后理解Fault,最后修正Fault。
  • Verification vs Validation(确认与确认)
              Verification是指刚才确认的文档是否和最终实现的文档要求一致。

               Validation是指确认的规格文档是否与最终用户所需要的一致。

注意两者(Verification and Validation)之间的区别!!

测试属于Verification:即确认这个系统跟我们当初的需求是否一致。
  • Static Testing vs Dynamic Testing(静态测试与动态测试)
静态测试:通过扫描程序等等手段来判别程序当中可能存在的问题,严格来讲静态测试不是测试。

动态测试:需要设计一些输入来运行程序,观测结果然后作出判断。

静态测试和动态的主要区别:是否需要运行程序,不运行为静态测试,运行为动态测试。
  • Black-box Testing vs White-box Testing(黑盒测试和白盒测试)
黑盒测试:把程序当成黑盒子,不需要知道代码或者程序的内部结构来进行的一种测试。

白盒测试:白盒需要源码,运行程序并且通过程序内部的一些结构信息,去分析里面可能出现的问题。


两者最主要的区别是是否需要源码!

介于白盒测试和黑盒测试之间有一种测试叫:灰盒测试。

灰盒测试:指通过其他的软件制品或反编译等手段,获得了部分软件结构信息进而测试。
  • Testing Level(测试层次)
Unit Testing(单元测试)、Module Testing(模块测试)

Integration Testing(集成测试)、System Testing(系统测试)

单元测试是最基本的测试、最小级别的测试,比如测试一个方法或者一个函数;

模块测试是对整个模块集的一个输入输出等;

集成测试是对模块集的集合测试;

系统测试是把整个系统组件起来。

以上所有的术语在不同的公司不同的领域的意思是不同的!这些术语是非标准化的。
  • 测试过程
有一个软件制品,我们获得的可能是它的需求,也可能是代码,通过分析得到某种结构,由此派生出相应的测试需求,这些需求你也可能会规格化,然后通过规格化的测试需求,会产生测试输入,再将测试输入封装成完整的,为了使这些测试用例可以自动跑起来,这就需要将它们转变成某种测试脚本,然后在特定的框架下去执行,进而获得测试结果,将测试结果反馈到测试需求,测试结果与预期结果作比较,得出Fail或者Pass,进而提高了整个测试过程。测试过程如下图所示:

虚线的上面是测试设计,下面是需要将测试转变成测试脚本。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值