本篇文章,从第二个角度来谈软件测试的方法,按是否需要手工执行来划分,可以分为

  1. 手工测试

  2. 自动化测试

1、手工测试

指的是由人来一个一个地按照测试用例进行操作,观察结果。

由此可见,手工测试,并不是漫无目的地点点点。当然,也有相应的工具能模仿这种操作,例如,移动端会使用 monkey 来模拟人对一款应用的随机点击。

其次,手工测试需要依据测试用例来逐步操作,将得到的结果与预期结果进行对比。

很多人觉得手工测试非常原始,在人工智能的迅猛发展下,会被淘汰。其实不然,在相对长的一段时间里,手工测试依然无法被替代。

人工智能,最难模仿的就是人的思维,不会像人那样去思考,只是在收集了大量数据的基础上,找出人类行为的规律而已。

因此,手工测试,依然是必须的一种测试方法。

2、自动化测试

将人为驱动的行为,转化为机器执行的一个过程,并且在预设条件下运行系统或应用程序,评估运行结果。

关于自动化测试,按照开发阶段,可以划分为:

  1. 单元自动化测试

  2. 接口自动化测试

  3. UI 自动化测试

要实现自动化,当然需要用到工具。

在浏览器上实行自动化测试,可以用到 Selenium,移动端的 APP 上可以用 Appium。

既然自动化测试用着这么好,那是不是所有的操作都可以使用自动化测试呢?

其实不然,适合使用自动化测试的项目,有以下特点:

  1. 需求变更有计划性,并且频率不高

  2. 项目周期长,资源丰富

  3. 脚本重复利用率高

  4. 代码规范

因此,自动化测试适合用来测非常基础、没有业务依赖的基础性功能。

3、区别

通过上述的描述,似乎并没有切身感受到自动化带来的震撼。接下来,我用软件和生活领域的例子,让你感受感受。

假设有一个用例:

验证百度的登陆功能:

1、输入用户名 --> 2、输入密码 --> 3、点击登录按钮 --> 4、验证是否能正常登陆

以上这个简单的测试用例,手工执行 1 次还好,执行 10 次也还可以接受,但是,如果是 100 次,1000 次呢?有点受不了了吧,这时候,自动化测试该登场了。

我录制了一段使用 Selenium 工具实现自动化操作的视频,可以点击进去感受下:

多线程远程自动化测试

在生活上,我们也享受着自动化给我们带来的便利。

例如,在美国,自动化技术已经广泛应用到耕种上,极大的提高了工作效率,只需要 1-2 个人,就可以完成过去传统耕种方式下,100 人的工作量。

来看看传统的手工耕种方式,从翻土地到播种,再到后来的收割,都需要人辛辛苦苦地进行重复劳动。

对比下现代的自动化耕种,从翻土地到播种,再到后来的收割,只需要用机器,一个人就可以完成。

以上就是本篇文章所要分享的内容,欢迎各位大牛指正。你的指正,能让我在测试之路上快速成长。

Leo Never Stop Fighting!


↙↙↙阅读原文可查看相关链接,并与作者交流