ImageVerifierCode 换一换
格式:DOCX , 页数:31 ,大小:780.45KB ,
资源ID:28609350      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/28609350.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(软件测试技术基础知识.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

软件测试技术基础知识.docx

1、软件测试技术基础知识一、 软件测试概述软件是计算机系统中与硬件相互依存的一部分,包括程序、数据以及与其相关文档的完整集合。其中,程序是按事先设计的功能和性能要求执行的指令序列;数据是使程序能正常操作信息的数据结构;文档是与程序开发、维护和使用有关的图文材料。软件测试的目的GB/T 155322008软件测试目的:验证软件是否满足软件开发合同或项目开发计划、系统设计文档、软件需求规格说明、软件设计说明和软件产品说明等规定的软件质量要求;通过测试,发现缺陷;为软件产品的质量测量和评价提供依据。软件测试的目标确保产品完成了它所承诺或公布的功能确保产品满足性能和效率的要求确保产品是健壮的、适应用户环境

2、的软件质量保证和软件测试的区别软件测试是软件质量保证的一部分,有助于提高软件的质量,但不是软件质量保证的全部。软件质量保证与软件测试的主要区别是:质量保证侧重事前预防,而软件测试侧重事后检测;质量保证要管理和控制软件开发流程的各个过程,软件测试只能保证尽量暴露软件的缺陷。相关人员的角色也有较大差别。软件质量保证人员的主要职责是创建和加强促进软件开发并防止软件缺陷的标准和方法。软件测试工程师的目标是在最短的时间内发现尽可能多的缺陷,并确保这些缺陷得以修复。软件测试技术分类 按照软件测试时是否查看程序内部代码结构分为黑盒测试和白盒测试按照软件的开发阶段可以分为单元测试、集成测试、系统测试和验收测试

3、;按照是否需要执行被测软件的角度,可以分为静态测试和动态测试;按照测试目标的不同,可以分为功能测试和非功能测试;按照测试的执行方式,又可以分为手工测试和自动化测试。黑盒测试方法主要有:等价类、边界值、判定表、因果图、状态图、正交法、错误猜测法、大纲法; 其局限性是着眼于程序的外部结构,不考虑内部逻辑,主要针对软件界面和软件功能进行测试白盒测试方法主要有:一般包括控制流测试(语句覆盖测试、分支覆盖测试、条件覆盖测试、条件组合覆盖测试、路径覆盖测试)、数据流测试、程序编译、程序插桩、域测试和符号求值; 其局限性,无法检查程序的外部特性,无法对未实现的规格说明的程序内部欠缺部分进行测试。手工测试和自

4、动化测试 手工测试手工测试,是利用人工的方式去执行测试和自动化测试相对应,属于最基本的测试方法。自动化测试自动化测试是利用工具或程序来代替人工的测试方法。V模型的测试级别1单元测试 也称为组件测试,是指对软件中的最小可测试单位进行检查和验证,它的目的是检验软件基本组成单元的正确性。单元测试是编写一小段代码,用于检验被测代码的一个很小很明确的功能是否正确,编写的这一小段代码被称为桩或驱动。桩(Stub):一个软件组件框架的实现或特殊目的的实现,用于开发和测试另一个调试或依赖于该组件的组件,它代替了被调用的组件。驱动器(Driver):代替某个软件组件来模拟控制和调用其他组件或系统的软件或测试工具

5、。2.集成测试集成测试是通过测试的单元模块组装成系统或子系统再进行测试,目的是对组件之间的接口进行测试,以及测试一个系统内不同部分的相互作用。集成测试实施包括自底向上集成测试和自底向下的集成测试。自底向上的集成是从最底层模块开始;自顶向下的集成是从主控模块(主程序,即根节点)开始。3.系统测试系统测试是针对整个产品系统进行的测试,目的是验证系统是否满足了需求规格的定义,找出与需求规格不符或与之矛盾的地方,从而提出更加完善的方案。 缺点是,它发现的是非功能性缺陷、概念性缺陷、设计整个系统的缺陷4.验收测试包括用户验收测试;运行(验收)测试; 合同和法规性验收测试; 测试和测试。测试和测试的不同是

6、测试开发者通常不在现场功能测试功能测试就是指系统能做什么,通常是一项黑盒操作其涉及了软件在功能上正反两面的测试,而非功能测试就是所有其他方面的测试。安全性测试、互操作性测试也是功能测试的一种。非功能特性测试(非功能测试)非功能测试是指为了测量系统和软件的特征,需要进行的测试。其包括但不限于以下:性能测试、负载测试、压力测试、可用性测试、可维护性测试、可靠性测试和可移植性测试、兼容性测试、安全性测试、本地化测试、配置测试。冒烟测试 “冒烟测试”是指测试版本的主要功能的测试。功能自动化测试工具UFT(QTP) Selenium WinRunner SilkTest性能自动化测试工具LoadRunn

7、er JMeter WebLOAD WAS测试管理工具 QC BugFree 禅道二、软件测试流程包括:测试需求分析 测试计划制定 测试用例设计 测试环境搭建 测试环境搭建 测试执行及缺陷处理 测试总结报告 测试文件归档 从测试需求分析开始直至测试文档归档,形成了一个软件测试的PDCA循环(Plan-Do-Check-Analysis,戴明环,质量环)软件需求分析软件需求分析是软件测试流程中的基础一环,用来明确软件测试对象以及测试范围,并作为测试覆盖的基础。软件测试计划制定软件测试计划是指导测试过程的纲领性文件,包含了产品概述、测试策略、测试方法、测试范围、测试配置、测试进度、测试资源、风险分

8、析等。软件测试用例设计 软件测试环境搭建 。测试数据准备传统测试数据分为手动创建和自动化创建 手动创建方法(手动模拟用户的实际操作来创建重要业务流程的测试数据; 通过SQL语句中where查询条件和update方法来创建符合条件的测试数据; 导入本地机器上存储的一些符合条件的测试数据; 导入并加工线上数据变成测试数据。)自动化创建测试数据测试工具 (Data Generator、Databene Benerator、Testgen、Datatect以及Turbo Data)大数据系统所处理的数据具有大规模(Volume)、类型多样(Variety)、产生速度快(Velocity)、商业价值高(

9、Value)等特点,数据获取方式也与传统项目的数据获取方式有所不同。1.真实数据引流 2.生产环境数据复制 3.构造数据拿到数据后,要进行预处理,因为数据可能本身就不是完整的,缺少某些属性值;高维度,所谓的高维度是指数据的属性或字段太多;数据可能存在重复;数据可能会由于包含代码或者名称的差异导致跟实际需要的数据不一致;数据中存在着错误或异常数据。数据预处理的方法:(1)缺失值的处理。总的原则是:使用最可能的值代替缺失值,使缺失值与其他数值之间的关系保持最大。(2)异常值的处理。异常值是数据集中偏离大部分数据的数据。(3)数据的标准化处理。数据的标准化是将数据按比例缩放,使之落入一个小的特定区间

10、。(4)数据连续属性离散化。一些数据挖掘算法,特别是分类算法,要求数据是分类属性形式。常常需要将连续属性变换成分类属性,即连续属性离散化。软件测试过程模型v模型v模型是最具代表性的测试模型,清楚地描述了测试阶段和开发过程各阶段的对应关系。局限性v模型的属性:它仅仅把测试作为在编码之后的一个阶段,是针对程序进行的寻找错误的活动,而忽视了测试活动对需求分析,系统设计和确认功能。W模型强调软件测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,还包括需求、设计以及开发输出的文档。相对于V模型,W模型更科学。局限性w模型无法支持迭代H模型 优1.软件测试模型是一个独立的流程,贯穿于整个产品周期,与

11、其他流程并发地 进行。2.软件测试不仅仅指测试的执行,还包括测试准备工作。3.软件测试要尽早准备,尽早执行。4.软件测试是根据被测物的不同而分层次进行的,支持被测物的多次迭代。5.能够很好地体现测试流程的完整性。总结:在工作中不能为了使用模型而使用模型,要灵活运用各种模型的优点,取其精华,去其糟粕。例如可以中和运用,在W模型的框架下,运用H模型的思想进行独立测试,并同时将测试和开发紧密结合,寻找恰当的就绪点开始测试并反复迭代测试,最终保证按期完成预定目标。软件测试的原则所有的测试最终都应该以用户需求为依据应尽早开展软件测试工作程序员应该尽量避免测试自己编写的程序穷尽测试是不可能的软件测试是有风

12、险的软件测试中的Pareto法则Good-Enough原则Pareto法则Pareto法则又称为80/20效率法则暗示:软件测试发现的80%的错误很可能起源于20%的程序模块。也可以表示,在分析、设计、实现阶段的复审和测试工作能够发现和避免80%的缺陷,而系统测试又能找出其余缺陷的80%(其余20%的80%),最后4%的软件缺陷可能只有在用户大范围、长时间使用后才会暴露出来Good-Enough原则既不要做过多的测试,也不要做不充分的测试,这就是“Good-Enough原则”在适当的时刻,找到一个适当的点,即发现的bug数与投入的成本有显著的正比例关系。三、软件测试计划项目类软件项目类软件的需

13、求由特定用户以合同等契约形式明确下来。产品类软件产品类软件没有特定用户以合同形式明确需求,需求主要由市场分析人员分析潜在客户的潜在需求获得。什么是评审?IEEE729-1983规定:在正式的会议上将软件项目的成果(包括各阶段的文档、产生的代码等)提交给用户、客户或有关部门人员对软件产品进行评审和批准。其目的是找出可能影响软件产品质量、开发过程、维护工作的适用性和环境方面的设计缺陷,并采取补救措施,以及找出在性能、安全性和经济方面的可能的改进。评审的目的是在软件开发与测试的各个阶段进行相应的检查,有利于软件产品与过程的质量提高。软件测试计划概述软件测试计划(Software Test Plan)

14、是一个叙述了预定的测试活动的范围、途径、资源及进度安排的文档。软件测试计划包含了产品概述、测试策略、测试方法、测试区域、测试配置、测试周期、测试资源、测试交流、风险分析等内容。测试计划越早越好坚持5W1H的基本思路,明确软件测试计划内容的6要素采用评审和更新机制软件测试计划要简洁、易读 软件测试计划内容术语定义:对软件缺陷的定义软件未实现产品说明书要求的功能;软件出现了产品说明书中指明不应该出现的错误;软件实现了产品说明书未提到的功能;软件未实现产品说明书虽未明确提及但应该实现的目标;测试人员认为软件不好用,或者不应该出现的功能。测试准则(1)测试进入的准则:是指开始执行测试的时机;(2)测试

15、暂停的准则:描述系统在什么情况下暂停全部或部分测试工作;(3)测试恢复的准则:描述系统恢复测试的必要条件;(4)测试退出的准则:描述测试退出的条件,有正常退出,也有非正常或意外的退出。四、软件测试用例概述软件测试用例是软件测试执行的基础,是软件测试的核心。注意以下几点:(1)避免盲目测试,提高测试效率(2)确保功能需求不被遗漏(3)便于回归测试(4)为测试的度量提供评估基准测试用例的设计(1)在设计测试用例的时候,会考虑以下步骤:(2)获取需求的测试点(2)设计测试用例模板,设计测试步骤(4)确定测试数据(5)评审测试用例测试用例模板;例;Excel 例;word注意测试用例的优先级讲测试用例

16、分为4类 BVTs,高,中和低。在测试用例的编写完成后,要注意对测试用例的维护,这是一个不断修改完善的过程。 五、高效设计测试用例等价类划分法注;黑盒测试用例设计方法主要有等价类划分法、边界值分析法、判定表、因果图法、正交法、场景法以及大纲法和错误推测法等价类划分法: 有效等价类、无效等价类 健壮性等价类测试步骤:分析程序的规格说明,列出有效等价类和无效等价类列出输入条件中可能的组合输入情况。选取合适的数据,编写测试用例边界值分析法边界值分析法(Boundary Value Analysis,BVA)的测试用例来自于等价类的边界,是等价类划分法的补充。使用边界值分析法设计测试用例,首先应该确定

17、它的边界。边界值分析法概述原则:(1)如果输入/输出条件规定了值的范围,则应该取刚达到这个范围的边界的值,以及刚刚大于最小值以及刚刚小于最大值的值作为测试输入数据。但为了检查输入数据超过极限值时系统的情况,还需要考虑健壮性取值,会增加一个略超过最大值和略小于最小值的取值。(2)如果有多个输入/输出变量,可用边界值+正常值的组合模式,即其中一个变量取边界值,其他变量取正常值。(3)同样的,对于有3个输入条件的程序,边界值法的运用也如此。有一个三元函数f(x,y,z),有3个输入变量:x,y,z。它们的取值范围分别为1=x=31,1=y=12,1949=z=2050。边界值分析法和等价类划分法之间

18、最大的区别就是,边界值分析考查正处于等价划分边界或在边界附近的状态。判定表法概念:判定表又称“决策表”,是一种表格状的图形工具,适用于处理判断条件较多,各条件又相互组合、有多种决策方案的情况。组成:1.条件桩:指所有条件的名称,列出的条件的先后次序无关紧要。2.动作桩:指所有可能采取的操作,顺序没有约束。3.条件项:条件桩中的条件所有可能的取值。4.动作项:与条件项紧密相关,列出在条件项的各组取值情况下应该采取的动作。步骤:第1步:分析需求,列出所有的条件桩和条件项;第2步:分析需求,列出所有的动作桩和动作项;第3步:根据规则,设计初始判定表;第4步:简化判定表,合并相似规则,设计测试用例。优

19、点:能够将复杂的问题按照各种可能的情况全部列出来,简明并避免遗漏,而且对条件的组合顺序并无要求。缺点:没有考虑输入条件之间的相互制约关系因果图法 (1)E约束(异、互斥):a、b、c中最多有一个可能为1,也就是a、b、b不能同时为1,输入条件之间为互斥关系。但可以同时为0。(2)I约束(或、包含):a、b、c中最少有一个必须是1,也就是a、b、c不能同时为0,输入条件之间为包含关系。但可以同时为1。比如程序中的多选按钮。(3)O约束(唯一):a、b、c中必须有一个且仅有一个为1。比如程序中的单选按钮。(4)R约束(要求):a是1时,b必须是1,a为0时,b的值不确定。即不可能a是1时,b是0。

20、以上4种是输入条件的约束,输出条件的约束只有一种,就是M约束:(5)M约束(强制、屏蔽):若a是1,则b强制为0;若a是0,那么b的值不确定。正交实验法正交实验法是一种基于正交表的、高效率、快速、经济的实验设计方法,它研究的“多因素多水平”的情况,然后套用正交表来随机地产生用例(用例之间没有主次之分),是一种提高测试覆盖率的简单易用的方法。因素(Factor):在一项实验中,凡是被考查的变量就称为因素。水平(Level):在实验范围内,因素被考查的值称为水平。表现形式:L行数(水平数因素数) 行数 :正交表中行的个数,也就是实验的次数,也指测试用例的个数。因素数 :指正交表中列的个数。水平数

21、:任何单个因素能够取得的值的最大个数。限性:目前常见的正交表数量有限。总结:分层对应测试的方法六、软件缺陷报告符合软件缺陷的规则软件未达到产品说明书标明的功能。软件出现了产品说明书指明不会出现的错误。软件功能超出了产品说明书指明的范围。软件未达到产品说明书虽未指出但应达到的目标。软件测试人员认为软件难以理解、不宜使用、运行速度缓慢,或者最终用户认为不好。缺陷产生的原因软件缺陷的第一大来源是产品说明书。缺陷的第二大来源是设计。第三大来源才是程序代码。第四大来源是其他的一些原因,比如硬件或软件存在错误,或者把误解当成了缺陷;还有些缺陷反复多处出现,实际上是由同一个原因引起的。例:完整的软件缺陷报告

22、软件缺陷报告的基本信息1.缺陷标题(或者叫缺陷摘要)避免使用模糊不清的词语,例如“功能不正确”、“功能中断”等。应该使用具体文字说明功能如何不正确,如何中断。标题要便于搜索和查询,可以在标题中使用关键字。为了便于他人理解,标题要清晰、简洁,避免描述过于具体的测试细节。尽量按照缺陷发生的原因与结果的方式书写。比如“执行完A后,发生B”,或者“发生B,当A执行完后”。2操作步骤(也叫复现步骤) 3.预期结果 4.实际结果35.注释;包含内容;(1)截取缺陷特征图像文件(2)测试过程需要使用的测试文件(3)测试附加的打印机驱动程序(4)缺陷出现过程中的日志文件(5)再次指明该缺陷是否在前一版本已经存

23、在(6)多个平台之间是否具有不同表现(7)注释包含缺陷的隔离信息,指出缺陷的具体影响范围缺陷的属性1.模块名称 2.缺陷版本号 3.缺陷状态 例;4.缺陷类型功能问题 接口问题 逻辑问题 计算问题 数据问题 用户界面问题 文档问题性能问题 配置问题 标准问题 环境问题 兼容问题 缺陷严重级别(1)1-致命缺陷致命缺陷是指系统任何一个主要功能完全丧失,用户数据受到破坏,系统崩溃、悬挂、死机或者危及人身安全的缺陷。或者系统所提供的功能或服务受到明显的限制,不能执行正常工作流程或实现重要功能。包括可能有灾难性的后果,如造成系统崩溃,造成事故的缺陷等;数据库错误,如数据丢失、数据毁坏等;安全性被破坏。

24、处理优先级1-立即解决(Resolve Immediately)导致系统几乎不能使用或测试不能继续,需要立即修复的缺陷。2-高优先级(High Priority)比较严重,影响测试,需要优先考虑的缺陷。3-正常排队(Normal Queue)需要正常排队等待修复的缺陷。4-低优先级(Low Priority)可以在开发人员有空余时间的时候被修正的缺陷。缺陷来源序号缺陷来源说明1需求Requirement由于需求的问题引起的缺陷2架构Architecture由于架构的问题引起的缺陷3设计Design由于设计的问题引起的缺陷4编码Code由于编码的问题引起的缺陷5测试Test由于测试的问题引起的缺

25、陷6集成Integration由于集成的问题引起的缺陷缺陷报告书写准则(1)遵循5C准则Correct(准确):每个组成部分的描述准确,不会引起误解和歧义,不夸大缺陷,也不要过于轻描淡写;Clear(清晰):每个组成部分的描述清晰,不使用模棱两可的描述,比如出现“似乎(seem)”、“看上去可能(Possible)”等含义模糊的词汇;Concise(简洁):只包含必不可少的信息,不包括任何多余的内容。这可以通过使用关键词,使摘要的描述短小简练,又能准确解释产生缺陷的现象。如“在新建任务窗口中,选择直接下达,负责人收不到即时消息”中“新建任务窗口”、“直接下达”、“及时消息”等就是关键词;Com

26、plete(完整):包含复现该缺陷的完整步骤和其他本质信息,可以使开发人员很容易看懂缺陷;Consistent(一致):按照一致的格式书写全部缺陷报告。软件缺陷报告的生命周期软件缺陷的生命周期是指一个软件缺陷从发现到关闭的全过程。在许多情况下,软件缺陷的生命周期的复杂程度仅为:软件缺陷被打开、解决和关闭。然而在有些情况下(不同的公司、不同的项目),生命周期变得更复杂一些,具体操作如下:缺陷在其生命周期中的不同状态如下:(1)首先由测试人员发现缺陷,并提交到缺陷管理工具中,缺陷状态为New。(2)测试经理或者项目经理审核状态为New的缺陷,把被确认的缺陷分配给对应的开发人员,状态为Open。(3

27、)开发人员开始处理属于自己的缺陷报告,处理完毕后状态设置为Resolved,但并非所有的软件缺陷都会得到修复。Resolved状态的缺陷可能包括几种解决方案:已经修复(Fixed)、推迟解决(Postponed)、无法复现(Unreproduced)、重复提交(Duplicate)、不是缺陷(Invalid)。但也有缺陷管理工具把这几种解决方案和Resolved状态并行的单独成一个缺陷状态,而不仅仅是“Resolved”的解决方案。(4)测试人员或者测试经理对于状态为“Resolved”的缺陷进行回归测试,在新的软件版本中验证缺陷是否已经被修正。如果已经被修正,则缺陷的状态更改为Closed;

28、而如果没有被正确修正,则把状态改为Reopen,重新发送给开发人员,等待继续修正,继续重复第(3)步以后的流程。软件缺陷管理工具BugFree软件管理工具的使用*一、Bug管理*为了保持用户体验的一致性,新建Bug,新建Test Case和新建Test Result的界面布局基本保持一致,只是具体填写字段有所不同。以新建Bug为例,在主界面模式切换标签选择【Bug】,点击【新建Bug】打开新建Bug页面,如图6-6所示,黄色标注字段为必填项。Bug的3种状态状态说明Active(活动)Bug的初始状态。任何新建的Bug状态都是Active。可以通过编辑修改Bug的内容,并指派给合适的人员解决。

29、Resolved(已解决)开发人员解决Bug之后的状态。Closed(已关闭)已修复的Bug在验证无误之后关闭,该Bug处理完毕。如果没有真正解决或者重新复现,可以重新激活,Bug状态重新变为Active。2. Bug生命周期BugFee工具中Bug的处理流程是比较直观简洁的新建的Bug处于Active状态,可以通过编辑指派给合适的解决者。解决Bug之后,Bug状态变为Resolved,并自动指派给创建者。创建者验证Bug。如果未修复,再重新激活,Bug状态重新变为Active;如果已经修复则可以关闭,Bug状态变为Closed,Bug生命周期结束。已经Closed的Bug如果重新出现,也可以

30、直接激活。Bug的七种解决方案软件测试报告作用1.是对整个项目的测试过程和质量进行评价;2.是对产品各阶段的遗留问题进行总结;3.是为后续的测试过程改进提供依据。4.具体模板5.一、项目概述 1.1 项目背景 1.2 编写目的 1.3 术语与缩略语 1.4 参考与引用文档 二、测试概要 2.1测试机构和人员 2.2测试时间 2.3 测试范围 2.4 测试方法和工具 2.5 测试用例 2.6 测试环境与配置 三、缺陷统计与分析 3.1 测试统计表 3.2 测试统计图 3.3 遗留缺陷列表 四、测试结论与问题建议 4.1 测试结论 4.2呈现的问题 4.3 改进建议测试统计图缺陷分布(密度)报告缺陷龄期报告缺陷趋势报告软件质量管理体系ISO 9000质量管理体系1.CMM质量管理体系2.CMM把软件企业的过程管理能力分成5个等级CMM和ISO的区别6.CMM不是标准,只是对过程能力的评估结果。7.ISO 9000经过权威机构的审核,可以通过认证。8.CMM对软件企业

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1