关于手工测试与自动化测试关系的讨论

课上的讨论让人脑洞大开,李珅的机器人威胁论激起片片唏嘘,无限共鸣。他阐述了,未来无限可能更加智能的自动化代替手工乃大势所趋,自动化的智能程度将无限发展,最终可能代替人去做任何工作,甚至代替人类。这种说法激起很多科技爱好者和科幻片爱好者,更是有力的支持了自动化测试终将取代手工测试这一观点。但是,在这种无限的可能下,我认为,人类也有可能进化到在不使用自动化的情况下,凭借大脑无穷的计算分析能力进行测试。何况自动化的发展本身就受人类进化的制约。所以未来的发展方向是不可预料的,在无限的可能下,任何事都有可能会发生,这样的讨论是没有意义和价值的。
这一问题的论点理应着力于目前的水平下,自动化测试与手工测试各自的优缺点以及各自的存在价值。手工测试是传统的测试方法,他的测试工作量、重复多,回归测试难以实现。自动化测试利用软件测试工具自动实现全部或者部分测试工作:管理、设计、执行和报告。自动化测试节约大量的测试开销,并能够完成一些手工测试无法完成的测试。
自动化测试是对手工测试的一种补充,自动化测试不可能完全替代手工测试,因为很多数据的正确性、界面是否美观、业务逻辑的满足程度等都离不开测试人员的人工判断。而仅仅依赖手工测试的话,则会让测试过于低效,尤其是回归测试的重复工作量会对测试人员造成巨大的压力。
手工测试的特点主要有:
(1 )测试人员要负责大量的文档、报表的制定和整理工作,会变得力不从心。
(2 )手软件发布日期。开发成本及人员、资源等诸多方面因素的限制,难以进行全面的测试。
(3 )如果修正缺陷所需要的时间稍长,那么想将手工测试应用于回归测试将变得异常困难。这是因为需要测试的测试用例太多。
(4 )对测试过程中发现的大量缺陷缺乏科学、有效的管理手段,责任变得含糊不清,没有人能向决策层提供精确的数据以度量当前的工作进度及工作效率。
(5 )反复测试带来的倦怠情绪及其他人为因素使得测试标准前后不一,测试花费的时间越长,测试的严格性也就越低。
(6 )难以对不可视对象或对象的不可视属性进行测试。
【关于手工测试与自动化测试关系的讨论】自动化测试具有的特点:
(1 )高效率的进行测试。
(2 )可以执行一些手工测试困难或者不可能做的测试。
(3 )测试的准确性得到提高,测试人员的技术要求可以降低。
(4 )资源利用率得到提高。
(5 )具有一致性和可重复性。
(6 )有利于进行回归测试。
(7 )测试具有移植性和可重复性。
(8 )缩短测试时间。
手工测试和自动化测试各自的适合场合:
1.测试很少执行的项目中。当测试用例执行额度太小时,我们可以直接使用手工测试。
2.软件运行仍然不稳定时,适合使用手工测试。
3.测试结果很容易通过人验证的测试项目适合手工测试。
4.测试项目中涉及物理交互比较多的时候适合手工测试。如需要经常查看打印机、绘图仪的输出时。
5.软件维护时使用的回归测试适合自动化测试。
6.执行压力测试时适合自动化测试。例如测试服务器的最大访问上限等。
7.配置和兼容性测试等项目适合自动化测试。

    推荐阅读