您现在的位置是:首页 >其他 >「功能测试进阶到自动化测试」一路走来都离不每个阶段的计划网站首页其他

「功能测试进阶到自动化测试」一路走来都离不每个阶段的计划

测试界清流 2024-07-03 18:01:02
简介「功能测试进阶到自动化测试」一路走来都离不每个阶段的计划

关于「从功能测试,转岗到自动化测试」,主要的几个问题 :

001

目前一直在走功能测试,工作中也没有机会接触自动化测试 。想后续从事自动化测试,我应该从哪里开始学 ?

解答:自动化 ,可以是功能自动化、接口自动化、UI自动化 等等 。另外一个误区:自动化,不仅仅只是会几个自动化测试工具,或者会写点代码 。成熟的自动化测试人员 ,应该是要了解业务,了解为什么要启用自动化,启用自动化后产生了哪些价值 ?是提升效率了,还是提升质量了(很多时候,为了自动化而自动化,导致效率低下,问题上升) ?

002

已经自学了一段自动化测试知识了,现在遇到了疑惑 。是去找一家有自动测试团队的功能测试岗位,还是继续自学,找机会直接找一份自动化测试岗位(找机会内部专岗,还是直接跳槽到自动化岗位) ?

解答:如果是完全没经验,直接找自动化测试岗位,挺难的 。最好的机会,是内部接触一些自动化测试项目 / 经验 ,沉淀OK后,找机会跳槽到一个自动化测试岗位 。

最后,还是那个建议:别裸辞、别裸辞、别裸辞 。

工作中,自己去沉淀知识技能 ,而不是日复一日的重复性无脑劳动 。

很多同学说,工作中,没机会接触自动化测试 。

那么问题来了:

你测试的项目,自己用postman玩一下接口测试,没问题吧 。

把调通的接口,集成到jenkins,每天持续性运行没问题吧 ;

通过Jmeter获取上游接口值,完全场景闭环接口,没问题吧 。

你看 ,并不是工作中,没机会接触,只是自己懒 。

别找借口了 。

至于如上的这些工具,如何用 ?

进阶Python接口自动化测试必备教程(2023全网最详细)

又有些小伙伴问了?怎么学习自动化呢?

接下来我就给大家安利一下自动化测试学习路线

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

大概步骤如下:

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请求。

七、自动化测试的知识点 

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

了解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 

​​

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。