版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、自动化测试概述自动化测试概述理解自动化测试 自动化测试工具理解自动化测试理解自动化测试 什么是自动化测试什么是自动化测试 手工测试的局限性手工测试的局限性自动化测试认识的误区自动化测试认识的误区什么情况适合自动化测试什么情况适合自动化测试什么情况不适合自动化测试什么情况不适合自动化测试什么是自动化测试什么是自动化测试通过对工具的使用,增加或减少了手工或人为参与或干预非技巧性、重复或冗长通过对工具的使用,增加或减少了手工或人为参与或干预非技巧性、重复或冗长工作工作自动化测试就是希望能够通过自动化测试工具或其他手段,按照测试工程师的预自动化测试就是希望能够通过自动化测试工具或其他手段,按照测试工程
2、师的预定计划进行自动的测试,目的是减轻手工测试的劳动量,从而达到提高软件质量的目定计划进行自动的测试,目的是减轻手工测试的劳动量,从而达到提高软件质量的目的。自动化测试的目的在于发现老缺陷。而手工测试的目的在于发现新缺陷。的。自动化测试的目的在于发现老缺陷。而手工测试的目的在于发现新缺陷。 自动化测试的意义自动化测试的意义通常,软件测试的工作量很大(据统计,测试会占用到40%的开发时间;一些可靠性要求非常高的软件,测试时间甚至占到开发时间的60%)。而测试中的许多操作是重复性的、非智力性的和非创造性的,并要求做准确细致的工作,计算机就最适合于代替人工去完成这样的任务。软件自动化测试是相对手工测
3、试而存在的,主要是通过所开发的软件测试工具、脚本等来实现,具有良好的可操作性、可重复性和高效率等特点手工测试的局限性手工测试的局限性通过手工测试无法做到覆盖所有代码路径。简单的功能性测试用例在每一轮测试中都不能少,而且具有一定的机械性、重复性,工作量往往较大。许多与时序、资源冲突、多线程等有关的错误,通过手工测试很难捕捉到。进行系统负载、性能测试时,需要模拟大量数据或大量并发用户等各种应用场合时,很难通过于工测试来进行。如果有大量(几千)的测试用例,需要在短时间内(1天)完成,手工测试几乎不可能做到。自动化测试认识的误区自动化测试认识的误区自动化测试好处很多,但也有很多的局限,正因为一些人只认
4、识到了自动化测试的优点,导致对它的期望太高,所以产生了很多执行自动化测试失败的例子 期望自动化测试能取代手工测试期望自动化测试能取代手工测试 某些情况下自动化测试并不适用,所以不能期望在所有的情况下都使用自动化测试来取代手工测试,测试主要还是要靠人工的。期望自动测试发现大量新缺陷期望自动测试发现大量新缺陷 自动化测试只能发现已知的问题,所以不能期望自动化测试去发现更多新的缺陷,事实证明新缺陷越多,自动化测试失败的几率就越大。发现更多的新缺陷应该是手工测试的主要目的。工具本身不具有想象力工具本身不具有想象力 对于一些界面美观和易用性方面的测试,自动化测试工具无能为力 自动化测试认识的误区自动化测
5、试认识的误区只要使用自动化测试,就能缩短测试时间、提供测试效率只要使用自动化测试,就能缩短测试时间、提供测试效率 自动化测试的前期实现要花费更多的时间,相比创建和执行一个手工测试用例,要花费310倍的时间来开发、验证和文档化一个自动化测试用例 自动化测试工具使用了图形化界面,很容易上手,对人员的要求不高自动化测试工具使用了图形化界面,很容易上手,对人员的要求不高 简单的“录制 / 回放”方法并不能实现有效的、长期的自动化测试,测试人员还需要对脚本进行优化,这就需要测试人员具有设计、开发、测试、调试和编写代码的能力,最理想的候选人是既有编程经验,又有测试经验。测试过程中还需要安排专业人员对测试脚
6、本库中的脚本进行维护什么情况适合自动化测试什么情况适合自动化测试多次重复、机械性操作多次重复、机械性操作 自动化测试最适用于多次重复、机械性动作,这样的测试对它来说从不会失败。比如要向系统输入大量的相似数据来测试 需要频繁运行测试需要频繁运行测试 在一个项目中需要频繁的运行测试,测试周期按天算,就能最大限度的利用测试脚本,提高工作效率 性能、压力测试性能、压力测试 实现多人同时对系统进行操作时是否正常处理和响应以及系统可承受的最大访问量的测试什么情况不适合自动化测试什么情况不适合自动化测试美观、声音、易用性测试美观、声音、易用性测试 人的感观方面的:界面的美观、声音的体验、易用性的测试,也只有
7、人来测试测试很少运行测试很少运行 测试很少运行,对自动化测试就是一种浪费。自动化测试就是让它不厌其烦的、反反复复的运行才有效率软件不稳定软件不稳定 软件不稳定,则会由于这些不稳定因素导致自动化测试失败。只有当软件达到相对的稳定,没有界面性严重错误和中断错误才能开始自动化测试涉及物理交互涉及物理交互 工具很难完成与物理设备的交互,比如刷卡的测试等什么情况不适合自动化测试什么情况不适合自动化测试自动化测试不是适合所有公司、所有项目自动化测试不是适合所有公司、所有项目定制型项目(一次性的)定制型项目(一次性的) 为客户定制的项目,维护期由客户方承担的,甚至采用的开发语言、运行环境也是客户特别要求的,
8、即公司在这方面的测试积累就少,这样的项目不适合作自动化测试项目周期很短的项目项目周期很短的项目 项目周期很短,测试周期很短,就不值得花精力去投资自动化测试,好不容易建立起的测试脚本,不能得到重复的利用是不现实的。 自动化测试工具ShellPythonRuby Perl为什么要用Python?Python特点简单、易学面向对象、高层解释性丰富的库可扩展、可嵌入免费开源、可移植1)简单、易学Python是一种代表简单主义思想的语言,有简单的语法,容易上手。Python使你能够专注于解决问题而不是去搞明白语言本身。2)面向对象的高层语言无需关注底层细节,而C/C+中需要操作指针。与其他语言相比,Py
9、thon以强大而又简单的方式实现面向对象编程。3)解释性Python程序不需要编译成二进制代码,可以直接在源代码上运行。对于编译性语言(C/C+),源文件-编译/链接器-可执行文件。4)免费开源,可移植性Unix衍生系统,Win32系统家族,掌上平台(掌上电脑/手机),游戏控制台(PSP)等等。5)可扩展性,可嵌入性如果一段关键代码希望运行得更快或者希望算法不公开,你可以把这部分程序用C或C+编写,然后在Python程序中使用它们。你可以把Python嵌入到C/C+程序,从而向程序用户提供脚本功能。6)丰富的库Python标准库确实很庞大,包括正则表达式、文档生成、单元测试、线程、数据库、网页
10、浏览器、等等。此外,还有其他高质量的库,如wxPython和图像库等等。Python 下载与安装Python 官方下载:/downloads/windows/建议下载Python2.xPython3.x语法有些变化。数据类型有些调整编码方面Python3.x默认utf-8.目前性能还不如Python2.x稳定。第一个Python程序 print hello world # Python 命令行提示符hello worldpython有一个接收命令行下输入的方法:input()注意,和print不同的是,这次我们必须得加上()了,而且得是英文字符的括号。
11、raw_input(login:) #它把所有的输入都直接当作一串字符list的遍历中文可以翻译成列表,是用来处理一组有序项目的数据结构。python 中常用的遍历列表的方法:for i in range(1, 10):print range(1,10)得到的结果是:1, 2, 3, 4, 5, 6, 7, 8, 9这就是一个list。它由range产生。把上面那个for循环语句写成:l = range(1, 10)for i in l:效果是一样的访问list中的元素列表中的元素也可以是别的类型,比如:l = meat, egg, fish, milk甚至是不同类型的混合:l = 365,
12、everyday, 0.618, Truelist中的每个元素都对应一个递增的序号,操作方式跟c语言中数组的操作相似。比如print l0 输出是:365同时也可以通过 l0 = 366,更改list中的元素。print l输出:366, everyday, 0.618, Truelist的操作list 添加元素list有一个append方法,可以增加元素。以l这个列表为例,调用的方法是:l.append(1024)print l输出l,你会看到366, everyday, 0.618, True, 1024,1024被添加到了l,成为最后一个元素删除list中的元素list的操作删除list
13、中的某一个元素,要用到del:del l0输出l,得到everyday, 0.618, True, 1024。这时候再调用l0,会得到everyday,其他元素的序号也相应提前。list还有两类常用操作:索引(index)和切片(slice)。l-1l1,3文件操作 读文件之前,我们写的程序绝大多数都依赖于从命令行输入。假如某个程序需要输入很多数据,比方说.csv的测试报告读取。打开一个文件的命令很简单:file(文件名)这里的文件名可以用文件的完整路径,也可以是相对路径。因为我们把要读取的文件和代码放在了同一个文件夹下,所以只需要写它的文件名就够了。f = file(data.txt)但这一
14、步只是打开了一个文件,并没有得到其中的内容。变量f保存了这个文件,还需要去读取它的内容。你可以通过read()函数把文件内所有内容读进一个字符串中。文件操作data = f.read()做完对文件的操作之后,记得用close()关闭文件,释放资源。虽然现在这样一个很短的程序,不做这一步也不会影响运行结果。但养成好习惯,可以避免以后发生莫名的错误。完整程序示例:f = file(data.txt)data = f.read()print dataf.close()文件操作1. 读取csv文件代码:# coding: utf-8import csvcsvfile = file(csv_test.c
15、sv, rb)reader = csv.reader(csvfile)for line in reader: print linecsvfile.close() 文件操作写文件f = file(output.txt, w)w就是writing,以这种模式打开文件,原来文件中的内容会被你新写入的内容覆盖掉,如果文件不存在,会自动创建文件。打开文件还有一种方法,就是open(),用法和file()是一致的。示例程序:data = I will be in a file.nSo cool!out = open(output.txt, w)out.write(data)out.close()文件操作1
16、. 写入并生成csv文件代码:# coding: utf-8import csvcsvfile = file(csv_test.csv, wb)writer = csv.writer(csvfile)writer.writerow(姓名, 年龄, 电话)data = (关羽, 25, 1234567), (张飞, 20, 789456)writer.writerows(data)csvfile.close() wb中的w表示写入模式,b是文件模式 写入一行用writerow 多行用writerowsPython 中的基本类型-字典字典这种数据结构有点像我们平常用的通讯录,有一个名字和这个名字对
17、应的信息。在字典中,名字叫做“键”,对应的内容信息叫做“值”。字典就是一个键/值对的集合。它的基本格式是(key是键,alue是值):d = key1 : value1, key2 : value2 键/值对用冒号分割,每个对之间用逗号分割,整个字典包括在花括号中。Python中的字典关于字典的键要注意的是:1.键必须是唯一的;2.键只能是简单对象,比如字符串、整数、浮点数、bool值。3.list就不能作为键,但是可以作为值。举简单的一个例子score = 虚竹1: 95, 虚竹2: 97, 虚竹3: 89Python中的字典如果要改变某一项的值,就直接给这一项赋值:score虚竹1 = 9
18、1增加一项字典项的方法是,给一个新键赋值:score虚竹4 = 88删除一项字典项的方法是del:del score虚竹2注意,这个键必须已存在于字典中。Python的模块python自带了功能丰富的标准库,另外还有数量庞大的各种第三方库。使用这些“巨人的”代码,可以让开发事半功倍,就像用积木一样拼出你要的程序。使用这些功能的基本方法就是使用模块。通过函数,可以在程序里重用代码;通过模块,则可以重用别的程序中的代码。import randomimport语句告诉python,我们要用random模块中的内容。然后便可以使用random中的方法,比如:random.randint(1, 10)查看模块有哪些函数和变量用:dir()python 网络模块python 网络爬虫你输入一个城市的名称,就会告诉你这个城市现在的天气情况,之所以能知道一个城市的天气,是因
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 初中文言文试题及答案
- 春季电焊工试题及答案
- 车辆运输试题及答案
- 手术室沟通技巧与协作
- 多发伤患者的内分泌系统并发症护理
- 宠物日常护理基础课程
- 护理防淤青的科学知识
- 护理教育:教学成果展示
- 护理管理中的PDCA循环培训
- 护理实践中的沟通技巧与人文关怀
- 湘江战役教学课件
- WeleUnitDiscoveringUsefulStructures句子基本结构课件-高中英语人教版
- 【单词表】外研版四年级英语下册全册词汇表(带音标)
- 医保基金管理培训课件
- 2025年文物保护工程从业资格考试(责任工程师古文化遗址古墓葬)测试题及答案(宁波)
- 2025浙江宁波江北区机关事业单位招聘编外人员1人考试参考题库及答案解析
- 平安保额销售法课件
- DB46-T 481-2019 海南省公共机构能耗定额标准
- 2024人教版八年级英语上册 第1-8单元知识点总结(单词+短语+句子+语法)
- DB11∕T 2301-2024 城市道路慢行交通系统综合评价指标体系
- 设计人工合同范本
评论
0/150
提交评论