漳州小鱼网

漳州 [切换城市]
  • 138阅读
  • 0回复

自动化软件测试与人工测试比较

楼层直达
鱼币
544
经验值
564
好评度
0
不良记录
0
微享币
0
  (既然现在有了自动化测试,甚至现在许多团队在使用人工智能的方法,逐渐让机器来取代人的测试。那么作为测试工程师的人未来会不会消失?这是一个摆在许多人面前的一个严肃的问题。去年刚刚过世的著名的天体物理学家斯蒂芬·威廉·霍金(Stephen William Hawking)先生曾经警告世人:未来人工智能也许会是人类的终结者!是否会有这么严重吗?在回答这个问题前,先来看一下自动化测试优势和劣势。
  (1)自动化测试的优势
  ● 自动化测试可以执行手工测试相当困难或根本做不到的测试
  对于软件性能测试中的并发测试、疲劳性测试和强度测试,如果单纯使用人工测试是不可能完成的。记得在作者刚刚从事软件测试那个时候(2002年左右),国内软件性能测试工具少之又少,但是在工作中客户又提出了性能需求,经理竟然让五个工程师打开同一个产品的商品模糊查询界面,输入查询内容,然后经理喊口号:“1、2、3、点”,接下来五个工程师点击【查询】按钮,试图来进行性能并发测试。现在想起来真是觉得可笑。
  还有一种手工测试相当困难的测试是Jams Batch在他的著名的《探索式软件测试》一书中提到的“强迫症测试法”。如果执行用户登录-登出的操作1000次,试图发现程序会不会出现空指针异常或者内存泄漏的问题。如果让一个工程师采用人工的方法来完成,其难度可想而知。
  ● 自动化测试具有一致性和可重复性
  在手工测试的时候,往往会出现测试人员在测试时候发现了缺陷,可是由于时间过得太长,或者缺陷报告中操作步骤描述不清楚,或者其他因素,在给开发人员定位问题的时候不能重现。在排除一些偶发性问题的情况下,采用自动化测试可以有效地防止此类问题的发生。
  ● 自动化脚本完全可复用
  初期采用录制回放的工具进行自动化测试,比如早起的QTP、基于Firefox的Selenium1插件。最主要的原因是由于这些工具对于一些公用的模块难于复用。比如对于登录才可以使用的功能每次开始的时候都要执行登录操作,测试完毕为了让其他测试用例可以继续执行必须执行登出操作。由于早期的工具不具有复用性,相同的操作集中在各个不同的地方,这给软件测试脚本的维护带来的麻烦,而现在的自动化测试脚本均采用类似JAVA、Python这些面向对象的语言来完成,代码的复用发生了很大的改善。目前面向页面的封装、面向业务流的封装成为了自动化测试脚本的“宠儿”。
贷款买车漳州挺不错哦喜欢