手工测试的优势
手工测试只需要人工操作,不需要编写测试脚本,对测试人员的编程能力要求低;手工测试可以更为全面的测试软件的非功能需求,如用户界面、易用性等,这些往往很难仅通过自动化脚本完成测试;测试人员可以根据经验进行更为灵活的测试设计和操作,进行一些脚本难以覆盖的探索性测试;测试人员凭借主观经验的介入,可以找到一些自动化测试覆盖不到的边界情况等缺陷;还有一个比较重要的,手工测试不需要研发和购买测试工具,前期投入成本低。
手工测试的局限性
手工测试完全依赖人工操作,测试用例的准备和执行都需要较多时间成本;多次执行同一手工测试用例,结果可能不一致,重复性较差;手工测试覆盖的测试场景相对有限;代码修改后需要重新进行大规模测试,手工测试不太适合进行频繁的回归测试;测试数据需要人工准备,不同测试者测试数据质量可能存在差异;测试结果判定依赖个人经验,不同测试者的结论可能不一致,缺乏客观标准;手工测试缺乏方便的记录机制,测试进度及缺陷难以定量化统计;手工测试无法进行长时间的稳定性测试,难以覆盖稳定性相关的缺陷。
自动化测试的优势
自动化测试将测试用例编写成脚本,可以重复高效执行;自动化测试可以针对所有的功能点、代码分支进行测试,覆盖测试范围广;自动化测试每个步骤都可精确控制,不受外界环境影响,重复执行结果一致;自动化测试可以重复回归测试,减少重复劳动;自动化测试可以进行超长时间的压力测试、稳定性测试等,可揭示手工测试难以发现的缺陷;
手工测试只需要人工操作,不需要编写测试脚本,对测试人员的编程能力要求低;手工测试可以更为全面的测试软件的非功能需求,如用户界面、易用性等,这些往往很难仅通过自动化脚本完成测试;测试人员可以根据经验进行更为灵活的测试设计和操作,进行一些脚本难以覆盖的探索性测试;测试人员凭借主观经验的介入,可以找到一些自动化测试覆盖不到的边界情况等缺陷;还有一个比较重要的,手工测试不需要研发和购买测试工具,前期投入成本低。
手工测试的局限性
手工测试完全依赖人工操作,测试用例的准备和执行都需要较多时间成本;多次执行同一手工测试用例,结果可能不一致,重复性较差;手工测试覆盖的测试场景相对有限;代码修改后需要重新进行大规模测试,手工测试不太适合进行频繁的回归测试;测试数据需要人工准备,不同测试者测试数据质量可能存在差异;测试结果判定依赖个人经验,不同测试者的结论可能不一致,缺乏客观标准;手工测试缺乏方便的记录机制,测试进度及缺陷难以定量化统计;手工测试无法进行长时间的稳定性测试,难以覆盖稳定性相关的缺陷。
自动化测试的优势
自动化测试将测试用例编写成脚本,可以重复高效执行;自动化测试可以针对所有的功能点、代码分支进行测试,覆盖测试范围广;自动化测试每个步骤都可精确控制,不受外界环境影响,重复执行结果一致;自动化测试可以重复回归测试,减少重复劳动;自动化测试可以进行超长时间的压力测试、稳定性测试等,可揭示手工测试难以发现的缺陷;
