0

    测试大佬详解:黑盒测试的底层逻辑

    2023.04.18 | admin | 155次围观

    什么是黑盒测试?

    它是把程序看作一个黑盒子,在不考虑程序内部结构的情况下,检查程序功能是否按照PRD的规定正常使用,程序是否能适当地接收输入数据,产生正确的输出。

    这其实就是黑盒测试的定义,也是黑盒测试的底层逻辑;一般人不会重视定义,但往往就是定义会告诉你真理。

    工作中有很多人在习惯了一种类型的系统测试,然后换一个新的业务类型,忽然就不知如何下手了。

    也许是新的总要有一个适应的时间,但其实万变不离其宗,只要掌握了黑盒测试的底层逻辑,就能够让你很快上手不再需要适应调整。

    我们大部分做的都是黑盒测试,所以无论什么类型的系统,我们的测试方案都是“ 检查程序功能是否按照PRD的规定正常使用,程序是否能适当地接收输入数据,产生正确的输出” 。

    我们的测试依据是PRD,首先必须对PRD了如指掌,然后分析他的输入有哪些、输出有哪些,这些都覆盖到了,你基本就可以做到80分了,也就是你拿下这个项目已不成问题。

    最后,我还是想再啰嗦强调一下, 就怕我讲的大家还是没有看懂,因为上面讲的大家都懂,第一天了解测试,就知道什么时候黑盒测试,什么输入输出了。但是往往真理就藏在平凡之间,记住他的定义!

    当你遇到项目不知如何下手测试时,把定义拿出来认真读三遍,一定会找到答案。

    强调

    实际当中纯黑盒的其实并不多,除了了解输入、输出,中间的处理逻辑也一定要清楚,这样对测试更有帮助。

    另外更重要的就是:必须熟读PRD,必须对PRD里的内容分析透彻,不放过任何一段文字,一个词,其实PRD里和设计文档里也会有很多的漏洞等你挖掘。

    黑盒测试底层逻辑详解

    即输入输出测试模型。这里的输入,并不是简单的界面输入框才算是输入,任何只要能够触发系统运行的都是输入。按照代码架构分层,输入也可以做到如下分类:

    1、界面操作的输入

    正向操作

    单一操作

    正常的操作:输入框、按钮、单选复选框、按钮、下拉框等的规定操作异常的操作:输入框的异常值、超长输入等、按钮的多次点击、快速连续点击(很容易就会发现数据重复提交,或者系统反应缓慢等各种问题,说不定系统就此而崩溃)。

    复杂操作

    组合操作:一般系统的功能都是各种操作的组合新点软件测试面试,另外一种跟业务场景相关,也就是各种业务场景同时组合进行操作。

    并行操作:多人对同一功能点的并发操作,或者多人对同一个数据进行的操作,比如两个人同时对一条单价进行修改、删除等操作。

    逆向操作

    逆向操作

    回退操作:通过浏览器或APP进行的回退操作。

    取消操作:正常操作突然取消,例如用户填写很多表格内容,突然操作了取消,是否需要保存或提示呢?

    删除操作:通过系统提供的功能对数据进行删除。

    2、服务层的输入

    接口服务:对外提供的接口,对于系统来说也是很常见的一种输入,这种输入也是最容易出问题的。

    文件上传:有些系统功能是通过获取ftp服务器上的excel、xml等文件来触发系统运行的,所以这时候的输入就变成了文件。

    MQ消息:也是京东最常见的一种输入形式,MQ里也可能会包含文件地址等,这种输入就更加灵活了。

    强调:对于接口上游的输入,无论何种形式,都要分析上游数据的每一个字段,了解上游各种输入的可能。

    有些字段还必须从业务【源头】了解这个字段的含义,可能的枚举值,可能的结果等。

    另外由于历史原因,源头的数据就可能存在各种想像不到的数据。

    对于输入的分析非常重要,这时候你就可以使用【等价类】方法进行分析。

    3、数据层的输入

    数据的变化:有很多后台处理的任务就是监控是否有新数据的插入或删除等。

    数据字段的变化:后台处理任务监控数据状态的变化,或组合字段的变化等。

    缓存数据的变化:除了数据库的变化,有的是缓存数据的变化。

    时间的变化:定时任务除了数据是输入,时间也是他的输入。

    输出分为可见输出和不可见输出:

    看得见的输出:就是我们常见的系统操作反馈,用户能直接看到的变化;比如弹框、提示、跳转、数据的新增、修改、删除后的变化,图片、视频等操作后的变化等等。

    看不见的输出:看不见的输出是最容易忽略也是最容易出问题的;【看不见的输出】包括:数据库的变化、缓存的变化、系统文件的变化、发送给下游接口的数据等。

    【看得见的输出】虽然能够帮我们验证基本90%以上的功能,通过界面展示的数据也能验证我们新增或修改的数据,是否新增成功了或正确的被修改了。

    但是我们看到的只是一部分,还有很多字段是没有被展示的,有的可能只是给下游或其他系统使用的,也有可能是留给未来使用的。这些不可见的部分,经常就会引起系统的异常,也是隐藏在系统中最大的坑。

    所以测试,除了站在用户的角度去测试系统,还要站在设计者的角度去测试,更应该站在整个产品的角度去思考。

    最后: 下方这份完整的软件测试视频学习教程已经整理上传完成,朋友们如果需要可以自行免费领取 【保证100%免费】

    这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库新点软件测试面试,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

    软件测试面试文档

    我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

    面试文档获取方式:

    版权声明

    本文仅代表作者观点。
    本文系作者授权发表,未经许可,不得转载。

    标签: 黑盒测试
    发表评论