第二章:如何学习自动化测试

最近园子里很多做软件测试的朋友问我,如何学习自动化测试(Automation test)。 有些人说平常的测试工作很枯燥无味,没有技术含量,迷失了方向。 还有的说闲得要命,想学点自动化测试。

自动化测试是我们高级软件测试人员必备的技能。高级软件测试人员不光会做测试,还会做开发。

我从自己8年的经验出发,总结了下我对自动化测试的看法。如有不对的地方, 还请大家纠正。

 

阅读目录

  1. 软件自动化测试的学习步骤
  2. 自动化测试的本质
  3. 自动化测试学习的误区
  4. 自动化测试的职位
  5. 自动化测试分类
  6. Web自动化测试分类
  7. 自动化测试的知识点
  8. 自动化测试的书籍推荐
  9. 自动化测试工具

 

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

大概步骤如下:

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 

 

 
 
 
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 《K8S学习指南PDF》是一本非常有用的指南,它为初学者提供了一份清晰明了的指南,帮助他们学习K8S的基本概念、架构和运作方式。这本指南对于那些希望学习Kubernetes技术并开始构建容器化应用程序的人来说非常重要。在这本指南中,读者可以了解到Kubernetes的主要特点,包括它如何管理和调度容器,并将这些容器部署到集群中。 此外,这本指南还介绍了Kubernetes的核心组件和它们的作用,例如etcd、kube-apiserver、kube-controller-manager、kube-scheduler和kubelet。阅读本指南后,读者将了解到这些组件如何协同工作,以及它们是如何创建、管理和监视容器化应用程序的。 除此之外,《K8S学习指南PDF》还讨论了Kubernetes的一些高级概念,例如自动伸缩、滚动更新和容器网络(CNI)。这些概念将有助于读者充分理解Kubernetes如何支持现代应用程序开发的需求,包括动态伸缩、A/B 测试和分布式应用程序。 总而言之,《K8S学习指南PDF》是一份非常有价值的指南,适合那些想要学习Kubernetes和容器化技术的人使用。它提供了深入浅出的介绍,为读者提供了一个良好的理解Kubernetes和容器化这一创新技术的基础。 ### 回答2: Kubernetes(k8s)是一种流行的容器编排系统,能够自动管理和部署容器化应用程序。而"k8s学习指南"是一本面向初学者的指南性书籍,旨在帮助读者了解Kubernetes技术。本书包含了Kubernetes的基础概念、架构、核心组件、资源对象等核心知识点,并通过多个实践、案例,帮助读者深入了解Kubernetes应用的实际操作过程。总之,该书的重点在于让读者系统地学习和理解Kubernetes的各个方面,为他们快速掌握这一技术打下坚实的基础。 以下是本书的主要内容简介: 第一章介绍了Kubernetes的核心概念及背景知识,以及容器化技术的概述。 第二章重点介绍了Kubernetes的架构、组件、工作原理等核心知识点; 第三章详细解析Kubernetes的核心概念和术语,如:pod、service、replication controller、deployment、statefulset、cronjob等。 第四章介绍了如何安装、配置和使用Kubernetes,包括使用Minikube和Kubernetes in Docker(KinD)进行本地测试等。 第五章介绍了Kubernetes的网络和存储,包括服务发现、负载均衡等不同方面的网络设置。 第六章介绍了Kubernetes的日志和监控,如何生成和收集日志、如何监控Kubernetes集群和应用程序等。 总的来说,这本书对于初学者来说非常友好,通过简单易懂的表述和大量实践案例的引入,能够帮助读者轻松地掌握Kubernetes技术。 ### 回答3: k8s学习指南PDF是一份帮助初学者了解Kubernetes的指南手册。需要指出的是,Kubernetes被广泛认为是容器编排中最好的开源平台,它允许在虚拟或物理机器集群中管理容器化应用程序。它提供了一个简单而可靠的平台,用于快速的容器化应用程序。在这个PDF指南中,使用者将学习到Kubernetes的基础知识,例如Kubernetes的核心构建块,如Pod,ReplicaSet,Deployment等。此外,学习者还将了解如何配置Kubernetes集群,并了解如何使用Kubernetes的持久化存储,例如ConfigMaps和Secrets来管理配置和敏感数据。它还将讨论如何使用Ingress控制器来公开Kubernetes中的服务。学习者可以理解rkt和Docker这两种容器运行时集成Kubernetes的方式以及如何将容器注册到Kubernetes中。除了这些基础知识,学习者还可以了解如何使用Kubernetes的一些应用程序开发和管理工具,例如Helm和Kubectl。总之,这个Kubernetes学习指南PDF为初学者提供了一个全面的指南,其中详细解释了Kubernetes的所有基础知识和工具。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值