python自动化测试-自动化基本技术原理

这篇具有很好参考价值的文章主要介绍了python自动化测试-自动化基本技术原理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1   概述

在之前的文章里面提到过:做自动化的首要本领就是要会 透过现象看本质 ,落实到实际的IT工作中就是 透过界面看数据

掌握上面的这样的本领可不是容易的事情,必须要有扎实的计算机理论基础,才能看到深层次的本质东西。

2   应用软件逻辑结构

数据库应用系统 可能是最典型的网络应用程序了,关于它的软件架构如下:

python自动化测试-自动化基本技术原理,软件测试工程师,软件测试,自动化测试,自动化,运维,自动化测试,软件测试,功能测试,python,程序人生

一般在逻辑上分为4层:

用户界面层 UI

为终端用户提供交互的人机界面

业务逻辑层 BLL

将数据库抽象出来的对象进行拼接成具体的业务逻辑对象,并对之进行流程组织

数据访问层 DAL

对DB层做的ORM,让上层应用程序以对象的方式操控数据库

数据持久层 DB

存储数据,对数据进行持久化,不同的客户端进行数据共享

在传统的 C/S 架构下应用程序(例如,Windows下的客户端应用程序),一般都是一台中央数据库服务器( DB ),然后对应N台客户端(DAL-BLL-UI )。

对于 初级测试人员 来说,可能对软件的理解只能停留在 UI 层,于是在测试时候能做到的事情就是:日复一日,年复一年地用鼠标 点点点了。

3   互联网软件架构

在前一部分里面提到的应用软件的基本架构,虽然是在 “C/S” 时代提出来的,但是后面却一直延续到现在 。直到今天最普遍的 “ABC/S” 模式:

  • App/Server
  • Browser/Server
  • Client/Server

其实本质上就把UI这一层放在客户端,把UI以下放在Server端。

客户端在不同的平台下面有不同的表现形式,就形成了现在流行的所谓的 “ABC/S” 模式的架构,这个基本上已经成为目前的互联网产品的标配了。具体的架构如下:

python自动化测试-自动化基本技术原理,软件测试工程师,软件测试,自动化测试,自动化,运维,自动化测试,软件测试,功能测试,python,程序人生

服务器端和客户端之间采用 Http/Https 的通讯协议,数据交换的格式为 Xml/Json 格式。

基于以上模式之后,软件测试的方法论就发生了一些变化:

有了 性价比 最高的“基于于通讯编码格式的接口测试”,属于花20%就能解决80%的工作
接口测试完全可以进行自动化,而且不必强制和开发项目使用相同的语言,可以统一使用效率较高的脚本语言
接口 天然就具有稳定性的需求,所以自动化测试项目不会存在反复折腾的现象
接口测试人员成为了众多平台之间的 裁判员
接口规范来自设计文档,可以实行 设计产生测试,测试驱动开发 的规范模式
有了抽象成数据的能力之后,那么很多看到的东西就可以进行合理的等价转换了:

web页面背景的是红色

等价于:背景元素的background的颜色属性是 #FF0000

按钮上显示的字为"Submit"

等价于:按钮元素的value值为 Submit

用户执行一次充值活动充了20块钱,他的账号上就多了20元

等价于:以20为参数调用充值接口,再对比前后两次调用账号查询的接口,相差刚好是充值的参数值

在数据层次编程进行比较就变得很容易了,因为这些都是计算机擅长处理的领域了,自动化也很自然地实现了。

4   更底层的原理

前面讲到了对把软件项目从看到的具体的界面往底层一点抽象成数据的方法。其实还有一些更底层,更绝的,对软件的数据还可以更底层一点和物理世界建立关联(这已经不好用“抽象”或者“具象”来描述了)。

本部分的内容,已经和应用软件的测试的话题有点扯远了,纯粹就当科普吧。

从更广泛的角度来看一个计算机系统,它给人的体验上本质上是做了如下的处理:

python自动化测试-自动化基本技术原理,软件测试工程师,软件测试,自动化测试,自动化,运维,自动化测试,软件测试,功能测试,python,程序人生

人的所有的直观体验都是来自于对模拟量(物理量)的体验,人的交互输入也是来自于模拟量的输入。

人敲击键盘向计算机系统输入文字,键盘将不同一键位产生的脉冲电流传入计算机系统,计算机系统通过芯片和驱动,将这些电流信号转化成数字信号,然后交付数字芯片处理。这样人就完成了 信息的输入 。

计算机系统对这些数据进行计算,存储,传输等等,最后在LCD显示器上通过点亮不同位置的点阵,以形成光学的模拟量输出,传送到人的眼睛里面,人就完成了 信息的获取 。

以上的例子可以简化为:力学物理量产生电学物理量进行输入,计算机数字系统处理后,光学物理量进行输出。

对于计算机系统,输入和输出都是多样的:

输入装置

各种传感器都可以作为输入的主力,比如现在蓬勃发展的智能硬件,以及炒得火热的 物联网。

输出装置

除了光学的LCD显示器,还有声学的扩音器,还有滚动的轮式机械力学,还有人形走路的机械手臂力学设备。

这些东西都已经是现在互联网行业很流行的元素了。

由于电子技术和通讯领域往往检测的都是物理量,肉眼是很难量化的,所以测试门槛会很高,但是各种检测仪器反而发展得相当好,自动化程度相当高。反观IT行业的上层的应用软件层,人却都过多的依赖于人工去操作,肉眼去观察了,反而忽视了自动化,导致测试行业一直人员素质不高,技术实力太弱,这显然是很不可取的,至少是很不符合目前软件工程行业的时代需求的。

5   小结

本文对应用软件进行了逻辑上的分层,来阐述了软件自动化测试和基本原理,在文章的后半部分对目前流行的 智能硬件 所涉及的电子技术的自动化测试也进行了简单的探讨,希望能够给从来 自动化测试的人也有一点启发。

后面的系列文章将从技术层次来落地这些理论。

总结起来,对于想入这行而且想有深入发展的人,有如下几个结论和建议:

软件的本质不是界面而是数据
要了解软件的本质,必须必须要有良好的计算机基础
从事互联网行业的人可以熟悉linux,尽早建立这种 软件即数据 的世界观
接口做自动化测试是最投入回报比最高的(来自Google的工程师的观点)
要想做好自动化测试,必须有软件开发能力和系统的设计能力
写到这里,最后容我 “安利” 一下 Linux ,因为相比 MacOS 和 Windows 系统,Linux 在界面这一块做得不太好,但是却有强大的CLI交互,支持强大的脚本编写,对于实现自动化是很有帮助的。

(未完,待续。。。)

后续将开始继续书写 python的自动化工具和编程应用了。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

python自动化测试-自动化基本技术原理,软件测试工程师,软件测试,自动化测试,自动化,运维,自动化测试,软件测试,功能测试,python,程序人生

软件测试面试小程序

被百万人刷爆的软件测试题库!!!谁用谁知道!!!全网最全面试刷题小程序,手机就可以刷题,地铁上公交上,卷起来!

涵盖以下这些面试题板块:

1、软件测试基础理论 ,2、web,app,接口功能测试 ,3、网络 ,4、数据库 ,5、linux

6、web,app,接口自动化 ,7、性能测试 ,8、编程基础,9、hr面试题 ,10、开放性测试题,11、安全测试,12、计算机基础

python自动化测试-自动化基本技术原理,软件测试工程师,软件测试,自动化测试,自动化,运维,自动化测试,软件测试,功能测试,python,程序人生

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!   文章来源地址https://www.toymoban.com/news/detail-685501.html

到了这里,关于python自动化测试-自动化基本技术原理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python自动化测试 环境搭建 Selenium、WebDriver下载、安装、配置、基本使用详解

    基本于Python语言 和 Selenium框架,使用PyCharm 开发环境,详细介绍自动化测试环境的搭建 以及 基本的使用方法。 Python环境目前已被大部分主流操作系统所支持,比如在Linux、Mac、Unix等系统上就自带了Python环境,但在Windows系统上目前还需要自己安装,(当然如已经安装过了的话

    2024年02月03日
    浏览(66)
  • Python爬虫技术系列-06selenium完成自动化测试V01

    使用selenium库完成动点击下一页,点击视频操作等过程, 如果你非要说这是XX,那我也不过多辩解,毕竟 批评不自由,赞美无意义 。 本案例仅是技术演示,所以会隐去相关网址等,读者可以重点查看这里使用的selenium技术点即可。另外本版本为V01版本,所以仅仅是可用,很多

    2024年02月05日
    浏览(47)
  • Python爬虫技术之Selenium自动化测试及模拟点击页面爬虫最全知识

    Selenium是一套Web网站的程序自动化操作解决方案(比如点击界面按钮,在文本框中输入文字等操作) Selenium的自动化原理如下 3.1 下载selenium库的命令 3.2 下载谷歌浏览器Chrome对应的驱动 驱动库网址:http://chromedriver.storage.googleapis.com/index.html 注意:根据自己的Chrome版本进行选择

    2024年01月16日
    浏览(68)
  • 浏览器常用基本操作之python3+selenium4自动化测试(基础篇)

    1、打开指定的网页地址 我们使用selenium进行自动化测试时,打开浏览器之后,第一步就是让浏览器访问我们指定的地址,可使用get方法实现 1 2 3 from selenium import webdriver driver = webdriver.Edge() driver.get( \\\'https://www.baidu.com/\\\' )   # 本行用于访问指定的地址 2、获取当前页面url 我们在

    2024年02月01日
    浏览(71)
  • 〖Python WEB 自动化测试实战篇⑦〗- 实战 - selenium的基本元素操作与键盘鼠标模拟事件操作

    订阅 Python全栈白宝书-零基础入门篇 可报销! 白嫖入口-请点击我。 推荐他人订阅,可获取扣除平台费用后的35%收益,文末名片加V! 说明:该文属于 Python全栈白宝书专栏, 免费阶段订阅数量4300+ , 购买任意白宝书体系化专栏可加入 TFS-CLUB 私域社区。 福利:加入社区的小伙

    2023年04月08日
    浏览(58)
  • web自动化测试项目自动化测试的技术方案、实施办法和计划安排

    1.1.  文档版本 版本 作者 审批 备注 V1.0 Vincent XXX 1.2.  项目情况 项目名称 XXXXXXXX 项目版本 V2.31 项目经理 XXX 测试经理 Vincent 所属部门 XXXXXXX 1.3. 文档目的 本文档主要用于指导XX项目自动化测试的开展。本文档的主要目的在于提供项目自动化测试的技术方案、实施办法和计划

    2023年04月09日
    浏览(45)
  • 自动化测试软件Ranorex的基本运用

    在软件产品开发过程中,测试的工作具有重要的意义,测试的工作结果对产品的质量起到重要的作用。但是在复杂的环境和需求的情况下,测试的工作量与日俱增,成为影响产品成本的重大因素。于是一系列自动化测试工具应运而生,Ranorex就是其中的佼佼者。 我们主要讲一

    2024年02月06日
    浏览(36)
  • 五种不同自动化测试模型的基本介绍

    随着移动互联网的发展,软件研发模型逐步完善,软件交付质量越来越受到软件公司的重视,软件测试技术特别是自动化测试技术开始在软件系统研发过程中发挥着越来越重要的作用。 与传统的手工测试技术相比,自动化测试具备了良好的可操作性、可重复性和高效率等特点

    2024年02月16日
    浏览(35)
  • 【测试人生】测试工程如何去学习接口自动化技术

      提高生产力:自动化可以帮助您在短时间内完成重复性工作,从而大大提高生产力。自动化不仅减少了手动执行任务所需的时间和精力,还减少了出错的风险。 质量保证:自动化测试可以确保软件在修改后仍然按预期运行,从而提高产品质量。自动测试可以发现潜在的问题

    2024年02月07日
    浏览(52)
  • 软件测试/测试开发丨Selenium Web自动化测试基本操作

    本文为霍格沃兹测试开发学社学员学习笔记分享 原文链接:https://ceshiren.com/t/topic/26901 模拟功能测试中对浏览器的操作 get方法打开浏览器 refresh方法刷新页面 用back方法回退到上一个界面 maximize_window方法使窗口最大化 minimize_window方法使窗口最小化 标签: a 属性:href 类属性

    2024年02月10日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包