
测试计划编写、设计测试用例、编写测试报告、编写BUG报告单、跟踪BUG修复情况、还需要良好的沟通能力、以及各种测试阶段所使用的测试方法、单元测试、功能测试、集成测试、系统测试等等、CMMI/ISO9001
2、各种测试工具的使用:
我们在测试的工作中为了能够提高工作效率进程会用到很多工具、QTP、LR、QC、TD、Bugfree、VSS、SVN等等工具、虽然说工具不是万能的但是工具能为我们提高工作效率所以不能吧工具当神一样看待、但是必须得会熟练的使用
3、 *** 作系统相关知识:
Windows、linux、uinx这些都必须会使用、而且不仅仅是简单的 *** 作、一般的服务管理、注册表编辑、命令行 *** 作都需要会、可以想象下一个连apache服务都不会安装配置的人、谁能想象你可以做好基于apache环境的测试工作、什么?不知道怎么查看磁盘压力、IO数据。windowslinux都有提供自带的工具可用于查看这些数据、perfmon、top什么的。
4、数据库知识:
现在Oracle的DBA待遇比一般的开发人员待遇还高就知道数据库在企业中的重要性了、作为测试人员虽然不需要有DBA的能力、但是基本的数据库 *** 作你必须得会把、不管是Oracle、DB2、MSsql还是mysql最少都应该能熟悉使用其中的一二。
5、计算机硬件知识:
做过性能测试的朋友都知道在性能测试过程中硬件性能也是一个非常重要的指标、CPU、内存、IO、带宽等等、如果你是做硬件测试的。那么就更不用说了。交换机、路由器、防火墙这些设备都需要有所了解。
6、网络协议:
如果你还知道TCP和UDP有什么不一样的话请赶快去补充点知识吧、互联网时代、一切都通过网络传输、常用协议必须得了解、曾经面试了一个测试工程师做了2年的测试居然不知道自己测试软件使用什么协议、这样的人是你的话你敢招么?
7、开发语言即代码编写能力:
虽然不会写代码也能做测试、但是如果你想做到高级测试工程师以上、那么代码编写能力就是必选项、如果不会写代码、那么你不可能成为高级测试。高级测试工程师的一部分工作就是在写测试工具。虽然测试也需要写代码但不需要和开发一样那么精通某一门语言、可是测试却需要了解很多门开发语言(举一个简单的例子:你现在所在的项目从C++语言、2年后你换工作了、新公司的开发语言是java或者是VB什么的)所以在开发语言中测试需要更广的学习。
8、行业知识:
行业知识之所以写在最后面是因为前面的7条我们都可以通过学习来掌握、但是唯独行业知识却只能通过工作经验来积累、不要说你去看几本书就知道通信行业、医疗行业、或者是航天行业、你认为在书本上面能学到么?
由于行业知识的特殊性所以建议朋友们不要频繁的跳槽、经验的积累是需要时间来沉淀的。
9、具有一定的美学观:
这个说起来比较拗口一点、简单来说不管是开发活动还是测试活动、最后的目标就是将产品推向市场、而且得到用户的认可。所以如果产品在需求分析阶段就出现了偏离用户航道、那么就算测试开发做得再好这个项目也是一样会失败。所以各位如果有幸能够参加需求评审的话、请不要吝啬你的言论。
10、请不要忘记时刻学习着:
这点我相信大家应该都能理解所以不用写什么:仅此一点“不学习就会落后”
总结:说了那么多技能或者是说是需要掌握的技术、如果你没有一颗发现缺陷之美的心态、没有一颗以提高质量为前提来投入工作中、那么就算你其他做得再好也不过是万千软件测试从业人员中的一枚。测试活动大部分用于发现缺陷、而发现缺陷之后的工作尤为重要:怎么样从发现缺陷到提高质量。
Android碎片化的问题确实困扰的不少的应用开发商,Animoca是香港的一个应用开发商,它的应用已经有7000万下载量,为了让应用有最佳的表现,他们购买了400多款手机对应用进行质量测试。
下面的这张照片是Animoca的用于测试的Android的设备全家福。Animoca母公司OutblazeCEOYatSiu称他们在网络上已经检测出有600多款不同的Android设备,而更糟糕的是,有很大的一部分设备在市面上已经无法买到。
Android系统由谷歌开发,以开源软件方式免费提供给全球手机和平板电脑厂商,外部厂商可以自由修改定制,这导致市场上的Android
系统版本极为凌乱,缺乏统一管理也导致Android平台上出现了大量吸取用户话费的恶意应用。不过面对业界长期抱怨的Android
平台碎片化问题,谷歌似乎仍未找到解决的良方。
Android平台碎片化来源——终端难题
对于终端厂商和开发者来说,版本升级与适配测试工作是十分繁琐、复杂的,需要完成大量的软件开发、测试、适配和认证。
开发者向Testin提交App,Testin平台根据任务要求可以在全球的任何地点、网络、终端上自动测试这些
App,然后将测试结果即可交付给开发者。开发者会拿到关于应用适配的数据报告,同时,Testin
还提供自动脚本测试服务,开发者可以自定义脚本,让应用在Testin的真机上按照自己设定的方式运行,以测试应用的 *** 作性和稳定性。
以《商业价值》客户端
测试为例:
1:上传App到Testin的云端,选择需要测试的机型。
2:由Testin分布在全国各地的不同环境下的真机自动安装运行App,记录每一个环节并截图和生成log日志。
3:真机自动运行完成后,会生成数据报告,供开发者下载查看,数据报告包括应用的适配率,应用适配主要错误出现环节等。
Testin平台的安全性:
1)所有在Testin测试平台提交的App测试用户可以自定义报告展示与否;
2)所有提交到Testin测试的App都将以黑盒的方式进行测试,完全不涉及程序代码;
3)目前Testin推出一款Itest
测试客户端,用户可以自己录制测试脚本,只需将脚本提交测试平台即可,完全不涉及应用程序数据包;
4)所有提交到Testin测试平台的App数据包都会有相关保密协议;
2016软件测试final免费下载
rtpi
软件测试(英语:Software Testing),描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。换句话说,软件测试是一种实际输出与预期输出之间的审核或者比较过程。软件测试的经典定义是:在规定的条件下对程序进行 *** 作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。
软件测试编写是软件测试的基本技能;也有很多人认为测试用例是软件测试的核心;软件测试中最重要的是设计和生成有效的测试用例;测试用例是测试工作的指导,是软件测试的必须遵守的准则。
在这里我们不讨论以上的各种观点,但是综上所述,大家可以看出,测试用例编写这项软技能非常重要且是测试人的必备技能,相信很多人没有质疑。
下面我们介绍下测试用例编写。
我们将用例编写分为黑盒用例编写和白盒用例编写两大类。
黑盒测试用例(优先)+白盒测试用例(补充)=完整测试用例
总体编写策略:
对于测试用例编写来说,常用的四种方法基本就够用了,等价类、边界值、正交实验法、错误推断法,辅以场景测试法、需求/设计转换法、探索式测试思想,可以应付绝大多数产品的测试。个别的产品还需要在某一点细化和扩充,需要就事论事。
使用各种编写方法的综合设计策略;
1)在任何情况下都必须使用边界值分析方法,经验表明用这种方法设计出测试用例发现程序错误的能力最强。
2)必要时用等价类划分方法补充一些测试用例,尤其注意无效等价类情况。
3)如果程序的功能说明中含有输入条件的组合情况,则一开始就可选用因果图法(或判定表法、正交试验法)。
4)用错误推测法再追加一些测试用例,主要是利用测试经验。
5)对照程序逻辑,检查已设计出的测试用例的逻辑覆盖程度,如果没有达到要求的覆盖标准,应当再补充足够的测试用例;参照白盒用例编写。
6)对程序的应用场景进行研究和思考,增加不同场景下的测试用例;用户场景测试必须重视,很大一部分程序错误就是因为测试场景与用户真实场景的差异性带来的。
7)对业务和程序有更深的理解之后,可以充分发挥发散思维和探索式想法;大家不要误解探索式测试就是漫无目的的测试,其实探索式测试有非常详细的测试指导思路。
常见的方法如下:
(1)等价类
(2)边界值
(3)因果图
(4)判定表驱动法
(5)正交实验法
(6)功能图法
(7)场景实验法
(8)错误推断法
(9)需求转化
(10)设计文档
(11)探索式测试
等价类:选取少数有代表性的数据,这一类数据等价于这一类的其它值;找出最小的子集,可以发现最多的错误;
两大特性:必须设计的用例;涵盖了大部分情况;
两类情况:有效等价类;无效等价类;
转化为测试用例
1、按照输入条件、有效等价类、无效等价类建立等价类列表,列出所有的等价类;
2、为每一个等价类固定一个编号;
3、设计一个测试用例,使其覆盖一个或多个有效的等价类;
4、设计一个或更多的测试用例以覆盖剩余的有效等价类;
使用场景:输入条件(取值范围/值个数;必须值集合;布尔值;一组处理值;必须遵守的规则;再细分更小等价类;)
等价类举例:
以三角形测试为例:输入3个整数做为三角形的三个边,通过程序判定三角形的类型。
边界值:所谓边界条件,是指输入和输出等价类中那些恰好处于边界、超过边界、或在边界以下的状态 ;
两个特征:选择一个或多个元素,以便等价类的每一个边界都经过了测试;与仅仅关注输入条件不同,还需要考虑结果空间(输出等价类)设计测试用例;
边界条件可能非常微妙,因此把他们确定下来煞费心思;
使用场景:输入+输出都需要考虑(值的范围;值个数;有序集合;内部数据结构;分析规格说明;)
边界值举例:
以三角形测试为例:输入3个整数做为三角形的三个边,1<a、b、c<10,通过程序判定三角形的类型;
因果图:输入条件的组合进行分析。用一个系统的方法选择出高效的测试用例集;
分析思路:
1、分析规格说明描述,确定原因和结果,并赋予标识符;
2、分析规格说明语义,找出原因与原因之间,原因与结果之间关系,画出因果图;
3、有些原因与原因之间,原因与结果之间组合不会出现,用记号表明约束或限制条件;
4、因果图转换为判定表;
5、判定表的每一列作为依据,设计测试用例;
使用场景:必须考虑输入条件的各种组合(一种适合于描述多种条件的组合、相应产生多个动作的形式来进行设计);
4、黑盒-判定表
判定表:分析和表达多逻辑条件下执行不同 *** 作的情况的工具 ;略过因果图的绘制,直接列出所有组合进行筛选;
分析思路:判定表通常有四个部分组成:条件桩、动作桩、条件项、动作项;
判定表的建立步骤:(根据软件规格说明)
确定规则个数;列出所有条件桩和动作桩;填入条件项;填入动作项,得到初始判定表;简化合并相似规则;
使用场景:控制类和游戏。优点是能把复杂的问题按各种可能的情况一一列举出来,简明而易于理解,也可避免遗漏。缺点是不能表达重复执行的动作,例如循环结构。
5、黑盒-正交试验法
正交实验法:利用因果图来设计测试用例时, 输入原因与输出结果之间的因果关系,有时很难从软件需求规格说明中得到;往往因果关系非常庞大,以至于测试用例数目巨大,为了有效地、合理地减少测试的工时与费用,可利用正交实验设计方法进行测试用例的设计。
分析思路:
(1)提取功能说明,构造因子–状态表 ;
(2)加权筛选,生成因素分析表 ;
(3)利用正交表构造测试数据集 ;
使用场景:必须考虑输入条件的各种组合(从大量的数据中挑取适量、有代表性的点,合理有效的测试);
6、黑盒-场景实验法
场景实验法:软件几乎都是由事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果形成事件流;生动的描绘出事件触发时的情景,有利于设计用例,同时测试用例也更容易的得到理解和执行。
分析思路:
每条路径都反映了基本流和备选流;基本流是最简单的路径;备选流自基本流开始,会有特定条件下加入并执行,可能有多种情况;
使用场景(0代表基本流):0;0+1;0+1+2;0+3;0+3+1;0+3+1+2;0+4;0+3+4;…
7、错误推断法
错误推断法:基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法;更多的与用户的使用习惯及测试程序中的常见问题为主。
分析思路:
(1)列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据这些情况选择测试用例;
(2)注意积累与分享;
使用场景:任何测试、任何情景下都会用到的方法。
有常用的测试用例集,可以参照。
举例:数字输入验证,分别输入数字(正数、负数、零值、单精度、双精度)、字符串、空白值、空值、临界数值;不合法的输入,系统给出必要的判断提示信息;
8、黑盒-需求转换法
需求转换法:根据需求,执行需求分析,并编写测试用例。
分析思路:
(1)将需求转换为思维导图;
(2)仔细推敲每一个字的含义;
(3)与用户的使用场景和目的结合;
(4)严格设计每一个用例;
(5)可以建立一种模型,进行需求转换;
使用场景:任何测试、任何情景下都会用到的方法。
注意:需求的变更带来的影响;需求理解偏差带来的影响;需求含糊不清带来的影响等;
9、黑盒-设计文档
设计文档:参照设计文档,可以理解软件系统内部设计流程及处理机制,对比写好的测试用例,可以在对应功能及模块处新增;
分析思路:
(1)仔细阅读设计文档;
(2)与相关人员沟通实现机制;
(3)结合测试用例编写方法,对比之前写好的用例;
使用场景:任何测试、任何情景下都会用到的方法。
注意:设计文档的编写正确性;设计文档的理解偏差;
10、黑盒-探索式测试法
探索式测试法:无限创意的测试点,永无止境的探索测试;我们要在测试的最前沿发挥洞察力、技术及应变措施,找出产品的缺陷;
分析思路:
局部探索式测试;全局探索式测试;混合探索式测试;
使用场景:任何测试、任何情景下都会用到的方法。像漫游一样,自由地寻找软件中的缺陷,软件测试的未来必然有探索式测试。
基本思路:
第一步需要绘制流程图;
第二步根据路径分析法确定测试用例;
第三步使用等价类/边界值的方法确定测试用例的数据
第四步根据实际情况补充(如默认流程、特殊流程等)
基本策略:
1、语句覆盖准则基本上没啥用,比较强的逻辑覆盖准则是判定覆盖或者条件覆盖;通常判定覆盖可以满足语句覆盖;语句覆盖<判定覆盖<条件覆盖;
2、循环覆盖来说,完全的路径测试并不符合实际;
若你想深入学习软件测试,但是却苦于没有资源,现在就给大家奉上一份13G的超实用干货测试学习资源,涉及的内容非常全面。 需要点击链接免费领取喔
包括测试软件学习路线图,50多天的测试上课视频、16个突击实战测试项目,80余个软件测试用软件,37份测试文档,70个软件测试相关问题,40篇测试经验级文章,上千份测试真题分享,还有2022年软件测试面试宝典,还有软件测试求职的各类精选简历,希望对大家有所帮助……
以上就是关于做软件测试需要具备哪些技能全部的内容,包括:做软件测试需要具备哪些技能、如何测试Android应用多终端适配、请问想从事软件测试,软件测试学习哪些内容等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)