发布网友 发布时间:2022-04-23 12:30
共1个回答
热心网友 时间:2023-10-13 10:14
黑盒怎么可能涉及到代码呢,为什么叫黑盒?就是因为把待测对象看成了一个盒子,当不知道里面的内部逻辑,只看input和output追问黑盒还不是要走程序?最后修改还不是要看代码吗?追答黑盒当然也要走程序,但对于测试而言,并不需要知道它内部是怎么走的,哪怕程序内部拐了几千道弯,测试只需要知道的是拐弯之前的输入是什么,拐弯之后的输出是什么,而且涉及到代码覆盖的都不是纯粹的黑盒,而是灰盒或者白盒,黑盒测试就相当于我们在网站上的操作,我们只能看到网站这个平台所表现出来的,比如你输入账号密码,点击登录,提示登录成功,这其中有很多的走代码过程,比如,你打开这个网站登陆框输入账号之后,按tab会自动跳到密码的输入,这其中就会走代码,输入密码按登录,这其中也要走代码,而且我们是客户端看见的并不和服务器端看到的一样,点了登录之后就会调用程序里的语句了,这个账号是不是符合规范,账号对了密码对了提示什么信息,账号错了密码也错了提示什么,账号不存在提示什么信息等等等等,账号和密码输入都正确了怎么和数据库进行交互查询到里面这个账号下的所有个人操作信息,然后返回到客户端所表现出来的是什么,这些当然都是走的代码,做黑盒,我们尽量要阀盖所有可能的条件,所以会有很多的negative的case,从外部表现来测试内部逻辑,这就是黑盒;
白盒是纯粹的代码走查,从底层的开发逻辑进行测试,可以找出很多程序逻辑上的defect,但有一点,80%都是黑盒测试过程中查出来的,白盒只有20%,白盒投入太大的话得不偿失,代码路径就相当于黑盒里面的一个个的negative的case,只不过是从编码的角度进行的测试,由于它不涉及integration,所以就算白盒路径测试通过了,integration的时候也有可能出defect。