Python做软件自动化测试的入门提问
同在软件测试岗位。
由于同样初学python,所以没有太多的实践经验。
使用python的单元测试框架,可以建立测试类,构造测试集。
测试类中包含了common的测试方法定义,包括测试开始前建立测试环境的setUp方法和测试完成后清理还原环境的tearDown方法,最好按照约定规则(以test开头)来命名所有的测试方法。
测试集允许你根据测试策略组合不同的测试用例并实施。
下面两篇文章推荐看看:http://www.ibm.com/developerworks/cn/linux/l-pyunit/http://www.cnblogs.com/coderzh/archive/2010/08/23/custom-python-unittestoutput-as-gtest.html有一个问题我还没找到答案,就是如何让单元测试框架的log输出到文件(默认输出到控制台)。
python的做什么语言的单元测试
一、对于你的问题,首先明确测试类型,然后才能明确自动化测试类型,最后定位哪个类型用哪个方面的自动化测试工具。
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(至于性能测试,也是一样,可以先从工具入手,但不要局限于工具,性能测试最重要的是环境的构建方法以及对测试结果的分析方法,所以性能测试重点在于分析和实现过程,而不是工具使用过程。
软件测试比较好学还是python好学
展开全部 1. 很多自动化框架都是使用Python实现的,可以使用python完美完成很多测试方面的功能2. Python是一个语法简单明了的语言,也很适合软件测试员工使用3. 使用Python编写的测试工具脚本,可以大大提高工作效率,如果你是测试人员,可以去黑马程序员视频库学学Python基础,给自己的工作加一个砝码。
...
python怎么做接口测试工具
之前使用过urllib和urllib2做接口测试,在做的途中,感觉使用urllib2直接进行的get,post 请求并没有那么好用。
作为测试人员,所需要的测试工具应当以方便为第一要务,测试的耗时只要是真正的无人值守,耗时不是太久的都可以接受。
所以,本人又尝试了一个新的包:requests。
Requests 是用Python语言编写,基于 urllib,采用 Apache2 Licensed 开源协议的 HTTP 库。
它比 urllib 更加方便,可以节约我们大量的工作,完全满足 HTTP 测试需求。
Requests 的哲学是以 PEP 20 的习语为中心开发的,所以它比 urllib 更加 Pythoner。
更重要的一点是它支持 Python3 !推荐一篇文章,上面有该包的详细说明 传送门,以下只会写到我用到的部分,所以更多的了解需要自己去搜资料 好了,我们开始吧!!接口测试中重要的部分:1.get和post方法2.用到的参数3.请求头4.cookie5.日志输出6.如何调试你的程序--借助fiddler 按照以上的顺序,我将一一说明我的搞法,因为编码能力有限,所以可能看着很low 一、get和post requests包很好的实现了post和get方法,示例:1 import requests2 response_get = requests.get(url, data, headers, cookies)3 response_post = requests.post(url, data, headers, cookies) 其他的访问方式如put,head等等,用法几乎都是如此,因为没用到,所以省略 现在一般的接口返回值有页面和json俩种,按照需求,可以分别使用response.text或者response.content获取,text获取的是unicode类型的返回值,而content返回值是str类型,所以我一般使用content来获取返回值,因为这样获取的返回值可以直接使用正则或者in的方式来验证返回值结果是否正确。
我自己为了实现接口的自动访问,所以又在requests上面加了一层封装,就像下面这样:1 def main_get(list_result, cookies): 2 """ 3 用于模拟get请求,返回结果 4 :param list_result:空列表,用于存储结果 5 :param cookies: 登陆后的cookie 6 :return:访问结果 7 """ 8 # List_interface_get写在接口文件里,文件是py格式,然而它本身是字典类型 9 for key in List_interface_get:10 try:11 f1 = requests.get(key, cookies=cookies)12 if f1:13 print f1.content14 print List_interface_get[key]+'接口访问成功'15 split_line()16 list_result.append(f1.content+'||'+key)17 # print f1.read()18 except AssertionError:19 print 'One Error in get'20 pass21 return list_result22 23 24 def main_post(result_list, url_list, param_list, payload_list, note_list, cookies):25 """26 模拟post请求27 :param result_list: 结果字典28 :param url_list: 接口字典29 :param param_list: 入参字典30 :param payload_list: header字典31 :param notelist: 描述字典32 :param cookies: 登录获取的cookie33 :return:填充完成的结果列表34 """35 36 # post这块写的比较low,最好自己搞一个数据结构把它搞定37 for key in range(1, 9):38 a = requests.post(url=url_list[key], data=param_list[key], headers=payload_list[key], cookies=cookies)39 try:40 if a.content:41 print a.content42 print note_list[key]+'接口访问成功'43 split_line()44 result_list.append(a.content+'||'+url_list[key])45 except AssertionError:46 print 'One Error in post'47 pass48 return result_list 二、用到的参数以及请求头 我用的方法是把这些都存放于一个py文件中,当然也可以使用excel或者xml文件,甚至于使用DB。
项目紧急,凑合了一下,这里的数据结构主要为了符合上面封装的函数,直接上代码看吧1 BaseURL = 'https://******.com' # 测试环境 2 # 使用什么数据结构不重要,关键看实现方法中怎么解析你的测试数据 3 List_interface_get = { 4 BaseURL+'/api/****/****/****?****=1&****=375': '描述' 5 } 6 # 以下是用于post的接口 7 List_interface_post = { 8 1: BaseURL+'/api/****/****/****/****' 9 }10 # 以下是用于post的数据11 List_post_param = {12 1: 'new=222222&old=111111'13 }14 # 以下是post接口的描述,它是干嘛的15 List_post_note = {16 1: '修改密码'17 }18 # 以下是post用到的请求头19 List_post_header= {20 1: {'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8'}21 } 三、cookie 一款产品的接口测试中必定会使用登录状态,需要使用cookie实现,之前写过使用cookiejar获取cookie,requests中获取cookie的方法更为简单,不过首先你得知道是哪个接口set了cookie,不过一般是登录啦。
登录接口访问之后set了cookie,那好,就去调用登录接口,然后拿到搞回来的cookie:# 只需要这样!!login = requests.post(login_url, data=login_data, headers=login_header) cookie = login.cookies 这个cookie就是登录状态了,拿着随便用,需要登录的就直接cookies=cookies 四、日志输出 这里注意看第二步中接口数据,有接口描述,也有接口是啥,第一步中又把content做成返回值了,具体拼接方式自己想吧,东西全有了,想写啥写啥,还可以加上获取本地时间的api获取接口运行时间,log文件该长啥样是门学问,这里就不献丑了。
五、借用fiddler调试你的脚本 requests允许使用代理访问,这有啥用,真有!fiddler是一款截包改包的工...
Python这么火,关软件测试什么事
展开全部 python可能现在市场比较流行,但是对于我们测试学员来说,在掌握python的一些基础的理论知识,比较测试不是专业的软件开发人员,测试可能需要写一些自动化脚本,所以在掌握的python的基础多写多练,传智播客软件测试会教会大家如何掌握python自动化脚本,从而在实际工作中能游刃有余。
...
新手想选择一个方向学习,1.软件测试2.Python 哪个比较好,多方面...
1,软件测试,上手速度快,难度不是很高。
如果时间不充足或急需工作,就可以选择软件测试。
虽然刚开始工资在3K左右,但是如果做得好,7,8K以上都是简单的事情,因为一款好的软件,app都离不开测试。
记住,软件测试非常重要!2,python,大多数人用这个来搞爬虫,说的是什么大数据时代,听起来很火的样子,但是实际上现阶段没啥卵用,因为互联网行业对它的需求现阶段不是很大。
学精也比较困难!以后说不定会真正火起来!
用python可以做什么测试
展开全部 1.将日常工作最常用的一些命令或者工具脚本化,比如用Python脚本完成更新代码,打包功能2.使用Python创建一个声称测试数据的脚本,开发每次都要找你帮忙创建一堆测试数据,你能忍受每次都要鼠标点击那么多次来填写n多表单么,为啥不搞个脚本3.做一些自动化测试的工作4.用Python创建一些简单网站,把开发,测试,产品经常烦扰你的工作都放到网页上,让他们自己傻瓜操作多好。
5.用来维护测试服务器6.CI(持续集成)往往也需要一个脚本来配合工作7.创建一些监控程序,监控测试环境和线上的接口...
转载请注明出处51数据库 » python测试软件