一、学习基础
在我们进行学习自动化测试这项工作之前, 我们需要首先去掌握编程语言的这些基础知识部分。这些基础知识的涵盖范围相当广泛, 它包括了像语法的掌握、对数据类型的理解、函数的使用、模块的引入与使用、类的创建与应用,还有异常处理这个部分内容等这些方面。
这些基础知识对于后续的自动化测试开发是非常重要的, 因为在实际情况之下, 我们需要通过去编写脚本的这种方式来完成任务之中的自动化测试。
大家要注意啊, 给初学者提个醒, 就是最好先拿出点时间去把那些底层的原理弄明白, 别着急动手, 等基础打牢了, 再去写代码的时候边做边学, 这样自己的技术才能一点一点地往上长。
二、学自动化测试框架
当我们要去学习自动化测试这个事儿的时候, 我们是需要去掌握一些自动化测试框架的, 这样就能够来帮助我们完成相关的测试开发工作。在现在这个阶段, 比较受欢迎、被大家所公认的自动化测试框架有下面这几个种类的。
这个测试框架是官方直接给的, 它里面包含了挺多的东西, 比如说管理测试用例的功能, 还有统计测试结果的功能等等, 同时它还支持好几种不同的方式来运行测试, 比如可以通过命令行来跑, 可以使用测试套件来进行操作, 也可以生成HTML报告之类的。
它是另一种比较流行的测试框架, 这种框架可以和其他的框架一起集成使用, 另外它还提供了非常丰富的插件以及扩展功能方面的东西, 这些功能里面包括了参数化, 还有模拟之类的操作, 比如mock这个概念所包含的功能。
Nose
nose这个东西是一个轻量级的测试框架, 它给用户提供了一种简单的方式来管理测试用例, 同时还会对测试结果进行统计, 除此之外它也支持多种不同的测试运行方式。
现在敲黑板, 大家注意听一下下面的建议, 以上三种自动化测试框架每个都有自己单独的特点并且有长处也有短处, 初学者可以先从其中一种开始学起, 然后再慢慢把其它框架的使用办法也学会并掌握住。
三、学WEB自动化测试
Web自动化测试是自动化测试里面, 那个比较重要的部分。它可以帮着咱们把在网页上面进行的交互操作给自动化地执行掉, 比如去点击按钮, 比如说输入文字, 再或者说提交表单这些动作, 然后呢, 还能验证一下页面显示出来的样子和对应的响应结果, 看看是不是符合大家心里的那个预期。
在进行Web自动化测试这一学习任务的相关过程中, 人们是需要对几个具体方面予以掌握和了解的。
它是一个用来做网页自动化测试的工具, 这个工具能模拟真实用户的操作方式, 通过浏览器驱动程序去控制浏览器, 从而把那些自动化的测试任务给完成掉。
Soup
Soup是个库, 它是用来解析HTML文档和XML文档的, 它能把网页内容转换成对象, 它还提供了简单易用的应用程序接口, 方便做内容查找、提取以及修改等这些操作。
这是一个用来发送HTTP请求的库, 它能够模拟浏览器去向Web服务器发出请求, 然后把响应结果给抓回来。在做Web自动化测试的时候, 大伙儿一般都喜欢拿这个库来搞API接口测试这件事儿。
需要特别提醒的是, 以上这三个工具在网站自动化测试这个工作里面, 算是特别重要的存在, 刚开始学习的人可以先从那个基础的工具开始去弄, 接着一步一步地把另外两个工具的使用技巧也全都学会搞定。
四、移动端自动化测试
咱们得承认, 移动互联网那玩意儿跑得特别快, 所以移动端自动化测试这事情也就变得挺重要起来的。既然咱们都要去学习怎么搞自动化测试, 那咱们自然也得知道一点关于这个移动端自动化测试的些个知识才行。
大家现在用得比较多的那种在移动设备上面跑来跑去的自动测试工具, 有好几类是摆在那里的, 它们分别是:
它是一个基于协议的移动端自动化测试框架, 支持多种移动操作系统, 支持多种开发语言, 并提供了丰富的API和插件, 来帮助开发人员完成自动化测试任务。
UI
UI这个软件是一个用来对设备里面的界面做自动化测试的工具, 它能够模仿用户在屏幕上进行的各种互动操作, 并且还能拿到屏幕上各个元素的信息, 此外, 它还支持同时跑多个线程以及截取屏幕图片这些事情。
它其实是专门拿来给iOS设备用的一个自动化测试框架, 这个框架能够通过去模拟用户的实际操作行为来对iOS应用程序进行测试, 同时它也提供了非常丰富的功能, 这些功能包括了对测试用例的管理以及对测试结果进行的统计分析。
必须在这里强调一点, 以上提到的那三个用于移动端自动化测试的工具, 它们每一个都有着自己独特的特性以及各自的优点和缺点, 所以对于刚开始接触的新手而言, 比较明智的做法是先集中精力去把其中一个学透弄懂, 然后再顺着这个基础慢慢去搞清楚另外几种工具是怎么操作的。
五、学版本控制工具
版本控制工具在软件开发的过程里面是非常非常重要的一个部分, 它能够协助开发团队去进行更好的合作, 以及对代码的变更情况去做管理。
现在大家在用的时候, 比较经常接触到的那些控制版本的工具呢, 大概有这么几种情况, 可以列出来给大家看一看。
Git
Git是一种分布式的版本控制工具, 它能够让开发人员以一种更好的方式来处理代码的变化情况, 同时还提供了很多丰富的功能手段, 以便支持像团队协作以及版本发布这样的各项任务内容。
SVN
SVN它是一种集中式的版本控制体系, 这东西跟Git那个东西是有着相似的地方, 不过在简单使用和方便操作的程度上, SVN它是更加具有优势的, 所以在很多规模比较小的一些项目里面, 选择SVN这个方案同样也是一个值得考虑的好选项。
这里要特别提醒大家注意, 上面提到的那两个版本控制工具, 它们各自有着自己不同的特色, 同时也存在好的一面和坏的一面, 对于刚开始学习的人来说, 比较推荐的办法是从Git这个工具开始入手进行学习, 等学懂了一些之后, 再慢慢地去弄明白其他那些工具到底该怎么用。
六、学测试管理工具
因为测试的规模在不断地变大, 所以测试管理工具的重要性也就变得越来越高了, 这种工具能够协助测试团队去对测试用例、测试计划以及测试报告等等内容进行更好的管理, 并且在涉及到自动化测试的这个情境当中, 我们也同样是需要通过使用测试管理工具这样的一种手段来对测试的过程和测试的结果进行有效的管理。
当前在社会上, 相对来讲更为主流和广泛使用的测试管理工具呢, 其实大致包括这么几个。
这是一个开源的测试管理工具, 它可以帮忙让测试团队去更好地对测试用例进行管理、对测试计划进行管理以及对测试报告等内容进行管理, 并且它还提供了多种扩展功能。
这个工具是一个商业化的测试管理工具, 它提供了简单易用的功能, 比如说测试用例管理、测试计划管理以及测试结果统计等, 还支持多种第三方的集成。
在这里要特别强调和提醒一下, 建议以上所提到的两个测试管理工具其实都是各有各的特点以及各有各的优点不足之处的一个情况, 然后对于初学者而言的话, 是可以先从最开始的地方去进行学习的一个操作, 然后在这样子的过程之中再去逐渐地掌握其它的那些工具应该如何使用的一个方法。