手工测试是传统的测试方法,由测试人员手工编写测试用例、执行、观察结果。软件测试中发现问题最多的都是手工测试,占整个项目的百分之九十五左右,所以说手工测试是软件测试基础。但手工测试也有一定的缺点:测试工作量大、重复多、回归测试难以实现。
根据被测对象信息的不同,将软件测试的方法分为白盒测试、黑盒测试、灰盒测试。
白盒测试
概念:白盒测试又称玻璃盒测试、透明盒测试、开放盒测试、结构化测试、逻辑驱动测试、是基于程序结构的逻辑驱动测试。盒子指的是被测试的软件,白盒指的是盒子是可视的,你清楚盒子内部的东西以及里面是如何运作的。
目的:
白盒测试发现问题后,解决问题的成本比较低
通过检查软件内部的逻辑结构,对软件中的逻辑路径进行覆盖测试
在程序不同地方设立检查点,检查程序的状态,以确定实际运行状态是否与预期状态是否一致
优点:
使测试人员去仔细思考软件的实现
可以检测代码中的每条分支的路径
揭示隐藏在代码中的错误
对代码的测试比较彻底
最优化
缺点:
无法检测代码中遗漏的路径和数据敏感性错误
不验证规格的正确性
昂贵
黑盒测试
概念:黑盒测试又称功能测试,它是通过测试来检查每个功能是否都能正常使用。黑盒测试着眼于程序外部结构,不考虑外部逻辑,主要针对软件界面和软件功能进行测试。黑盒测试是以用户的角度,从输入数据与输出数据的对应关系出发进行测试的。
目的:减少测试时的测试用例数,用尽量少的测试用例完成测试,发现更多问题。
优点:
基本上不用人管着,如果程序停止运行了一般就是别册程序crash了
设计完测试用例后,剩余的工作就不多了
对于更大的代码单元来说,比白盒测试效率更高
缺点:
没有清晰和简洁的规格,测试用例很难实现
不能控制内部执行路径,会有很多内部测试路径没有被测试到
不能直接对特定的程序段,这些程序可能非常复杂
测试人都加入的技术交流社群313782132,群里有测试学习资料、面试技巧、内推机会。
灰盒测试
概念:灰盒测试是介于白盒测试和黑盒测试之间的一种测试,灰盒测试多用于集成测试阶段。不仅关注输出、输入的正确性,同时也关注程序内部的情况。灰盒测试不像白盒测试那样详细完整,但又比黑盒测试更关注程序内部的逻辑,常常是通过一些表征性的现象、事件、标志来判断内部的运行状态。
目的:
确认软件的质量,一方面是确认软件做了你所期望的事情,另一方面是确认软件以正确的方式来做了这个事情
提供信息,比如提供给开发人员或程序经理的反馈信息,为风险评估所准备的信息
保证整个软件开发过程是高质量的
网友评论