小米总监说软件测试分为这及类

 相信大家在作为小白进行面试的时候,总是会被人问到:你所知道的软件测试有几种?然后就懵的一下全部都说出来了,比如说:黑盒测试、功能测试、白盒测试、性能测试、压力测试、兼容性测试、安装与卸载测试、安全性测试等等等等。。。但是这一般都是流水式的做法,一般很少人认真份清楚这之间的区别,我现在跟大家细数一下,软件测试这一行,最常见的测试分类:

    从角度进行细分:从是否关心软件内部结构和具体实现的角度划分(按测试分类)

​       A.白盒测试

​       B.黑盒测试

​       C.灰盒测试

​   从是否执行程序的角度

​       A.静态测试

​       B.动态测试

​  从软件开发的过程按阶段划分:

      A.单元测试

​      B.集成测试

​      C.确认测试

​      D.系统测试

​      E.验收测试

​      F.回归测试

​      G.Alpha测试

​      H.Beta测试


白盒测试、灰盒测试以及黑盒测试的区别:

​       黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。

       白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查。

       灰盒测试:介于白盒与黑盒之间的测试。


1、黑盒测试

      黑盒,顾名思义,就是把所有东西装到一个盒子里,看不到内部逻辑,只能通过外部的可见的功能模块,对软件进行测试。比如说一个网站的登陆功能,你不知道它的内部逻辑是怎样的,只能通过网页的注册输入文本框和注册按钮,来测试注册这个功能是否正常。一般黑盒测试也叫数据驱动测试或者功能测试(通过输入数据来确定功能是否完整是否正常),一般它所关注的点如下:

      1)是否有不正确或遗漏的功能?

      2)在接口上,输入是否能正确的接受?能否输出正确的结果?

      3)是否有数据结构错误或外部信息(例如数据文件)访问错误?

      4)性能上是否能够满足要求?

      5)是否有初始化或终止性错误?

2、白盒测试

      白盒测试是对软件的过程性细节做细致的检查。这种方法是把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序状态,确定实际状态是否与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱动测试。(一般的接口测试也可以理解为白盒测试,你自己清楚的知道各个业务流的逻辑走向,可以有效的制定一些测试用例,不需要盲目的通过功能点去做各项测试)白盒测试主要是想对程序模块进行如下检查:

      1)对程序模块的所有独立的执行路径至少测试一遍。

      2)对所有的逻辑判定,取“真"与取“假”的两种情况都能至少测一遍。

      3)在循环的边界和运行的界限内执行循环体。

      4)测试内部数据结构的有效性,等等。

3、灰盒测试

      灰盒测试,是介于白盒测试与黑盒测试之间的,可以这样理解,灰盒测试关注输出对于输入的正确性,同时也关注内部表现,但这种关注不象白盒那样详细、完整,只是通过一些表征性的现象、事件、标志来判断内部的运行状态,有时候输出是正确的,但内部其实已经错误了,这种情况非常多,如果每次都通过白盒测试来操作,效率会很低,因此需要采取这样的一种灰盒的方法但是实际上灰盒测试用到的领域挺少的,这里就不再详细介绍。

在学习的这段时间,整理资料已经成了我的习惯!下面是我对上面三个阶段学习的收集和整理在这里插入图片描述
对于学习软件测试的的朋友来说应该是最全面的备战仓库了,有很多朋友靠着这些内容进行复习,拿到了BATJ等大厂的offer,这个仓库也已经帮助了很多的软件测试的学习者,希望也能帮助到你!

乾坤未定,你我皆是黑马

关注微信公众号:【程序员二黑】 即可免费获取这份仓库资源啦!

猜你喜欢

转载自blog.csdn.net/m0_52650621/article/details/112908750