自动化测试

什么是自动化测试
概念:自动化测试指软件的自动化,在预设状态下运行应用程序或者系统,预设条件包括正常和异常,最后评估运行结果。将人为驱动的测试行为转换为机器执行的过程。

常见的自动化测试工具:
QTP:功能自动化测试工具,测C/S,B/S的软件。
selenium:Web自动化测试工具(B/S)
Rational Rebot:功能自动化测试(B/S,C/S)
appium:测手机APP。
soapul:接口自动化测试(测功能)

重点来说说selenium:支持分布式测试用例的执行,可以把测试用例分不到不同的测试机器的执行,相当于分发机的功能。

自动化工具与自动化框架的区别?
自动化测试框架一般分为两个层次:自动化框架、自动化工具。
自动化框架:是管理整个自动化测试的开发、执行以及维护,再比较庞大的项目中,它体现重要的作用,它可以管理整个自动化测试,包括自动化测试用例执行的次序、测试脚本的维护、以及集中管理测试用例,测试报告和测试任务。
自动化工具:测试脚本的的开发,充分地使用相关的测试工具,构建测试驱动,并完成测试业务逻辑。

自动化测试的演变:测试工具—数据驱动—关键字驱动—测试框架—测试平台

自动化测试方法
测试对象:UI、接口、代码
测试过程:系统测试、集成测试、单元测试
执行人员:测试人员、开发人员
自动化测试可以在整个测试过程中任何一个阶段实施。
测试人员一般会在系统测试时进行自动化测试。
集成测试阶段多进行自动构建、部署、以及冒烟测试的自动化。
单元测试针对代码级别进行测试,可进行静态代码检测,或执行单元测试用例。

UI自动化

  • 用例维护量大

  • 页面相关性强,必须后期介入(功能相对稳定,页面上的元素的相关位置)

  • UI测试适合与界面变动较小的项目。

接口自动化

  • 可在产品前期介入。
  • 用例维护量小
  • 页面相关性小
  • 适合接口变动较小,界面变动频繁的项目

代码的自动化:代码变动小,可进行回归测试、冒烟测试

自动化测试的优势:
降低大型系统的由于变更或者多期开发引起的大量的回归测试的人力投资,自动化测试前期人力投资较多,但是后期进入维护期,可节省大量人力,而手工测试后期需要大量的人来进行回归测试。
优点:
<1>.减少了重复测试的时间,实现快速回归测试
<2>.创建优良可靠的测试过程,减少人为错误。
<3>.可以运行更多更繁琐的测试。
<4>.可以执行一些手工测试困难或不可能进行的测试

如何实施自动化测试

  1. 自动化测试的适用对象
    实施自动化测试的前提条件:需求变动不频繁,项目周期长,自动化测试脚本可以重复使用
  2. 不适合使用自动化测试的项目
    <1>.需求变动频繁,自动化脚本不能够重复使用,维护成本太大,性价比低
    <2>.项目周期短,自动化脚本编制完成后使用次数不多,性价比低
    <3>.交互性较强的项目,需要人工干预的项目,自动化无法实施。
  3. 适合做自动化的项目:
    <1>.产品性的项目
    <2>>机械兵频繁的测试。每次需要输入相同、大量的一些数据,并且在一个项目中运行的周期比较长。

  4. 如何实施自动化测试:
    <1>.分析:总体把握系统逻辑,分析出系统的核心体系架构
    <2>.设计:设计测试用例,测试用例要足够明确和清晰,覆盖面广而精
    <3>.实现:设计脚本,一是断言(判断自动化脚本实际结果与测试用例预期结果是否相等),二是合理的运用参数化。
    <4>.执行:脚本执行过程中的异常需要仔细的分析原因。
    <5>.总结:测试结果的分析,和测试过程的总结是自动化测试的关键。
    <6>.维护:自动化测试脚本的维护
    <7>.分析:在自动测试过程中深刻的分析自动化测试用例的覆盖风险和脚本维护的成本。

你可能感兴趣的:(软件测试)