这里啰嗦一下测试新手系列的十个概念,对象是为了让从未了解过软件测试的人通过比较简单易懂的内容,了解基础的测试知识,可以应对初级测试工程师的面试。
软件测试的分类按不同的标准有很多种,这里先只讲最基本的两三种,以免测试新手记不住,减少入门障碍。
黑盒测试就是把需要测试的功能当成一个看不见内部结构的黑盒子,关注这个功能的输入和输出是否匹配正确。
举个例子,测试邮箱“发送”这个按钮的功能,那么输入就是点击发送按钮,输出就是邮件发送到了收件人那里,至于里面是怎么做到,不需要过多的关心。
白盒测试就是看代码,看技术文档,了解需要测试的功能的内部实现,代码中的分支路径,每个分支路径测试是否覆盖到,每个报错是否覆盖到。
手工测试是指测试人员手工执行程序,主观判断测试结果。
手工测试容易发现bug,容易实施,尤其是在项目初期,手工测试一般都是必需的。手工测试的效率比较低,依赖人力资源。
自动化测试效率高,准确,但是制作脚本的投入也比较大,而且如果程序有变动的话,自动化脚本也要跟着更新。
自动化测试就能通过工具以及脚本来自动测试,得到测试结果。
常见的,自动化测试是因为测试用例有时候需要不同阶段都执行一遍,或者bug修复后再执行一遍,比较繁琐,耗费人力,所以选择自动化测试来优化测试效率。
二者都有其优势和劣势。
1)当开发的功能提交测试之后,最先开始的测试就是冒烟测试。冒烟测试就是对提交测试的功能进行最基本的功能测试,保证基本的功能和流程能走通。一般来说,第一次提交测试的代码存在的问题可能会比较多(当然这也取决于开发同学是否有先单元测试,如果项目进度紧张,往往是来不及的。)冒烟测试的用例往往选取主要的流程功能,验证是否满足展开大规模测试的要求,减少测试人员的浪费。
2)接着就是功能测试(狭义),测试人员展开大规模的详细的业务逻辑测试,发现问题就提交bug给开发人员修改,一轮下来就会出来一个测试用例的测试通过率以及bug数。有可能一个测试用例对应多个bug,也可能1个bug对应多个测试用例。广义上来讲,冒烟测试,回归测试,验收测试都在测试功能,都属于功能测试。
3)回归测试就是bug修复了之后,再执行一次测试用例。有时候也指,就某一个版本在修复所有bug之后重新一轮测试。
4)验收测试一般是产品经理等需求方,在最后验收产品的功能。
来源微信公众号:深挖软件测试