自动化测试学习指南

软件自动化测试的学习步骤

大概步骤如下:

1. 做好手工测试(了解各种测试的知识)->  2. 学习编程语言-> 3. 学习Web基础(HTML,HTTP,CSS,DOM,Javascript)或者 学习Winform

-> 4. 学习自动化测试工具 ->5. 学习自动化测试框架 -> 6. 实现自动化测试用例 -> 7. 开发自动化测试工具 ->8. 开发自动化测试框架
 

自动化测试的最高境界是:  开发测试工具,设计自动化测试框架, 让别人用。

自动化测试的本质

自动化测试的本质是:用程序测试程序。 也就是说学习“编程语言”是学习自动化测试的基础。

自动化测试,应该去学什么自动化工具。 我的回答是,第一步:应该先学习编程语言,以后再去学自动化测试工具

自动化测试是一定要写代码的, 编程语言水平的高低决定了自动化测试水平的高低, 有了扎实的编程技术,干什么都可以。

学习编程语言时, 要把自己当做开发人员, 系统地学习各种编程知识。

自动化测试学习的误区

很多新手一开始,就学习复杂的自动化测试工具, 我觉得这样是本末倒置了。

如果不先理解HTTP协议, 就不会理解Jemeter, LoadRunner, Fiddler, SoapUI这些工具的。

如果不先理解HTML,DOM, 就不会理解Firebug 这种工具的

如果不先理解Win32 API,  就不会理解Windows 窗体自动化测试的原理的。

如果自己没有开发过网站, 就不会理解网站的各个方面,测试起来难免有遗漏。

总之学习自动化测试,需要循序渐进, 把基础打好。

自动化测试的职位

自动化测试工程师的职位叫做: (SDET) Software Development Engineer in Test.   专注于自动化测试

手动测试工程师叫:               (STE)Software test enginer.           专注于手动测试

在微软有很多SDET的职位,但是没有STE的职位, STE职位一般都是外包给外包公司的,  目前自动化测试还是非常吃香的。

自动化测试分类

自动化测试也有非常多的种类, 

  1. 对Web UI 的自动化测试程序
  2. 对Windows 窗体UI的自动化测试程序
  3. API测试, 比如(测试WCF service, Web API 等)
  4. 数据库测试, 比如测试存储过程
  5. 接口测试 (这种只能用自动化测) 
  6. 单元测试
  7. 性能测试, 性能测试都需要用到自动化

Web自动化测试分类

目前大部分项目都是Web的, 所以我们说的自动化测试,大部分都是针对Web程序的自动化测试, Web自动化测试分两类: 

第一类是:模拟用户真实操作,比如,模拟点击鼠标,键盘输入,等,去操作浏览器上的控件。 (代表框架有selenium-webdriver,   VS Coded UI)

这类的自动化测试的是通过高级语言(C#, JAVA, Python 等)来调用selenium的一些工具来操作浏览器,帮助我们实行Web UI自动化

第二类是:模拟HTTP请求。 类似于这种【12306火车票网站自动登录工具】, 这方面的知识,目前市面上资料比较少。 (以后我会出一个系列的教程)

自动化测试的知识点 

应该像开发人员一样的心态去学习技术, 自动化测试需要掌握以下的知识:

了解Javascript, CSS的知识。 

熟练掌握DOM和HTML知识, (用来解析Web界面)

熟练掌握XML技术,(需要用XML保存测试数据,用XML展现测试报告)

熟练使用C# P/inoke技术调用Windows API (可以用来操作Winform 窗口)

熟练掌握窗体"句柄"的概念

熟练使用C# 操作Windows 注册表 

熟练使用C# 中的Process 类

熟练掌握数据库的基本操作语句 (测试数据库肯定要用到)

熟练掌握HTTP协议的知识 (请参考我的 HTTP系列博客 [HTTP协议详解])

熟练掌握C# 中的HttpWebRequest 类的用法 (用于模拟HTTP请求)

熟练掌握正则表达式

自动化测试的书籍推荐

关于软件自动化测试的书,真心不多, 我查过市面上所有关于自动化测试的书,只找到下面这边书, 掌握了这边书,基本上自动化测试就入门了。 

  

自动化测试工具

测试套件工具: JUnit,  Nunit,  MSTest,  这几个工具功能都一样学起来比较简单。   

性能测试工具: JMeter, VSTS 负载测试, LoadRunner(收费), QTP(收费)

Web UI 测试框架:WebDriver/Selenium,  VSTS Coded UI, Watri

Windows UI 测试框架:VSTS Coded UI 

其他工具:   firebug,  Fiddler 

Python接口自动化测试零基础入门到精通(2023最新版)

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/177440.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C++ Day04 this指针,友元函数,重载

this指针 概念 谁调用 this 所在的函数 ,this 就存储谁的地址 特点 1, 在当前类的非静态成员函数中调用本类非静态成员时 , 默认有 this 关键字 2, 静态成员函数 , 没有 this 指针。 示例 #include <iostream> #include <cstring> using namespace std; class S…

stm32定时器输入捕获模式

频率测量 频率测量有两种方法 测频法&#xff1a;在闸门时间T内&#xff0c;对上升沿或下降沿计次&#xff0c;得到N&#xff0c;则评率fxN/T测周法&#xff1a;两个上升沿内&#xff0c;以标准频率fc计次得到N&#xff0c;则频率fx fc/N中界频率&#xff1a;测频法和测周法误…

学习MySQL先有全局观,细说其发展历程及特点

学习MySQL先有全局观&#xff0c;细说其发展历程及特点 一、枝繁叶茂的MySQL家族1. 发展历程2. 分支版本 二、特点分析1. 常用数据库2. 选型角度及场景 三、三大组成部分四、总结 相信很多同学在接触编程之初&#xff0c;就接触过数据库&#xff0c;而对于其中关系型数据库中的…

【C++】类和对象——构造函数和析构函数

今天要学习两个特殊的函数&#xff0c;分别是构造函数和析构函数&#xff0c;它们究竟有什么用呢&#xff1f; 比如说&#xff0c;我们先写一个简单的日期的类 class Date { public:void Init() {_year 1;_month 1;_day 1;}void Print() {cout << _year << &qu…

JavaScript 运行机制

文章目录 JavaScript 运行机制目标知识要点一、进程与线程1.1 概念1.2 区别1.3 多进程与多线程1.4 JS 为什么是单线程1.5 浏览器1.5.1 浏览器包含哪些进程1.5.2 为什么浏览器要多进程1.5.3 渲染进程1.5.3.1 GUI 渲染线程1.5.3.2 JS 引擎线程1.5.3.3 事件触发线程1.5.3.4 定时触…

Windows权限维持方法论

Windows权限维持方法论 1.注册表自启动2.组策略设置脚本启动3.计划任务4.服务自启动5.dll劫持6.直接上远程控制木马 1.注册表自启动 通过修改注册表自启动键值&#xff0c;添加一个木马程序路径&#xff0c;实现开机自启动 常用的注册表启动键&#xff1a; # Run键 HKEY_CU…

echarts移动markline(拖拽单条markline)

echarts移动markline&#xff08;拖拽单条markline&#xff09; 效果 问题由来&#xff1a; 图表中需要一个移动的标线&#xff0c;辅助观察图表&#xff1b; 想法&#xff1a; 意思是在原来点或者原来标线上新增一个图层&#xff0c;拖动图层动态绘制新的点或者新的标线; 参考…

【C++初阶】STL详解(五)List的介绍与使用

本专栏内容为&#xff1a;C学习专栏&#xff0c;分为初阶和进阶两部分。 通过本专栏的深入学习&#xff0c;你可以了解并掌握C。 &#x1f493;博主csdn个人主页&#xff1a;小小unicorn ⏩专栏分类&#xff1a;C &#x1f69a;代码仓库&#xff1a;小小unicorn的代码仓库&…

万字解析:十大排序(直接插入排序+希尔排序+选择排序+堆排序+冒泡排序+快速排序+归并排序+计数排序+基数排序+桶排序)

文章目录 十大排序排序算法复杂度及稳定性分析一、 排序的概念1.排序&#xff1a;2.稳定性&#xff1a;3.内部排序&#xff1a;4.外部排序&#xff1a; 二、插入排序1.直接插入排序2.希尔排序 三、选择排序1.直接选择排序方法一方法二直接插入排序和直接排序的区别 2.堆排序 四…

这是大学生就业网站最基础的布局。

<!DOCTYPE html> <html> <head> <title>大学生就业网站</title> <style> /* Reset default margin and padding */ *, *::before, *::after { margin: 0; padding: 0; box-s…

算法刷题-动态规划2

算法刷题-动态规划2 珠宝的最高价值下降路径最小和 珠宝的最高价值 题目 大佬思路 多开一行使得代码更加的简洁 移动到右侧和下侧 dp[ i ][ j ]有两种情况&#xff1a; 第一种是从上面来的礼物最大价值&#xff1a;dp[ i ][ j ] dp[ i - 1 ][ j ] g[ i ][ j ] 第二种是从左…

FPGA设计时序约束九、others类约束之Group Path

目录 一、序言 二、Group Path 2.1 基本概念 2.2 设置界面 2.3 命令语法 2.4 命令示例 三、工程示例 四、参考文件 一、序言 在Vivado的时序约束窗口中&#xff0c;存在一类特殊的约束&#xff0c;划分在others目录下&#xff0c;可用于设置忽略或修改默认的时序路径分…

如何判断客户对你是不是真的满意

我们平时生活中打个滴滴、叫个外卖&#xff0c;都会让做星级评价&#xff0c;就算去银行办业务&#xff0c;也会让按个按钮&#xff0c;对窗口的服务做个评价…… 再问一个问题&#xff1a;客户满意了&#xff0c;您的生意就一定好吗&#xff1f; 一、满意度&#xff1a;质量监…

EDIFACT学习手册

EDIFACT 又名 UN/EDIFACT&#xff08;全称为 United Nations/Electronic Data Interchange For Administration, Commerce and Transport&#xff09;&#xff0c;是由联合国主导开发制定的国际通用 EDI 标准。EDI术语中的EDIFACT是指 EDIFACT 报文标准&#xff0c;本视频将为大…

python接口自动化封装导出excel方法和读写excel数据

一、首先需要思考&#xff0c;我们在页面导出excel&#xff0c;用python导出如何写入文件的 封装前需要确认python导出excel接口返回的是一个什么样的数据类型 如下&#xff1a;我们先看下不对返回结果做处理&#xff0c;直接接收数据类型是一个对象&#xff0c;无法获取返回…

Postman API Enterprise 10.18.1 Crack

适合您企业的 Postman API 平台 掌控您的 API 环境。构建更好的 API。加快产品开发。 无论您处于 API 之旅的哪个阶段&#xff0c;Postman 都会为您提供帮助 想让您团队的 API 更容易被发现吗&#xff1f;希望减少开发和质量检查之间的滞后时间&#xff1f;想要更快地让新开发…

2023年09月 Scratch(二级)真题解析#中国电子学会#全国青少年软件编程等级考试

Scratch等级考试(1~4级)全部真题・点这里 一、单选题(共25题,每题2分,共50分) 第1题 点击绿旗,运行程序后,舞台上的图形是?( ) A:画笔粗细为4的三角形 B:画笔粗细为5的六边形 C:画笔粗细为4的六角形 D:画笔粗细为5的三角形 答案:D 第2题 如下图所示,从所给…

AI一点通:卷积神经网络的输出节点大小如何计算?全连接层必要输入大小如何设置

在使用卷积网络&#xff08;CNN&#xff09;时&#xff0c;一个步骤是计算经过卷积和池化步骤后的输出大小&#xff0c;以便我们可以将输出连接到一个完全收集的线性层。 以Pytorch中的一维CNN为例&#xff0c; self.conv1 nn.Conv1d(in_channels1, out_channels64, kernel_s…

地图导航测试用例,你get了吗?

地图导航是我们经常使用的工具&#xff0c;能帮助我们指引前进的方向。 接下来&#xff0c;会从功能测试、UI测试、兼容测试、安全测试、网络测试、性能测试、易用性测试、文档和国际化语言测试8个方面来编写地图导航测试用例。 一 功能测试 输入起点和终点&#xff0c;验证…

你了解Postman 变量吗?

变量是在Postman工具中使用的一种特殊功能&#xff0c;用于存储和管理动态数据。它们可以用于在请求的不同部分、环境或集合之间共享和重复使用值。 Postman变量有以下几种类型&#xff1a; 1、环境变量&#xff08;Environment Variables&#xff09;: 环境变量是在Postman…