3. 手工测试和自动化测试
手工测试是指通过测试人员自身对系统进行操作来完成操作,而自动化测试是通过计算机运行测试工具和测试脚本自动进行。自动化测试具有很多优点,如执行速度高而缩短测试周期、可以多次重复运行相同的测试而减少测试的单调性、真实反映测试结果、二十四小时不知劳累运行等等,所以在测试工作中,我们尽力实现测试自动化、或扩大自动化测试的覆盖范围。但是自动化测试前期投入大,对被测对象要求高以及存在其它的局限性。
软件测试自动化绝不能代替手工测试,它们两者有相应的测试对象和范围:
1) 工具本身并没有想象力和灵活性,根据业界统计结果,自动测试只能发现15-30%的缺陷,而手工测试可以发现70-85%的缺陷;所以自动化测试有其局限性,不适合软件的新功能测试,而特别适合回归测试,可以保证对已经测试过部分进行测试的准确性和客观性。
2) 在系统功能的逻辑测试、验收测试、适用性测试、涉及物理交互性测试时,也很难通过自动化测试来实现,多采用黑盒测试的手工测试方法;
3) 单元测试、集成测试、系统负载或性能测试、稳定性测试、可靠性测试等比较适合采用自动化测试;
4) 当界面、需求变化比较频繁时、开发周期很短的软件、或做一次性软件开发项目(而不是做软件产品)时,自动化测试吃力不讨好,投入大而产出小。
5) 有些测试工具只能运行在Windows平台上,不能运行在Mac/Unix等平台上。
多数情况下,手工测试和自动化测试相结合,以最有效的方法来完成测试任务。
<待续>