诠释自动化概念

之前和很多小伙伴聊天,说到自动化的时候都感觉好像很牛逼的样子,感觉公司里做自动化测试的人都好厉害。面试的时候,不管啥公司,公司不管做不做自动化,哪怕就招一个功能测试工程师,那也得问问你会不会自动化。然后呢想学自动化,又不知道该学些什么,自学了很久,语言也学了,什么这自动化工具QTP、selenium、appium都学了,学完感觉都会,自己做自动化的时候还是两眼一抹黑,不会做。什么鬼?

这篇文章就介绍一下咱们作为一个代码0基础的人怎么学自动化,都要学些什么东西,怎么才能避免走弯路。

1、什么是自动化测试?

自动化测试说白了,就是写代码帮你测试呗,原来你测试都是手动执行,现在你写代码来帮你执行,这就是自动化测试呗。

2、自动化测试分类

自动化测试有哪些分类的呢?

1、接口自动化

就是测接口的时候,写代码帮咱们调用接口,校验返回值。

2、ui自动化

web端自动化

web自动化就是写代码自动打开浏览器,打开网站,测试什么功能就点什么。

app移动端自动化

移动端自动化就是Android或者ios的,自动打开app然后点什么功能。

3、性能自动化

性能自动化呢就是你要测什么你只需要把被测的网站输入、多少并发数、运行多长时间,监控哪些机子的ip,这些输入进去之后,它就自动的帮你监控,不需要你手动人工的再去监控这些。不过做这个是有难度的,得具备一定的web开发功底才可以的,这个是需要开发一个平台。

4、安全自动化

安全自动化呢,就是写一些定时扫描日志的脚本看看有没有人攻击咱们的系统,有攻击的话,就报警发邮件。

3、那怎么学自动化?都要会什么?

上面说了自动化的分类,也是扫扫盲,让大家知道各种自动化都是干嘛的。

那咱们学自动化的时候怎么学习的呢,到底应该学些什么呢?

    1、语言

            上面说了自动化测试其实就是写代码帮你测试,重点是在写代码,所以必须得会代码。

            代码要会到什么程度呢,要有基本的编程思路,还有日常的一些自动化任务要能写,比如说,写个自动清理日志脚本、自动备份数据库的、自动迁移数据库、自动监控日志等等,这样日常工作中用到的脚本这些要会写,基本上达到这种程度的话,你的语言能力做自动化测试是没有问题了。

            写代码呢是一个熟练工种,刚开始写的时候都不会写,写多了自然就会了。刚开始学代码的时候就要模仿别人怎么写,要抄代码,学习别人的思路,不会就多问题,多加群和别人交流。和学英语一样,刚开始模仿别人发音,说的多了自己就会了。

            当然咱们不是开发,不用会的那么精通,能做自动化就行了。

  2、常见的测试工具、测试框架

            web端:selenium、UIRecorder等等

            移动端:appium、monkeyrunner等。

            web端自动化的话,你要打开浏览器然后帮你打开某个网站再去点什么功能,selenium和uriencoder都可以,都是通过webdriver和浏览器接口操作的。

            移动端的话那自然是要连上一个手机,打开某个app然后再去打开点什么功能,那就要用appium了,它ios的和Android的都可以做。monkeyrunner呢,就只能做Android的。

3、测试框架思想

举个例子来说,要搞一个接口自动化的框架,那得有啥功能呢,首先,咱们想自己在测接口的时候手动是怎么测的,首先要写用例,然后按照用例上的写的接口和入参调用接口,然后根据用例里面预期结果对比实际接口的调用结果,再去数据库里面看数据,数据落地有没有文件,然后把测试结果写到用例里面,最后测试完成之后发送测试报告。

        那咱们了解了这个测试流程之后,咱们的框架里面要有什么功能呢?

              1、请求接口

             2、校验结果

             3、连接数据库

             4、生成测试报告

             5、发送邮件

 那你就要把这几个功能封装好,然后其他人用的话只写用例写就好,要校验结果操作数据库、产生测试报告,调用你封装好的功能就可以了。这样就构成了一个框架。

4、那要学什么语言,python java php?

        做自动化和系统用什么语言开发的没关系,我测的是你的系统,我只要能写代码帮我调接口,帮我点页面就行了,你被测系统想用啥开发就用啥开发。这里呢还是建议用python或者java,因为这俩用的是最多的,如果没有语言基础的还是建议学python,因为python比java学起来更容易。


希望大家看了这篇文章之后知道自动化都是干嘛的,怎么样去学习自动化,应该学些什么东西。在这里我建议大家初学语言的时候不要先去学一些什么算法,就是排序这些,等你把基本的语法学会,有一些编程思路的时候再去看一些算法,要不然会让你痛不欲生,学起来容易懵逼。

原文地址:https://www.cnblogs.com/QAyangjianbo/p/9621125.html

时间: 2024-10-15 11:14:46

诠释自动化概念的相关文章

Jenkins - JIRA - GitLab 集成技巧(流程自动化概念)

应用场景: 公司已经开始大规模推行持续集成的概念,我们也在采用敏捷方式进行测试与开发.所以我们在工具选型时选择了jenkins + gitlab + jira. 那么怎么才能让三者有机结合,让提交代码来触发jira上ticket的状态转换呢? 下面介绍一个jenkins 上的插件JIRA Plugin 1.先於JIRA新增一個user: jenkins(实际使用中,可以使用已存在的jira用户用来当做操作账号),並於專案設定中將此帳號設為Developers的一員. 2.并于JIRA的设定中将A

程序员1月书讯

12月书讯中奖名单: xu_chenyang<精简:无印良品与品牌理念打造> 松阳<通关!游戏设计之道(第2版)> xiaerwoailuo<Python科学计算基础教程> SunnyYoona<数据架构:大数据.数据仓库以及Data Vault> 丁国华<设计的细节:日本经典设计透析> 好书推荐,在图灵书讯中选出你认为值得推荐的好书加推荐理由或推荐语,在文末评论里回复.下期书讯更新时,会在本期的书讯评论中选出若干优秀评论,获奖者可任选图灵书讯中

连载 | 互联网上的精彩发言 (二)

terry kuok:中华人民共和国,"人民"跟"共和国"就是日文 = =. leemz2002:日语的“人民”.“共和”等词都出自中国古典,并非日本人独创的 新词.”人民“出自<史记 货殖列传>”共和“出自<史记 周本纪>类似的例子还有:“经济”出自<晋书>”文化“出自<说苑 指武>”政治“出自<尚书 毕命>”物理“出自<淮南鸿烈览冥训> terry kuok:但却是日本人所译用,再由中国留学

《系统运维全面解析》新华网副总裁作序,360、触控等多位总监经理推荐

<系 统 运 维 全 面 解 析>前言 执笔: 韩晓光 (QQ群:117174700) 本书初衷 有朋友问我系统运维是做什么的,是不是类似网管天天修电脑?对此问题,我一言难尽,其实运维工作涉及的东西很多.此时我便有一种冲动,去写一本关于系统运维的书,介绍一些事实真相. 翻 读<史记>让人感到历史的厚重,人类的历史就是不断认识自己,认识社会,认识这个世界的过程,人类在自导自演中创造了社会文明.但是,试想山间花果的荣 枯,若你看不见闻不到,则对你来说它们似乎不存在.当然,也正是历史学家

基于ZigBee的家居控制系统的设计与应用

基于ZigBee的家居控制系统的设计与应用 PPT简介:http://pan.baidu.com/s/1i38PC6D 摘  要 智能家居是未来家居的发展方向,其利用先进的网络技术.计算机技术和无线通信技术等将家居中的各种电子电气设备连接起来,统一管理.远程监控和资源共享,实现了高效.便利的生活环境.近些年互联网的迅猛发展,网络的稳定性.安全性和网络带宽都有了长足的发展,由互联网提供的各种服务已经深入到人们生活的方方面面,因此将智能家居系统同互联网结合起来,为用户提供远程控制服务,延伸智能家居系

网站架构模式

为了使网站在高访问量.处理海量数据时可以稳定并以高效率运行,需要对网站架构进行系统的设计,从而实现网站高性能.易伸缩.可扩展.安全等各种技术目标.网站的架构模式是大型网站在小型网站演变时期总结的一些对于相同问题的解决办法.称之为架构模式. 下方主要是概念性的理解,具体操作在对各技术详细解释文档中. (总共9点) 1.软件结构分层 概念:将系统在横向维度上切分为几个部分,每个部分负责一部分相对单一的职责,然后通过上层对下层的调用构成一个完整的系统. 具体: 1.应用层:负责具体业务和视图展示,如:

从十年运维看“云”维趋势

又到岁末,就这样默默地在运维行业里已有十年余.总是想找个机会总过去展望未来,并给刚上路或是在路上的运维朋友交流一些观点.虽然现在比前几年轻松,但是惰性也随之有增,所以从未实际提笔.但是因为脑子里一直记着这事儿,所以其实一直在脑子中整理文字和框架,结合工作实际,很多观点也经受了验证,并非侃侃而谈.终于因为圣诞假期开始,趁着回国途中有集中的时间写出来,其实也是为了在万米高空消磨消磨时间. 笔者目前在北美某著名游戏公司从事运维工作,十年间发表过不少文章,著有<Linux系统命令及Shell脚本实践指南

第12章 智能家居

12.1智能家居概述 12.1.1传统家居与智能家居 物联网智能家居.传统智能家居区别 传统智能家居发展了20多年,至今为止取得了一定的进步,但技术落后.观点陈旧.创新乏力一直是中国传统智能家居企业的整体特征. 今天,随着物联网技术的高速发展,无线物联网技术给传统智能家居带来了全新的产业机会,一些全球优秀企业纷纷涉足物联网智能家居行业.在我国,虽然部分企业在无线物联网核心技术上取得了很大突破,但我们也应该清醒地看到大量技术落后的产品充斥市场仍是当前我国智能家居行业的重要特征.很多传统企业甚至一些

c++中虚析构函数

当指向基类的指针指向新建立的派生类对象而且基类和派生类都调用new向堆申请空间时,必须将基类的析构函数声明为虚函数,从而派生类的析构函数也为虚函数,这样才能在程序结束时自动调用它,从而将派生类对象申请的空间归还给堆. 附上一段代码诠释上述概念: #include <iostream> #include <string> using namespace std; class base{ char *p; public: base(int sz,char *bptr){ p=new c