自动化测试-针对小白

什么是自动化测试

  • 自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。在此过程中,为了节省人力、时间或硬件资源,提高测试效率,便引入了自动化测试的概念。
  • 自动化测试的成本包括自动测试开发成本、自动测试运行成本、自动测试维护成本和其他相关任务带来的成本(付费的开发工具、相关工具的开发成本)

为什么要进行测试自动化

• 自动化测试的优点:

  1. 能执行更多、更频繁的测试,使某些测试任务的执行比手动方式更高效
  2. 自动化测试能完成一些手工测试不能完成或者比较难以完成的任务,比如:疲劳测试,压力测试
  3. 自动测试具有一致性和可重复性的特点,而且测试更客观,提高了软件的信任度。
  4. 自动化测试可以充分利用资源,只要有机器资源自动化脚本可以日夜不停地跑。这样可以缩短测试周期,进而缩短交付周期。

自动化测试的局限

  1. 一开始的自动化脚本开发成本投入大:开始会觉得开发一个测试脚本的时间可以执行case几十遍甚至一百多遍
  2. 自动化测试需要测试人员具有更高的技术能力
  3. 测试脚本的运行和维护需要额外的投入
  4. 测试执行结果需要人工分析,大部分测试失败原因是测试脚本不稳定和产品功能出现变动(后面会讨论如何让测试脚本更稳定)
  5. 自动化测试不够智能,还不能完全代替人的劳动。诸如界面布局,易用性等测试,自动化测试还不能代替人工测试

自动化测试包括哪些部分

• 准备部分:环境和数据准备
• 用例步骤执行部分:测试步骤的实现
• 清理部分:数据的清理和环境的还原

自动化测试脚本的执行

• 除了开发测试脚本,还需要保证测试脚本的能自动的周期性的运行:比如说在一个产品开发周期结束,需要运行全面的回归测试。在测试脚本准备好的情况下,可以去执行这些测试脚本。试想下该如何去执行这些脚本?

  • 一个个手动执行?
  • 借助测试工具,执行指定的用例
  • Batch程序批量运行
  • 持续集成工具(Jenkins)

测试用例是测试脚本的基础

• 测试脚本实现哪些功能是由测试用例决定的
• 不要去实现额外功能
• 如果需要实现额外的功能,要先修改测试用例

测试代码评审和版本控制

• 测试代码经过评审后才能加到Check in代码库

  1. 代码要遵守统一的规范,比如说标识符按照驼峰式命名,具体可参考谷歌代码规范https://github.com/google/styleguide
  2. 代码评审可以发现测试代码中的错误
  3. 经过评审后的代码更易于维护
    • 测试代码,编程语言,测试工具,集成开发环境(IDE)版本控制
  4. 在Java中测试工具会以一系列Jar文件的形式提供,这些文件会依赖于Java的JDK。 假如我们一开始是在JDK1.8下开发的测试代码,如果不经测试换成JDK9就很可能导致我们的测试代码运行失败
  5. 版本控制可以帮助我们更好的定位问题

测试框架的选择

• 接口测试:

  • SOAPUI
  • Postman
  • JMeter

单元测试

  • Junit
  • TestNG
  • NUnit
  • Pytest

• UI Automation

  • Selenium(Web UI):支持Java,python,ruby,C#
  • CodedUI(WinForm)
  • QTP
  • Appium(移动端自动化测试)

• 性能测试

  • Jmeter
  • LoadRunner

• 选择最适合自己的测试框架

  • 开源的
  • 用户量多的:遇到问题容易找到解决方案
  • 适合自己测试类型的
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值