《软件测试之功能测试篇.pdf》由会员分享,可在线阅读,更多相关《软件测试之功能测试篇.pdf(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、软件测试之功能测试篇软件测试之功能测试篇、软件测试的的:、软件测试的的:发现缺陷错误,并且尽最可能找出最多的错误,也是对软件质量进评估,以提软件质量。、什么是软件:、什么是软件:软件=程序+档软件是计算机系统中与硬件相互依存的部分,它是包括程序、档的完整集合。程序(program)是按事先设计的功能和性能要求执的指令序列。档(document)是与开发、维护和使有关的图材料。三、软件缺陷的定义:三、软件缺陷的定义:1、软件没有实现产品说明书要求的功能;2、出现了产品说明书指明的不应该出现的错误;3、实现了说明书中未提及的功能;4、未实现产品说明书虽未明确,但应实现的功能;5、软件难以理解,不易
2、操作,运缓慢等问题;6、缺陷是系统在开发或者维护过程中就存在的错误;7、缺陷是系统某种功能失效;四、什么是软件测试:四、什么是软件测试:1、找bug;2、找到【预期结果】和【实际结果】的差异,保证项质量;3、根据需求档(客户要求)进测试;P.s:般把软件缺陷(defect)称为bug(臭)五、操作系统:五、操作系统:1、Windows2、Linux3、Android4、IOS5、Unix六、六、BS架构和架构和CS架构:架构:1、BS架构基于浏览器;优点:分布性强,维护便,成本低;缺点:个性化特点明显降低,跨浏览器实现差,响应速度低,容易给服务器造成较的压;2、CS架构基于客户端;优点:户体验
3、佳,速度快,处理能强;缺点:需要专门的客户端安装程序,开发、维护成本,升级次所有的客户端程序都需要改变。七、职业素质要求:七、职业素质要求:1、专业知识2、沟通能3、团结合作能4、耐、细、信5、责任6、不管做什么测试,基础定要牢,才能继续提升、V模型:模型:【户需求】由需求员(BA)根据客户需求整理个档叫需求档【需求分析】项经理测试经理开发测试BA开会讨论:1、需求怎么做?开发2、需求是否合理?两个:需求、时间3、测试员的作?(1)搞清楚这个需求的来源是做什么的;(2)通过测试思维去考虑它,如何去测试它;4、需求讨论阶段也是需求确认的个阶段【概要设计】开发员对需求进梳理;开会评审,检查开发员对
4、需求的理解程度;【详细设计】开发员需要通过什么样的技术去实现这个功能,档的形式写出来后期也需要评审【编码】编程。【单元测试】开发员对编写的程序进检通过代码的形式进测试【集成测试】也叫组装测试,先测试单个模块,再进组合测试,查看是否能正常运主要是做功能和接测试【系统测试】也叫全测试除了功能和接测试,根据项要求,进性能、动化、兼容性等测试【验收测试】正式验收:其他的第三测试团队再测试次正式验收:1、Alpha测试:是由户、测试员、开发员等共同参与的内部测试2、Beta测试:测试指的是内测后的公测,即完全交给最终户的测试冒烟测试:测试项的主流程是否通过交叉测试:1、系统功能较稳定的情况下才会做交叉测
5、试2、项时间较充裕的情况下做交叉测试为什么要做交叉测试?1、长时间测试个系统会产视觉和习惯上的疲劳2、换个测试,由每个的测试习惯能够发现新的问题3、从保证项的质量V模型也叫个项的命周期;V模型的缺点:没有明确说明早期测试,在测试原则中:测试员应该尽早的投测试,与开发同步进;提出了优化后的模型:W模型V模型的优点:明确标注了测试阶段与开发各阶段的对应关系;九、盒测试九、盒测试1、只关注输条件和预期结果2、不关注程序内部结构,主要做功能测试、盒测试、盒测试1、需要关注程序的内部结构,主要是做动化测试2、单元测试也属于盒测试的种、盒测试的常法、盒测试的常法语句覆盖,判断覆盖,条件覆盖,判断/条件覆盖
6、,基本路径覆盖,循环覆盖,模块接覆盖、盒测试的常法、盒测试的常法等价类划分、边界值分析法、因果图法、状态转换法等三、软件测试的种类三、软件测试的种类1、界测试:也叫UI测试,对系统页进检查2、功能测试:测试系统中所有的功能(在公司中,界属于功能测试的种)3、回归测试:重复测试,也叫返测。(1)开发修复bug后,测试员重新测试,叫回归测试(2)上期版本的项已经做好了,这期变化,那么我们可以使上个版本的测试例进回归测试。P.s.要注意回归测试的时候有新问题出现4、接测试:(1)主要测试服务通不通;(2)含义:查看模块与模块之间、系统与系统之间能不能关联;(3)具:SOAPUI、POSTMAN、JM
7、ETER5、性能测试:(1)模拟我们真实的户并发测试系统最的承受能;简单来说,就是看我们的系统是怎么死的(2)具:LOADRUNNER(付费),JMETER(开源)6、动化测试:(1)把以为驱动的测试为转化为机器执的种过程;(2)优点:可以模拟测试,减少重复机械的测试作量,量于回归测试;(3)具:QTP、ROBOT、SELENIUM7、安全测试:(1)权限测试:主要是各种登录系统,查看各的权限是否得到控制;(2)跨站脚本(3)跨录访问(4)SQL注后三个在公司般是由专门负责安全测试员去进测试,会到静态代码扫描具(APPSCAN)进测试。8、兼容性测试:BS架构web项浏览器的兼容性;CS架构a
8、pp项操作系统和硬件设备版本不同;9、易性测试:(1)字表达要清晰清楚;(2)操作习惯等;10、验收测试11、随机测试:“猴”测试,随意向系统输操作,模拟真实户操作。四、四、SIT和和UAT阶段测试阶段测试1、SIT集成测试功能、接 2-3轮2、UAT系统测试全测试(功能、性能、接、测试、动化、兼容性等)2-3轮1轮=1周P.s. SIT阶段的功能少要完成80%,并且提出的bug已经修复才能进UAT阶段。3、UT冒烟测试系统可以允许没有完成,达到70%的功能已经实现,少主流程已经实现五、测试思维五、测试思维1、先从测试种类去考虑。(界、功能、接、性能、兼容性、易性、安全等)2、根据这个产品的特
9、考虑到他的些异常情况六、测试的原则六、测试的原则1、项中要尽早投测试员;2、在发现错误多的地投更多的精和时间(原则);3、发现问题定要指出;4、并所有的bug都能修复;(1)轻微的问题,不影响项功能使可以放在下个版本去修复,但要请领导,并且得到同意(2)项A数据有误,但已上线,我们是B项,到了A项的数据,导致B项数据有误,那么这种只能等到A项把数据修正了,我们这边才能展5、追溯户需求规格;6、测试员应该开发员更熟悉也需求;七、相关职位缩写七、相关职位缩写DBA数据库PM项经理SPM部门经理BA需求员QA质量管理员QC评审1、QA:监督、跟踪我们项过程中的每步,审核我们所有的档2、项组:项经理(
10、必备)、测试经理、架构师、开发(必备)、测试(必备)、助理、运维、QA、BA(必备)3、公司开发员与测试员的例:3-4个开发1个测试、测试流程与阶段、测试流程与阶段1、需求档由BA根据客户需求写出的档2、需求分析开发、测试、BA、项经理或测试经理3、测试计划由测试经理或者测试组长编写的4、测试案由测试经理输出5、编写测试例测试员6、评审测试例修改测试例(QC报告相当于会议纪要)再次评审7、合格开始执测试例相当于找bug的过程8、发现bug记录缺陷提交缺陷管理库9、开发修复缺陷回归测试关闭缺陷10、输出测试报告测试经理或测试组长输出九、测试档九、测试档测试计划、测试例、测试报告、测试报、测试周报
11、、会议纪要、性能测试报告、户使册、静态测试、静态测试1、对软件中的需求说明书、设计说明书、程序源代码等进运的检查2、静态测试包括:代码测试、界测试、档测试等、动态测试、动态测试简单的理解:检查系统运,输数据和预测结果是否符合、测试例法、测试例法1等价类、2边界值3因果图、4判定表5场景法6状态转换图7纲法8正交排列法9错误判断法三、测试例内容三、测试例内容1、需求编号从需求档上复制下来2、需求名称从需求档中复制(例如淘宝中的男装、装)3、模块名称复制(例如:装中的连裙,短裙,上)4、例编号根据需求编号往后+001开始递增(例如:需求编号FN08例编号FN08_001)5、例名称唯性,代表整条测
12、试例的核6、优先级、中、低7、前置条件特殊情况下使8、测试步骤如何到达系统的页,详细的记录下来9、输数据使到测试例的法和思维,决定整条测试例质量10、预测结果跟需求档保持致四、什么是测试例四、什么是测试例1、测试例主要记录了测试的过程、步骤、输的数据、预期结果等内容2、它是在执测试之前由测试员编写的指导测试的重要档测试例=例名称+操作步骤+输数据+预期结果五、测试例的途五、测试例的途1、防遗漏功能点未测试2、监督测试的过程3、评估系统的质量4、提测试效率5、缩短周期六、编写测试例参考档六、编写测试例参考档1、需求档2、户册3、与BA(需求员)、开发员、测试员等相关员进讨论七、测试例模板七、测试
13、例模板1、Word或Excel(常)2、Quality Center中的TEXT PLAN模块(测试管理具)、测试例编写思路、测试例编写思路1、正向思维2、逆向思维3、组合思维4、全局思维5、两极思维6、简单思维7、较思维8、发散思维九、测试例法九、测试例法等价类、边界值等价类、边界值1、等价类:有效等价类:在取值范围内属于有效效等价类:在取值范围以外属于效优点:可以清晰的梳理被测对象等价类随意挑选2-3组数据进测试2、边界值:上点:需求设定点内点、离点:1的区别(边界值核)主要于数值范围的使等价类、边界值需配合使三、测试例法三、测试例法因果图因果图1、通过画图的式表达输条件和输出条件之间的约
14、束关系2、“因”(原因)输条件 “果”(结果)输出结果3、般输与输的关系、输与输出的关系4、因果图的思想:因为什么原因产了什么样的结果5、因果图的基本符号(输与输出的关系):恒等:(1)当输条件发时,结果定会出现;(2)当输条件不发时,结果定不出现;:取反;(1)当输条件发时,结果定不会出现; (2)当输条件不发时,结果定会出现;或:(1)当多个输条件,只要有个条件满,结果就出现; (2)如果输条件都不满,则结果不满;与:(1)若个输条件都满,结果才出现6、因果图的约束条件(输与输的关系):E互斥(异):如果选,只能选个,可以不选I包含(或):少选个,可以多选但不能不选O唯:必须选,且只能选个
15、R要求:如果a=1,则要求b必须是1M屏蔽():取反7、因果图的优缺点优点:可以快速的梳理业务逻辑关系。条件、组合、限制关系缺点:每个的想法有差异,导致例的条数不致三、测试例法三、测试例法判定表判定表1条件桩、条件项、动作桩、动作项2条件=条件桩3例条数:结果状态的(条件数)次结果的状态=动作桩3、9种测试例法,没有哪种是完胜的,需要配合使4、判定表的应步骤(1)理解需求,确定条件桩和动作桩条件桩=输条件 ,动作桩=输出结果的状态(2)设计和优化我们的判定表(3)填写动作项,也就是它的业务逻辑(4)根据判定表中输出结果的表现,进判定表的合并(不定得做此操作)简化判定表(如果输出相同,在其对应的
16、输中,有且只有个条件的取值,对动作不产任何影响的,则可以合并)(5)抽取测试例判定表给出的只是规则,不像边界值、等价类可以直接给出测试例(6)编写测试例5、判定表的优点(1)能够将复杂的问题按照各种可能的情况全部列举出来;(2)简单并避免遗漏;(3)能够通过公式计算出测试例总条数;6、判定表的缺点(1)输条件之间的限制条件关系不好表达 解决案:填写备注来描述限制关系;(2)当输次数过多,规则以2的N次剧增时,判定表就会很庞,这时候判定表会造成逻辑缺失,业务混乱,需要细致分析,尽可能划分多个需求项,再使判定表;(3)有重复的测试场景 解决案:简化判定表三、测试例法三、测试例法场景法场景法1、基本
17、流:按照正确的业务流程来实现的条操作路径(模拟正确的操作流程)2、备选流:导致程序出现错误的操作流程(模拟错误的操作流程)三三、测试例法三三、测试例法纲法纲法1、在个程序或程序的某个模块中,涉及到多个窗,每个窗中能够完成多个动作,这些窗互相联系。为了弄清楚窗和窗之间的关系,或者说动作与动作之间的关系,可以使到测试纲法。2、纲法适于软件的安装程序测试,检查界测试要点以及窗之间的变化。三四、测试例法三四、测试例法正交排列法(正交实验法正交排列法(正交实验法/优选优选法)法)1、因:所有参与实验的影响实验结果的条件条件桩(例如:QQ登录,户名字段)2、平:影响实验因的取值或输条件项(输框内输的值)3
18、、正交表记为:L是正交表的符号;n是测试组合的次数(测试例条数);k是表的列数(因个数);m是平数;4、种类:(1)平相同正交表公式:n=k*(m-1)+1(常)(2)混合平正交表5、正交表的优点:经过严格的数学推理来,可以提效率,正交排列法计算的测试例是最优的,因此也叫优选法。6、正交表的缺点:会漏掉些测试场景 解决案:根据错误推断法增加测试例。7、正交排列的步骤:(1)看需求(2)找出因和平个数(3)通过公式计算出测试例条数(4)找到对应的试验号(5)把控件及其取值映射到正交排列表中(6)编写测试例(7)如果缺少测试场景,需要补充9种测试法总结在作中经常使到的法有:等价类+边界值+因果图+
19、场景法+错误推断法【你是不是项中的?】是。1.测试的模块是项的核内容2.我们项组的测试计划报告都是我来出的,包括周报、报的汇总3.我会Jmeter做性能测试,我们项组的性能测试基本上都是我主导的4.我学了Python,然后会给项组的其他成员进技术分享5.对接开发和其他系统的沟通基本也是我做的【Web项实战项实战美萍酒店管理系统】美萍酒店管理系统】三五、测试流程与阶段三五、测试流程与阶段1.需求分析2.测试计划3.测试案4.编写测试例、评审5.执测试例、提bug单6.回归测试输出测试报告三六、需求分析三六、需求分析1先看需求档,了解整个项的架构,找到所负责的模块2将负责的模块,整体的流程弄清楚,
20、然后再去了解细节内容3再找到跟负责的模块有关联的模块,搞清楚他们之间的关系和数据流通。4找到测试模块对应的开发,然后进需求确认,需求串讲需求档:1.需求档的的是将需求的功能点梳理并且细化2.是BA进编写,但是要通俗易懂3.为开发和测试员提供依据在公司当中,不是所有的公司都有现成的项给你进参考的需求确认:确认、整理的模块功能,确保需求致1.整理不清晰需求2.分别将以上需求点与需求员和开发员进确认,保证需求的致性和清晰性三七、测试计划三七、测试计划测试计划是描述了要进的测试活动的范围、法、资源和进度的档是对整个信息系统应软件组装测试和确认测试它确定测试项、被测特性、测试任务、谁执任务、各种可能的风
21、险内容:1.简介1.1 产品简介1.2 测试的1.3 测试范围2.测试参考档和测试提交档2.1 测试参考档2.2 测试提交档3.测试进度4.测试资源4.1 资源4.2 测试环境4.3 测试具5.问题严重性及优先级描述5.1 缺陷严重级别定义5.2 缺陷优先级定义5.3 缺陷跟踪及测试版本6.测试风险6.1 时间资源6.2 资源6.3 测试版本6.4 需求变更6.5 其他7.测试策略7.1 户界测试 7.2 功能测试7.3 性能评测7.4 数据库测试7.5 兼容性测试7.6 安全性测试8.总结本次测试计划保证了项地正常进,但具体还需根据项的进度操作。的:测试计划可以有效预防计划的风险,保障计划的
22、顺利实施三、测试案三、测试案的:在向上明确要怎么测,以及达到什么样的质量标准(测试程师需要基于产品功能和测试案来设计和执测试例,同时也要参考产品设计说明档)软件测试案有助于软件项成员理解和执测试过程中的各项活动,同时测试案也有助于测试活动的管理测试计划和测试案的区别:测试计划测试案组织式不同管理件技术件的不同强调“做什么”强调“怎么做”具体要求不同组织架构、作任务分配、作量评估、物资源分配、进度的安排、风险把控和规避、以及各任务通过的准则等。测试需求的细化、测试组流程设计、动化测试框架设计、测试数据和测试脚本设计、测试例设计的法等。总之,测试案需要在测试计划的指导下进,测试计划提出“做什么”,
23、测试案明确“怎么做”测试案总结:此案明确了测试向,细化了需求与业务流程,并在技术写出了具体测试法和应有的验收质量标准,也为后续编写测试例提供参考。三九、测试例三九、测试例【基本规范】1.冻结2.边框为虚线3.标题要设置背景颜并且加粗4.折叠栏以模块的形式划分5.不能有错别字,错的标点符号6.字体统,最好为117.从需求编号预期结果为电脑屏幕正常显,不需要拖动查看8.风格统【思路】1.界2.控件3.功能4.关联、组合功能5.数据的校验颗粒度归类清晰颗粒度覆盖全【你天能写多少测试例?】颗粒度40-50条颗粒度200条【测试例的件名】项名+版本号+测试例【说明】机密等级:绝密(只能层领导查看)、机密
24、(本项组的查看)、秘密、公开四、测试例的评审四、测试例的评审测试例评审之后,我们将有问题的地进修改【测试例需要随时更新?】需求变更、代码改动,测试例随时改变四、缺陷报告的处理流程四、缺陷报告的处理流程【bug的标题】【模块名称】进xxx页,类型与份证号码不匹配也能查询成功提bug单的原则:有图有真相(截图)缺陷报告bug单严重程度:致命、严重、般、轻微【如果出现问题定会提单吗?】1.先看下是属于什么样的问题。界的问题,我们可以先记录下来,进跟踪。2.其他的问题,定要提单四、禅道四、禅道赋予权限赋予测试员的权限可以提bug单,也可以查询我们项组甚我们公司内部所有项的bug单不能删除的bug单,也
25、不能删除别的bug单不能提重复和效的bug单(再三检查和确认)不允许修改可以到处查看测试例【到公司的第步】打开电脑【第步】打开邮箱和沟通具【问题】测试这边测试的第个模块出现的问题跟第个模块出现的问题致,是要归类为个问题还是分开写两个问题?具体问题具体分析1.两个模块出现同样的问题,两个模块是由同个开发员做的,只需要提个bug单2.两个模块出现同样的问题,两个模块是由不同的开发员做的,可以提2个bug单,便跟踪3.如说,第个模块和第个模块出现同个问题,你可以提个单,然后马上在作群把这个问题暴露出来注意:如果个问题在多个模块出现,那么就要注意这个问题,并且在作群知会其他补充:在作中你发现了个bug
26、,但是开发不承认,你如何跟他沟通,处理这个事情?1、截图,找出问题,重现给开发员看2、如果这个时候开发还是不承认,就找的直接领导测试经理去说明这个问题的重要性,让他进沟通3、测试经理这时候般会找项经理沟通测试报告:含义:测试报告是指把测试的过程和结果写成档,对发现的问题和缺陷进分析,为纠正软件存在的质量问题提供依据,同时为软件验收和交付打下基础。APP项项常见缺陷:功能实现错误,功能未实现或只实现了部分,APP崩溃(最常见问题,影响较严重)四三、安装,卸载测试要点四三、安装,卸载测试要点常见缺陷:1. 安装过程中出现闪退2. 安装完成后,点击APP反应3. 安装完成后,点击APP出现闪退4.
27、已存在旧版本但不卸载旧版本,进新版覆盖时,版本号更新,内容没有更新测试要点:1. 应是否可以在IOS、Andriod不同系统版本上安装2. 软件安装后是否可以正常运,安装后的件夹及件是否有相应提3. 安装过程中是否可以取消,安装空间不时是否有相应提4. 检查安装包是否齐全5. 如果应需要通过络验证之类的安装,需测试在断时有相应提6. 是否可以删除程序(通过桌删除和软件卸载)7. 卸载后是否会会删除全部件8. 卸载过程异常(死机,来电,闹钟弹窗等),在环境恢复后是否可以正确卸载9. 卸载过程是否持取消功能,单击取消之后软件情况是否正常四四、软件更新测试要点四四、软件更新测试要点1. 当客户端有新
28、版本时,有更新提2. 确保Android软件更新版本时,安装运正常3. 确保IOS更新会有限制,正式版只有上了商店且有新版本才能更新4. 户取消更新旧,旧版本可正常使,下次启动时仍提更新5. 有新版本时,不删除客户端的情况下,可直接更新,更新后版本正确6. 必须持跨版本更新四五、户界四五、户界1. 不符合UI设计或与界原型不致2. 图显不完全,按钮显错乱,请求新页的内容成功返回后和原来的页内容重叠,在编辑框输过长的内容等3. 上拉刷新或者下拉刷新时出现页加载错误四六、功能测试要点四六、功能测试要点1. 验证在不同的屏幕分辨率、操作系统和运营商等多个设备上的APP为2. 新发布的操作系统验证AP
29、P为3. 验证在如隧道、电梯等络质量突然变差的环境中的APP为4. 通过动改变机络(从Wi-Fi机络或反过来)验证APP为5. 验证在没有络的环境中APP的为6. 验证来电/短信和设备特定提醒(如闹钟)和通知时APP的为7. 通过改变设备的向,以不同的视图模式,验证APP为8. 验证内存不时APP的为9. 通过测试具施加荷载验证APP为10. 不同的持语验证APP为四七、性能测试要点四七、性能测试要点1. 次启动时长2. 运加载时间3. 进某个页的时间4. 启动某有动画效果的界,动画执过程5. 响应某户事件时的响应时间6. 长时间运后,随机出现卡顿现象7. APP出现屏8. APP崩溃9. A
30、PP使时,电量、流量消耗10. APP使时对CPU、内存的消耗情况11. 服务器法响应,报HTTP500错误等四、交叉事件(交叉测试、冲突测试)测试要点(APP的优先级不能于机的主要功能电话,短信,闹钟等)1. 多个APP同时运是否影响正常功能2. APP运时前/后台切换是否影响正常功能3. APP运时拨打/接听电话4. APP运时发送/接收短信5. APP运时发送/接收邮件6. APP运时切换机络(2G,3G,4G,WIFI等)7. APP运时浏览络8. APP运时使蓝传送/接收数据9. APP运时使相机、计算器等机带具四九、户体验测试要点四九、户体验测试要点1. 界不美观,不符合主流户使习惯,菜单层次太深,相关的选项离得太远2. 页加载时间过长(2-5-10原则)3. 页排版过长4. 不友好的导航,缺少返回按钮5. 过期的内容或信息6. 死链接或错误链接7. 缺少互动内容(意见反馈、客服通道等)