手工测试是传统的测试方法,由测试人员手工编写测试用例、执行、观察结果。软件测试中发现问题最多的都是手工测试,占整个项目的百分之九十五左右,所以说手工测试是软件测试基础。但手工测试也有一定的缺点:测试工作量大、重复多、回归测试难以实现。
根据被测对象信息的不同,将软件测试的方法分为白盒测试、黑盒测试、灰盒测试。
白盒测试
概念:白盒测试又称玻璃盒测试、透明盒测试、开放盒测试、结构化测试、逻辑驱动测试、是基于程序结构的逻辑驱动测试。盒子指的是被测试的软件,白盒指的是盒子是可视的,你清楚盒子内部的东西以及里面是如何运作的。
目的:
白盒测试发现问题后,解决问题的成本比较低
通过检查软件内部的逻辑结构,对软件中的逻辑路径进行覆盖测试
在程序不同地方设立检查点,检查程序的状态,以确定实际运行状态是否与预期状态是否一致
优点:
使测试人员去仔细思考软件的实现
可以检测代码中的每条分支的路径
揭示隐藏在代码中的错误
对代码的测试比较彻底
最优化
缺点:
无法检测代码中遗漏的路径和数据敏感性错误
不验证规格的正确性
昂贵
黑盒测试
概念:黑盒测试又称功能测试,它是通过测试来检查每个功能是否都能正常使用。黑盒测试着眼于程序外部结构,不考虑外部逻辑,主要针对软件界面和软件功能进行测试。黑盒测试是以用户的角度,从输入数据与输出数据的对应关系出发进行测试的。
目的:减少测试时的测试用例数,用尽量少的测试用例完成测试,发现更多问题。
优点:
基本上不用人管着,如果程序停止运行了一般就是别册程序crash了
设计完测试用例后,剩余的工作就不多了