




已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件测试基础目录一、软件测试是什么二、软件测试发展的历程三、软件测试的职业发展自动化测试性能测试转岗四、互联网公司的人员结构五、软件测试的分类按方法分类按方向分类按阶段分类按对象分类按状态分类其他测试类型六、研发模型瀑布型V字型W字型螺旋形H字型敏捷模型七、测试流程测试常识需求分析阶段测试设计阶段测试执行阶段测试总结阶段八、测试方法边界值等价类场景法因果图判定表路径覆盖法错误推测法正交排列法九、的管理六要素的状态的生命周期常见的管理系统十、版本管理十一、测试应用测试测试十二、软件的典型结构十三、评审一、软件测试是什么预期结果 = 实际结果 ? 测试通过 :软件Bug ;经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。标准定义(IEEE):软件测试是使用人工或自动的手段来运行或测定某个 软件系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。二、软件测试发展的历程软件测试就是去证明软件是正确的软件测试就是去证明软件是错误的软件测试就是通过一系列的手段去保证软件的质量是符合用户需求的一个过程正在经历的阶段(国外:通过管理的手段去控制软件的质量。国内:通过技术的手段去控制软件的质量)三、软件测试的职业发展 功能测试工程师自动化测试、性能测试、转岗1、自动化测试(自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程)测试开发:协助开发编写单元测试,规范开发输出;帮助功能测试人员提升技术实力,能够独立完成自动化测试工作;开发测试平台;挖掘测试需求,通过技术手段帮助测试团队提升测试效率。持续集成:是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。TestOps(测试运维):其主要的目的是推动整个研发体系 与发布体系更多在质量方面,是从测试角度推动研发和运维2、性能测试高级性能测试(性能调优)性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。3、转岗产品、运维、开发等四、互联网公司的人员结构项目经理(负责对整个项目负责,包括了时间、人物、资源的安排和分配)、产品经理(对产品负责,负责需求的设计、收集、整理等等)、开发(前端、后端)、测试、运维、设计(设计UI排版、配色)、运营五、软件测试的分类1、按方法分类黑盒测试:在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。白盒测试:白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。白盒法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。灰盒测试:多用于集成测试阶段,不仅关注输出、输入的正确性,同时也关注程序内部的情况。灰盒测试不像白盒那样详细、完整,但又比黑盒测试更关注程序的内部逻辑,常常是通过一些表征性的现象、事件、标志来判断内部的运行状态。2、按方向分类功能测试(手工测试、自动化测试):就是对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能。性能测试:压力测试:通常是在高负载情况下来对系统的稳定性进行测试,更有效地发现系统稳定性的隐患和系统在负载峰值的条件下功能隐患等。负载测试:是通过改变系统负载方式、增加负载等来发现系统中所存在的性能问题。并发测试:主要指当测试多用户并发访问同一个应用、模块、数据时是否产生隐藏的并发问题,如内存泄漏、线程锁、资源争用问题安全测试:是在IT软件产品的生命周期中,特别是产品开发基本完成到发布阶段,对产品进行检验以验证产品符合安全需求定义和产品质量标准的过程 。(SQL注入、渗透测试、暴力破解、跨域攻击、DOS攻击等等)3、按阶段分类单元测试:(代码、方法、函数、类)是指对软件中的最小可测试单元进行检查和验证。集成测试:(接口/API)也叫组装测试或联合测试。在单元测试的基础上,将所有模块按照设计要求(如根据结构图)组装成为子系统或系统,进行集成测试。系统测试:(功能、性能、安全、易用性(用户体验)、兼容性(APP(IOS/Android)/WEB )、稳定性、UI等等)是对整个系统的测试,将硬件、软件、操作人员看作一个整体,检验它是否有不符合系统说明书的地方。验收测试(交付测试):目的是确保软件准备就绪,并且可以让最终用户将其用于执行软件的既定功能和任务。4、按对象分类APP测试、WEB测试、物联网测试、车联网测试、小程序测试、数据库测试、大数据测试、AI测试、嵌入式测试等等。5、按状态分类动态测试:动态测试方法是指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率、正确性和健壮性等性能。静态测试:静态方法是指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。6、其他测试类型冒烟测试:是针对软件版本包进行详细测试之前的预测试,执行冒烟测试的主要目的是快速验证软件基本功能是否有缺陷。即测试前的测试,检查软件是否具备可测试性。回归测试:是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。即检查上一个版本的BUG是否修改。测试(内测):由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的测试。测试的目的是评价软件产品的FLURPS(即功能、局域化、可用性、可靠性、性能和支持)。尤其注重产品的界面和特色。测试(公测):是指软件开发公司组织各方面的典型用户在日常工作中实际使用版本,即发放一部分给用户进行测试,并要求用户报告异常情况、提出批评意见,然后软件开发公司再对版本进行改错和完善。六、 研发模型1、 瀑布流:瀑布模型是将软件生存周期的各项活动规定为按固定顺序而连接的若干阶段工作,形如瀑布流水,最终得到软件产品。优点:为项目提供了按阶段划分的检查点;当前一阶段完成后,只需要去关注后续阶段;可在迭代模型中应用瀑布模型。缺点:阶段之间产生大量的文档,极大地增加了工作量;由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发风险;2、V字型:与瀑布模型基本无差异,将开发与测试的工作做了对照关系。3、W字型优点:测试的活动与软件开发同步进行;测试的对象不仅仅是程序,还包括需求和设计;尽早发现软件缺陷可降低软件开发的成本。4、螺旋形螺旋模型最大的特点在于引入了其他模型不具备的风险分析,使软件在无法排除重大风险时有机会停止,以减小损失。同时,在每个迭代阶段构建原型是螺旋模型用以减小风险的途径。螺旋模型更适合大型的昂贵的系统级的软件应用。5、H字型H模型揭示了一个原理:软件测试是一个独立的流程,以独立完整“微循环”流程,参与产品生命周期的各个阶段,与其他流程并发地进行。H模型指出软件测试要尽早准备,尽早执行,只要某个测试达到准备就绪点,测试执行活动就可以开展,并且不同的测试活动可按照某个次序先后进行,但也可以是反复进行的。6、敏捷模型敏捷测试应该是一套解决方案、一类测试操作与管理的框架、一组实践或由一定顺序的测试活动构成的特定的测试流程。如站立会、集中办公、高效的沟通、小黑板、工作日报七、 测试流程测试常识:软件是程序、文档、数据的集合。文档测试也是测试的一部分。5W1H/六合分析法(是对选定的项目、工序或操作,都要从原因(何因Why)、对象(何事What)、地点(何地Where)、时间(何时When)、人员(何人Who)、方法(何法How)等六个方面提出问题进行思考)。测试是无穷无尽的1、 需求分析阶段需求文档/产品原型(工具:墨刀)/口述学习业务流程、软件功能编写需求分析说明书提取功能点(树状结构模型)2、测试设计阶段为什么要编写测试计划?领导能够根据测试计划做宏观调控,进行相应资源配置等;测试人员能够了解整个项目测试情况以及项目测试不同阶段的所要进行的工作等;便于其他人员了解测试人员的工作内容,进行有关配合工作什么时间开始编写测试计划?(测试需求分析前总体测试计划书/测试需求分析后详细测试计划书);由谁来编写测试计划?具有丰富经验的项目测试负责人;测试计划编写6要素?(5W1H)why为什么要进行这些测试;what测试哪些方面,不同阶段的工作内容;when测试不同阶段的起止时;where相应文档,缺陷的存放位置,测试环境等;who项目有关人员组成,安排哪些测试人员进行测试how如何去做,使用哪些测试工具以及测试方法进行测试。测试计划:对人员、时间、任务、资源的分配测试策略:对于测试活动的执行的优先级的管理、针对有可能出现的意外进行控制(风险分析)、制定管理的标准(测试开始和结束的标准)测试方案:具体的测试应该怎么去做测试用例:编号:编号是绝对唯一的用例名称:要求言简意赅,让人看到就知道这个用例的作用前置条件:在执行这个用例之前的软件必须达到的一个状态优先级:和执行用例的时间相关,即测试的顺序重要级:和被测的功能的重要性相关测试数据:测试步骤:预期结果:实际结果:3、测试执行阶段:执行测试用例、记录BUG、BUG的跟踪管理4、测试总结阶段(测试报告):工作总结:BUG统计分析:测试覆盖率、BUG的统计(测试人、开发、功能模块、BUG的状态、的等级、版本)、BUG的分析质量评估:一二级的全部被解决了、三级的被解决了、四级的BUG无所谓。八、 测试方法边界值:边界值分析关注的是输入空间边界,用以标识测试用例,基本思想是在最小值(min)、略高于最小值(min+)、正常值(nom)、略低于最大值(max-)和最大值(max)等处取值。等价类:等价类划分法将程序所有可能的输入数据(有效的和无效的)划分成若干个等价类。然后从每个部分中选取具有代表性的数据当做测试用例进行合理的分类,测试用例由有效等价类和无效等价类的代表组成,从而保证测试用例具有完整性和代表性。场景法:列出用户可能会操作的所有场景(成功的场景、失败的场景)因果图:用于描述被测对象输入与输入、输入与输出之间的约束关系。判定表:是分析和表达多逻辑条件下执行不同操作的情况的工具。判定表通常有以下四个部分组成:1)条件桩(Condition Stub):在左上部,列出了问题的所有条件。通常认为列出的条件的次序无关紧要。2)动作桩(Action Stub):在左下部,列出了问题规定可能采取的操作。这些操作的排列顺序没有约束。3)条件项(Condition Entry):在右上部,列出针对它左列条件的取值。在所有可能情况下的真假值。4)动作项(Action Entry):在右下部,列出在条件项的各种取值情况下应该采取的动作。路径覆盖法:选取足够多的测试数据,使程序的每条可能路径都至少执行一次(如果程序图中有环,则要求每个环至少经过一次)。错误推测法:在测试程序时,人们可以根据经验或直觉推测程序中可能存在的各种错误,从而有针对性地编写检查这些错误的测试用例的方法。正交排列法:一种特制的表,一般的正交表记为:n是表的行数,也就是测试组合的次数K是表的列数,表示控件的个数(因素的个数,或银子个数)m表示每个控件包含的取值。九、 BUG的管理BUG六要素:编号:唯一的BUG名称:言简意赅,一眼看出这个BUG的状态优先级:和时间有关(高、中、低)严重级别:致命的(导致软件崩溃、和钱有关、阻碍了核心业务的流程)、 严重的(重要的功能出现异常)、一般的(非核心的功能出现了异常)、轻微的(建议性的问题、UI上的问题)复现步骤:将你在测试中出现BUG的步骤写出来。确保所有的步骤都被记录,记录下所做的每一件事、每一个步骤、每一个停顿。无意间丢失一个步骤或者增加一个多余步骤,可能导致无法再现软件缺陷。附件:对的存在的一个佐证(截图、视频、日志)的状态:新建/open/激活、已确认、已解决/fixed、关闭/closed、重新打开/reopen、延期解决、拒绝、已重复的生命周期:发现BUG,确认BUG,分配BUG,修复BUG,验证BUG,关闭BUG。常见的BUG管理系统:禅道、BugFree、Testlink、ALM/QC、Bugzilla、JIRA等等十、 版本管理迭代是重复反馈过程的活动,其目的通常是为了逼近所需目标或结果。每一次对过程的重复称为一次“迭代”,而每一次迭代得到的结果会作为下一次迭代的初始值。版本迭代测试迭代十一、 测试应用APP测试:场景交互测试、安装/卸载测试、消息推送、权限、弱网测试(2G、3G、4G、5G、WIFI)、离线等等。目前APP测试在市场中占有相当一部分比例,今天我们就来浅谈一下APP测试需要注意哪些方面,在APP测试的时候,建议让开发打好包APK和IPA安装包,测试人员自已安装应用,进行测试。在测试过程中需要注意的测试点如下。1.安装和卸载应用是否可以在IOS不同系统版本或Android不同系统版本上安装(有的系统版本过低,应用不能适配)软件安装后是否可以正常运行,安装后的文件夹及文件是否可以与到指定的目录里。安装过程中是否可以取消。安装空间不足时是否有相应提示。如果应用需要通过网络验证之类的安装,需要测试一下断网情况下是否有相应提示是否可以删除应用(可通过桌面删除,也可以通过软件卸载安装。曾发现在IOS手机上有个应用安装时未完全安装,终止安装后,未完成安装的应用图标一直显示在手机上,并且无法成功删除)测试卸载后文件是否全部删除所有的安装文件夹卸载过程中出现死机,断电,重启等意外的情况,待环境恢复后是否可以正确卸载卸载是否支持取消功能,单击取消后软件卸载情况是否正常2.运行APP安装完成后,是否可以正常打开软件APP运行时,是否有加载图示APP的速度是可以让人接受,切换是否流畅用户登录状态太久,sessionld会过期,会出现虽然是登录状态,系统会提示用户没有登录。3.登录登录用户名和密码错误时,界面有提示信息用户主动退出登录后,下次启动APP时,应该进入登录界面对于支持自动登录的APP,数据交换时,是否能自动登录成功且数据库操作无误码更改后,登录时是否做到了有效数据的校验对于未登录时一些页面的操作,是否做了控制切换账号登录,检验登录的信息是否做到及时更新对于多个端都进行操作时,确保数据库操作无误,且每个端可以及时看到数据的更新对于一些软件,支持一个账号只允许登录一台机器,这时,需要检查账号登录多个手机时,是否将原用户剔除,且能够给出提示信息APP切换到后台时,再次切换到前台的测试,如登录时,有电话打进来对于IOS与Android不同设备登录同一个账号时,对个人信息等数据进行操作后,确保数据数库操作无误,且IOS 与Android设备看到的数据都是最新的。4.离线离线是应用程序在本地的客户端会缓存一部分数据以供程序下次调用对于一些程序,需要在登录进来后,这时没有网络的情况下可以浏览本地数据对于无网络时,刷新获取新数据时,不能获取数据且能给出友好提示切换到后台,再次切换到前台时,可以正常查看离线后又连上网,这时对数据有更新时,需要从服务器端获取新数据来更新客户端数据,且要更新本地缓存信息对于一些界面的数据不提供离线查看,需要给出相应提示且界面更新后无任何数据确认在无网情况下可以浏览本地数据确认退出APP再开启APP时能正常浏览确认切换到后台再切回APP应用时可以正常浏览锁屏后再解锁回到应用前台可以正常浏览服务端的数据有更新时有离线的提示5.数据更新确认有数据更新后,哪些地方需要手动刷新,哪些地方需自动刷新。确认从后台切换回前台时,哪些页面需要进行数据更新根据需求和逻辑,确认哪些数据是从服务端请求实时响应,哪些是缓存到本地的数据。6.消息推送开关设置默认开关应该是全打开状态设置开关可以自由打开关闭设置开关打开状态下,消息推送是否可正常接收(应用启用中和应用关闭时都应该可以收到)确认后台未打开APP客户端时,手机消息栏可以接收到消息提醒。且点击可查看。点击后消息栏中消失确认APP客户端启动时,可以收到消息提醒,且点击可查看。客户端运行时,消息不会进消息栏。设置开关关闭时,客户端接收不到消息推送。7.软件更新当客户端有新版木时,有更新提示软件更新一定要测,确保Android软件更新可以正确更新新版本,且安装运行正确。确保IOS软件更新会有限制,只有上了商店且有版本更新时才会测试,但是如果真有问题,再发现问题不点晚,可以让开发先在测试机上模拟;一个地址进行测试。用户取消版本更新时,老版本可以正常使用,但是下次启动应用时,仍出现更新提示当有新版本时,不删除客户端的情况下,直接更新检查是否能正常更新,且更新后客户端的功能是否最新版本(正常来讲不用强制删除本地客户端可以正常更新)8.异常测试没有内存空间时,APP能否正确响应APP运行中手机断电APP运行中断开网络反复操作某个功能,不断点击,刷新时,是否会闪退APP运行时拔打或接听电话APP运行时发送信息、收取邮件等多个APP运行时不断切换前台和后台,是否影响应用正常功能APP运行时,启动相机功能9.网络环境测试2G、3G,4 G, WIFI网络下应用运应的速变内网测试时,选择到外网操作是否有异常处理网络不好时,提交数据是否一直处理提交中,是否会有延迟,数据交换失败是否会有提醒有网到无网再到有网环境时,数据是否可以自动恢复,正常加载10.其它接口测试,让开发提供-一份接口文档,一定要将接口测试通。在接口测试阶段,将缺少接口,接口不完善的缺陷挖掘出来。这个需要准备充分的后台数据。导航测试,在运行APP时,不管在哪个接点,导航是否直观,精准,页面切换是否正确。图片测试,图片,按钮是否自适应。内容测试,要进行超长字符,空字符校验且校验是否有错别字功能测试,功能是否实现。易用性测试,所开发的功能,是否让用户容易接受,是否符合大众的操作习惯。适配性测试,应用在不同设备,不同系统上是否适配。UI测试,应用的设计是否够美观WEB测试:WEB项目,一般都是B/S架构, 基于浏览器的,而APP则是C/S的, 必须要有客户端。那么在系统测试测试的时候就会产生区别了。首先从系统架构来看的话,web测试只要更新了服务器端,客户端就会同步会更新。而且客户端是可以保证每一个用户的客户端完全一致的。但是APP端是不能够保证完全一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国家用血压仪行业市场全景分析及前景机遇研判报告
- 税务师考试初级课件
- 中国黑龙江煤炭工业调查报告
- 医用高频仪器设备项目风险分析和评估报告
- 竹瓢项目投资可行性研究分析报告(2024-2030版)
- 2025年 云南省危险化学品经营单位安全管理人员考试练习题附答案
- 热扩直缝钢管行业深度研究报告
- 扇型卡具项目投资可行性研究分析报告(2024-2030版)
- 2025年 丽江市高级保育员职业技能考试练习题(50题)附答案
- 中国液态硅橡胶(LSR)市场调查研究调查报告
- 2025年 道路运输企业主要负责人考试模拟试卷(100题)附答案
- 2025至2030中国执法系统行业经营效益及前景运行态势分析报告
- 供应链公司展会策划方案
- 南通市崇川区招聘 社区工作者笔试真题2024
- 2025年广东省万阅大湾区百校联盟中考二模语文试题(含答案)
- 【艺恩】出游趋势洞察报告
- 护士理论考试试题及答案
- 学生因病缺课管理制度
- 2025年江苏省苏州园区星海中考英语二模试卷
- 福建省厦门市2023-2024学年高一下学期期末质量检测历史试题(解析版)
- 四川省成都市西川中学2025年八年级英语第二学期期末检测模拟试题含答案
评论
0/150
提交评论