本篇文章,从第二个角度来谈软件测试的方法,按是否需要手工执行来划分,可以分为
手工测试
自动化测试
1、手工测试
指的是由人来一个一个地按照测试用例进行操作,观察结果。
由此可见,手工测试,并不是漫无目的地点点点。当然,也有相应的工具能模仿这种操作,例如,移动端会使用 monkey 来模拟人对一款应用的随机点击。
其次,手工测试需要依据测试用例来逐步操作,将得到的结果与预期结果进行对比。
很多人觉得手工测试非常原始,在人工智能的迅猛发展下,会被淘汰。其实不然,在相对长的一段时间里,手工测试依然无法被替代。
人工智能,最难模仿的就是人的思维,不会像人那样去思考,只是在收集了大量数据的基础上,找出人类行为的规律而已。
因此,手工测试,依然是必须的一种测试方法。
2、自动化测试
将人为驱动的行为,转化为机器执行的一个过程,并且在预设条件下运行系统或应用程序,评估运行结果。
关于自动化测试,按照开发阶段,可以划分为:
-
单元自动化测试
-
接口自动化测试
-
UI 自动化测试
要实现自动化,当然需要用到工具。
在浏览器上实行自动化测试,可以用到 Selenium,移动端的 APP 上可以用 Appium。
既然自动化测试用着这么好,那是不是所有的操作都可以使用自动化测试呢?
其实不然,适合使用自动化测试的项目,有以下特点:
-
需求变更有计划性,并且频率不高
-
项目周期长,资源丰富
-
脚本重复利用率高
-
代码规范
因此,自动化测试适合用来测非常基础、没有业务依赖的基础性功能。
3、区别
通过上述的描述,似乎并没有切身感受到自动化带来的震撼。接下来,我用软件和生活领域的例子,让你感受感受。
假设有一个用例:
验证百度的登陆功能:
1、输入用户名 --> 2、输入密码 --> 3、点击登录按钮 --> 4、验证是否能正常登陆
以上这个简单的测试用例,手工执行1次还好,执行10次也还可以接受,但是,如果是100次,1000次呢?有点受不了了吧,这时候,自动化测试该登场了。
我录制了一段使用 Selenium 工具实现自动化操作的视频,可以点击进去感受下:
在生活上,我们也享受着自动化给我们带来的便利。
例如,在美国,自动化技术已经广泛应用到耕种上,极大的提高了工作效率,只需要1-2个人,就可以完成过去传统耕种方式下,100人的工作量。
来看看传统的手工耕种方式,从翻土地到播种,再到后来的收割,都需要人辛辛苦苦地进行重复劳动。
对比下现代的自动化耕种,从翻土地到播种,再到后来的收割,只需要用机器,一个人就可以完成。
以上就是本篇文章所要分享的内容,欢迎各位大牛指正。你的指正,能让我在测试之路上快速成长。
Leo Never Stop Fighting!