1. 什么是自动化测试
原文
首先我们从招聘岗位需求说起。看近期的职业机会,提到“软件测试工程师”,基本上都有关于自动化测试的要求。例如:
了解 selenium、appium或者其他自动化测试框架;
至少熟悉一门面向对象开发语言,有一定的代码功底优先;
熟悉Java或者python,有一定的测试自动化经验和代码阅读能力;
了解接口集成测试,会使用JMeter、Postman、SoapUI等接口测试工具;
等等,上述内容不再一一列举。突然自动化测试遍地开花,好像测试工程师的自动化测试能力成为了标配一般。本文就从自动化测试的要求入手,简单的进行自动化测试扫盲,争取让各位在一分钟之内了解自动化测试。
那么我们就从“自动化测试”五个字来剖析。
一、测试
测试:这个我们熟悉。最经典的一个解释“程序测试是为了发现错误而执行的过程。”这个来自于G.J.Myers的经典着作《软件测试的艺术》的定义,给我们展示了测试的本质:过程。
测试是为了发现软件的错误,而执行的过程,这个过程可以是以下内容:
运行被测试的软件,执行软件的功能;
运行其他工具,去检查软件的内部和外部。
总而言之,是一个过程,执行的过程。接下来就一张最常见的测试示意图:
这个呢?自动化测试示意图
2. 怎样开始入门学习软件测试
初级阶段
初级阶段需要掌握四个方面的内容:
一、软件测试的基础知识,编写测试用例的方法及测试流程
二、掌握禅道、SVN等必要工具,及缺陷定义和测试计划编写方法
三、web测试与app测试的方式方法与协议
四、接口测试postman工具的操作使用,前端基础知识H5及CSS
中级阶段
中级阶段需要掌握六个方面的内容,从中级开始就是涉及到一些工具的使用
一、QTP自动化工具的环境搭建
二、loadrunner性能工具的环境搭建
三、jmeter性能工具的环境搭建及接口压力测试
四、jmeter脚本增强,app/web性能测试
五、fiddler抓包工具的操作使用、Jenkins自动化部署工具
六、数据库MySQL、SQL语句
高级阶段
高级阶段逆序哟啊具备一些分析和洞察力,如下:
一、业务分析能力
1.分析整体业务流程
不了解整个公司的业务,根本就没办法进行测试
2.分析被测业务数据
了解整个业务里面所需的数据有哪些?哪些是需要用户提供的?哪些是自己提供的?有哪些可以是假数据?有哪些必须是真数据?添加数据的时候可以用哪个库?
明白了整个软件的数据库架构,才能知道哪一个数据是从哪一个表里头带出来的,它的逻辑是什么,有没有连带关系。
3.分析被测系统架构
用什么语言开发的?用的是什么服务器?测试它的话需要用什么样的环境进行测试?整体的测试环境是什么样的?
如果缺少了,需要进行环境搭建,架构搭建。一般去一家新公司之后,架构是搭建好的,了解它即可,熟悉之前的这些老员工们使用什么样的架构发表去做的。
4.分析被测业务模块
整个软件有哪些模块,比如说首页面、注册页面、登录页面、会员页面、商品详情页面、优惠券页面等等
明白有多少个模块需要测试,每个模块之间的连带关系,进而怎样进行人员分工
5.分析测试所需资源
我需要几台计算机,需要几部手机,手机需要什么样的系统,什么样的型号。
比如测一个网站的性能的时候,电脑的配置达不到测试并发5000人的标准,要么升级电脑的硬件配置,要么多机联合,多机联合时需要几台电脑,都需要提前筹划。
6.分析测试完成目标
我的性能目标是什么样的?我的功能目标是什么样的?我要上线达到的上线标准是什么样的?性能目标,比如我要达到并发5000人的时候,CPU占用率不能高于70%,内存占用率不能高于60%,响应时间不能超过5秒功能目标,比如整体的业务流程都跑通,所有的分支流程都没有问题,所有的接口都能够互相调用,整体的UI界面没有问题,兼容性没有问题等
把这些问题都弄清楚,测试的思路会非常的清晰
3. 做软件的自动化测试一般用什么工具和黑盒测试工具一样么用loadrunner怎么样
一、对于你的问题,首先明确测试类型,然后才能明确自动化测试类型,最后定位哪个类型用哪个方面的自动化测试工具
1、测试类型可以包括:白盒测试、黑盒测试(功能测试、性能测试)等。
2、不同的测试类型使用的自动化测试方法不同,白盒测试主要针对代码级的单元测试、黑盒测试主要面对功能级和系统级的验证测试。
3、自动化测试,针对白盒测试,一般需要有一定的编程基础,即能够基于功能代码写测试代码,常用的单元测试方面的自动化测试工具很多,上网一搜全是。
4、自动化测试,针对功能测试,有几种情况,基于CLI、API和GUI的测试;基于CLI、API的测试,即应用脚本技术向设备模拟发送CLI命令或者API请求,以达到控制设备的效果。基于GUI功能测试,即应用传统的界面自动化测试工具(例如:RFT、QTP等)控制界面控件操作的方法,以达到模拟用户操作,这几种方式都需要你有一定的编码基础;基于CLI、API的需要你懂脚本技术(例如:tcl、python、ruby等),RFT需要你懂java或者.net、QTP需要VB等。
5、你说的loadrunner就是性能测试方面的工具,即是测试软件性能、例如多用户操作等性能、也需要写代码,LR脚本支持的语言有:java、c、Visual Basic、vbscrīpt。默认的脚本生成语言为 C;其实我想说的是,性能测试工具不重要,你需要掌握其性能测试的方法才是更重要的。
二、我感觉你想入门自动化测试,但是从你问的问题来看,有一定盲目性,我简单说一下自动化测试吧:
1、自动化测试,其理念就是应用各种手段模拟人工操作,节省人力测试成本,保证产品测试质量。
2、你想学好自动化软件测试,不是单单靠学习几个自动化工具就能掌握的,但是你可以从工具入手,
首先,告诉你自动化测试的基础是
1)编程技巧,包括高级语言和脚本语言,脚本语言是初期的掌握,可以有,tcl、phython、ruby等而高级语言,要好好学好一门,例如,我是对java为重点。还有,如果你是对web自动化测试的话,那么jsp、php、HTML、CSS等web语言是必须掌握的。
2)操作系统技巧;因为软件自动化测试是构建在操作系统上的,其技巧需要能善于利用到操作系统的各种技巧,例如:注册表、环境变量、句柄等。
3)数据库知识,要善于利用数据库知识去存储管理。
4)业务知识,这也是重点。你所在软件行业的软件业务,要知道你的软件的工作方式。
5)质量与流程管理理念。
然后,你的学习步骤
1)可以从工具入手,根据具体的项目去学习;例如:java软件界面测试(RFT、QTP的java插件等)、web界面测试(QTP、selenium等)、性能测试(RPT、loadrunner等)。但记住,学习其工具,重点不是简单的使用,而是如何利用工具去扩展。
2)然后,重点学习以上的基础,以编程为重点,其余的结合学习,顺便说一句,其实自动化测试的理念与软件设计模式理念很像,你可以从中有所领悟。
3)之后,再学习去拓建自己的自动化测试框架,何谓框架,一下说不清楚,我给你推荐一下
注意:如果没有自动化测试方面的实践项目的话,最好先从基础学起,因为基础学好了,自动化测试入门会很快的。
4(至于性能测试,也是一样,可以先从工具入手,但不要局限于工具,性能测试最重要的是环境的构建方法以及对测试结果的分析方法,所以性能测试重点在于分析和实现过程,而不是工具使用过程。
或者对自动化测试有兴趣的,可以发短消息或者邮件我。([email protected]),有机会一起学习探讨下
或者,可以看一下一个我的专注于自动化测试博客,呵呵,想看就看,我只是将我对自动化测试的想法和心得记录下来:“散步的SUN”的博客
4. 办公自动化考试要考那些
一级 MS-OFFICE :考试方式
1、无纸,全上机操作。考试时间:90分钟
2、软件环境:操作系统:Windows 2000;办公软件:Microsoft Office 2000。
3、在指定时间内,使用微机完成下列各项操作: 选择题(计算机基础知识和网络的基本知识)。(20分) ,汉字录入能力测试(录入150个汉字,限时10分钟)。(10分) ,Windows的使用。(10分)。Word操作。(25分) ,Excel操作。(15分) ,PowerPoint操作。Internet的拨号连接、浏览器(IE6)的简单使用和电子邮件(E-mail)收发。(10分)
一级B :考试方式
1、全上机操作:90分钟。
2、软件环境:操作系统:Windows 2000;办公软件:Microsoft Office 2000。
3、在指定时间内,使用微机完成下列各项操作: 选择题(计算机基础知识和网络基础知识)(20分) Windows的基本操作(20分) 汉字录入能力测试(15分) Word操作(25) Excel操(20)
一级WPS Office
1、采用无纸化考试,上机操作.考试时间:90分钟.
2、软件环境:操作系统:Windows2000; 办公软件:WPS Office2003.
3、在指定时间内,使用微机完成下列各项操作: 选择题(计算机基础知识和计算机网络的基本知识)(20分) 汉字录入能力测试(录入150个汉字,限时10分钟)(10分) Windows操作系统的使用(10分) 金山文字操作.(25分) 金山表格操作.(15分) 金山演示操作.(10分) 浏览器(IE6.0)简单使用和用金山邮件收发电子邮件的操作.(10分)
(4)办公室中级自动化软件测试图扩展阅读:
办公自动化是以提高办公效率、保证工作质量和舒适性为目标的综合性、多学科的实用技术。一般由计算机电脑、电话机、传真机、PC、文字处理机、声像存储等各类终端设备以及相应的软件组成。其内容包括语音、数据、图像、文字信息等的一体化处理。
办公自动化系统的硬件组成模式一般与系统要求、企业规模和组织结构以及地域分布密切相关,以下从硬件系统组成的模块化和层次化来介绍几种基本模式。
单机系统模式适用于小型单位的OA系统,一般配置1台PC来进行一些辅助办公和管理,随着硬件价格下降和OA系统的推广使用,这种模式已被微机局域网模式所代替。