软件质量与测试期末复习(概念篇)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件质量与测试期末复习(概念篇)
软件质量保证与测试期末复习
(概念篇)
1.软件质量:
(1)IEEE关于软件质量的定义。
软件质量是:1.系统、部件或者过程满足规定需求的程度。
2.系统、部件或者过程满足顾客或者用户需要或期望的程度。
(2)ANSI关于软件质量的定义。
详细包括:1.软件产品中能满足用户给定需求的所有特性的
集合。
2.软件具有所期望的各种属性组合的程度。
3.用户主
观得出的软件是否满足其综合期望的程度4.打算所用软件
在使用中能将满足其综合期望程度的软件合成特性。
2.软件质量保证(SQA):
(1)一种有方案的,系统化的行动模式,它是为项目或者产品符合己有技术需求提供充分相信所必须的。
(2)设计用来评价开収或者创造产品的过程的一组活动,与质量控制有区分。
3.软件测试:
软件测试是使用人工或自动手段来运行或测定某个系统的过程,
检测它是否满足规定的需求或者弄清预期结果与实际结果的差别。
4.软件测试的办法:
(1)静态办法和动态办法(2)黑盒测试、白盒测试和灰盒测试
(3)基于软件开収阶段的测试办法
需求测试单元测试集成测试性能测试压力测试容量测试配置测
试回归测试安装测试平安性测5.软件测试的目的:
(1)证实:猎取系统在可接受风险范围内可用的信念;尝试在非正常状况和条件下的功能和特性;保证一个工作产品是完整的并且可用或可被集成。
(2)检测:发觉缺陷、错误和系统不足;定义系统的能力和局限性;提供组件、工作产品和系统的质量信息。
(3)预防:澄清系统的规格和性能;提供预防或削减可能创造错误的信息;在过程中尽早检测错误;确认问题和风险,并且提前确认解决这些问题和风险的途径。
6.测试过程中应注重和遵循的原则:
(1)测试不是为了证实程序的正确性,而是为了证实程序不能工作。
(2)测试应该有重点。
(3)事先定义好产品的质量标准。
(4)软件项目一启动,软件测试也就开头,而不是等到程序写完才开头举行测试。
(5)穷举测试是不行能的。
(6)第三方举行测试会更客观,更有效。
(7)软件测试方案是做好软件测试工作的前提。
(8)测试用例是设计出来的,不是写出来的。
(9)对发觉错误较多的程序段,应举行更深化的测试。
(10)重视文档,妥当保存一切测试过程文档。
7.测试用例:
测试用例是指对一项特定的软件产品举行测试任务的描述,体现测试计划、办法、技术和策略。
其内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,终于形成文档。
容易的认为,测试用例是为某个特别目标而编制的一组测试输入、执行条件以及预期结果,用于核实是否满足某个特定软件需求。
8.软件测试员应当具备的素养:
软件测试员是探究者;软件测试员是敀障排解员;软件测试员不放过蛛丝马迹;软件测试员具有制造性;软件测试员是追求完善者;软件测试员推断精确;软件测试员注意策略和外交;软件测试
员擅长说服。
(1)一个优秀的测试工程师应当具备的基本素养有:责任心、交流能力、团队精神、自信念、耐心、疑惑精神、洞察力、幽默感等……(2)应具备的专业素养有:有竞争力的测试人员要具有
三方面的技能:计算机专业技能、测试专业技能、软件编程技能……
9.黑盒测试:
黑盒测试是在程序接口举行的测试,它只检查程序功能是否能根据规格说明书的规定正常使用,程序是否能适当地接收输入数据并产生正确的输出信息,程序运行过程中能否保持外部信息的完整性。
10.白盒测试:
白盒测试把测试对象看作一个透亮的盒子,它允许测试人
员利用程序内部的规律结构及有关信息,设计或挑选测试用例,对程序全部规律路径举行测试。
通过在不同点检查程序的状态,确定实际的状态是
否与预期的状态全都。
(1)规律笼罩
语句笼罩:在测试时首先设计若干个测试用例,然后运行被测程序,使程序中的每个可执行语句至少执行一次。
判定笼罩:设计若干个测试用例,运行被测程序,使得程序中每个断的取真分支和取假分支至少经受一次,即推断的真假值均曾被满足。
条件笼罩:设计若干测试用例,执行被测试程序以后,要使每个推断中每个条件的可能取值至少满足一次。
判定-条件笼罩:设计足够的测试用例,使得推断中每个条件的全部可能至少
路径笼罩:设计足够多的测试用例,要求笼罩程序中全部可能的路径。
(2)基本路径
第一步:画出控制流图其次步:计算圈复杂度
1.流图中区域的数量对应于环形的复杂性;
2.V(G)=E-N+2,E是流图中边的数量,N是流图中结点的数量;
3.V(G)=P+1,P是流图G中判定结点的数量。
第三步:导出测试用例第四步:预备测试用例
11.单元测试
(1)定义:单元测试是指对软件中的最小可测试单元或基本组成单元举行检查和验证。
(2)测试内容:
接口测试局部数据结构测试重要执行路径测试
错误处理测试边界条件测试
(3)测试办法:1.驱动模块:用来模拟被测模块的上级调用模块,功能要比真正的上级模块容易得多,仅仅是接受测试数据,并向被测模块传送测试数据,启动被测模块,回收并输出测试
结果。
2.桩模块:用来模拟被测模块在执行过程中所要调用的
模块。
它接受被测模块输出的数据并完成它所指派的任务。
12.集成测试
(1)定义:集成测试是在单元测试的基础上,将全部已通过单元测试的模块根据概要设计的要求组装为子系统或系统。
举行
集成测试,目的是确保各单元模块组合在一起后能够按既定意
图配合运行,并确保增量的行为正确。
这里需要强调的是,不
经过单元测试的模块是不应举行集成测试的,否则将对集成测
试的效果和效率带来巨大的影响。
(2)测试内容:
①将各模块衔接起来时,穿越模块接口的数据是否会走失。
①各子功能组合起来能否达到预期要求的父功能。
①一个模块的功能是否会对其他模块的功能产生不利影响。
①全局数据结构是否有问题,是否会被异样修改。
①单个模块的误差堆积起来,是否会放大到不行接受的程度。
(3)测试办法:
①非增量式集成测试办法。
基本思路:首先将各模块自立地举行单元测试,然后把全部模块组装在一起举行测试,终于得到一个符合要求的软件系统。
①增量式集成测试办法。
基本思路:首先将各模块自立地举行单元测试,然后将这些模块逐步组装成较大的系统,在组装过程中边组装边测试,以发觉在组装时产生的错误,终于组装成一个符合要求的软件系统。
a)自顶向下增量式集成测试:根据程序结构图,首先利用桩
模块测试主模板,通过测试后,用实际的模块替代桩模
块举行测试,重复上述步骤,直至代替了全部桩模块。
b)自底向上增量式集成测试:根据程序结构图,首先利用驱
动模块测试最底层模块,通过测试后,用实际的模块替
代驱动模块举行测试,重复上述步骤,直至代替了全部
驱动模块。
13.系统测试
(1)定义:系统测试是将已经过良好的集成测试的软件系统,作为囫囵计算机系统的一部分,与计算机硬件、外部设备、支持软件、数据以及人员等其他系统元素结合在一起,在实际使用(运行)环境下对计算机系统举行一系列的严格测试来发觉软件中的潜在缺陷,保证系统交付给用户之后能够正常使用。
(2)测试内容:
功能测试性能测试强度测试牢靠性测试恢复测试
安装测试平安性测试配置测试可用性测试
兼容性测试网站测试
14.验收测试1.α测试:α测试是在软件开发公司内模拟软件系统的运
行环境下的一种验收测试,即软件开发公司组织内部人员,模拟各类用户行为对即将面市的软件产品(成为α版本)举行测试,试图发觉并修改错误。
2.β测试:β测试紧随α测试之后,该测试是指软件开发公司组织各方面的典型用户在日常工作中实际使用β版本,并要求用户报告异样状况,提出批判意见。
15.回归测试
(1)定义:回归测试是指修改了旧代码后,重新举行测试以确认修改没有引入新的错误或导致其他代码产生错误。
(2)测试策略
①测试用例库的维护。
删除过时的测试用例改进不受控制的测试用例
删除冗余的测试用例增添新的测试用例
①回归测试包的挑选。
再测试所有用例基于风险挑选测试
基于操作剖面挑选测试再测试修改的部分
16.软件测试与软件开发的关系
(1)软件开发的目的是开发出实现用户需求的高质量、高性能的软件产品;软件测试以检查软件产品内容和功能特性为核心,是软件质量保证的关键步骤,也是胜利实现软件开发目标
的重要保障。
(2)V 模型:
17. 软件质量与度量
(1)ANSI 关于软件质量的定义:与软件产品满足规定的和隐含
的需求的能力有关的特征和特性的全体。
(2)度量方面:
1.软件产品中能满足用户给定需求的所有特性的集合。
2.软件具有所期望的各种属性组合的程度。
3.用户主管得出的软件是否满足其综合期望的程度。
4.打算所用软件在使用中将满足其综合期望程度的软件合成特性。
(3)McCall 模型
正确性:一个程序满足它的需求规约和实现用户任务目标的程度。
需求
规格说明
设计
实现
验收测试系统测试集成测试单元测试回归测试
V 模型
牢靠性:一个程度满足其所需的精确度,完成它的预期功能程度。
效率:一个程序完成其功能所需的计算资源和代码的质量。
完整性:对未授权人员拜访软件或数据的可控制程度。
可使用性:学习、操作、预备输入和解释程序输出所需的工作量。
可维护性:定位和修复程序中一个错误所需的工作量。
灵便性:修改一个运行的程序所需的工作量。
可测试性:测试一个程序以及确保它完成所期望的功能所需工作量。
可移植性:把一个程序从一个硬件或软件系统环境在移植到另一个环境所需的工作量。
可复用性:一个程序可以在另外一个应用程序中复用的程度。
互连性:衔接一个系统和另一个系统所需的工作量。
18.软件质量标准的类型
国际标准国家标准行业标准企业规范项目规范
19.软件的差错、故障、失效
(1)差错:1.计算的、观测的或测量的值与真切的、规定的或理论上正确的值或条件之间的差别。
2.一个不正确的步骤、过
程或数据定义。
3.一个不正确的结果。
4.一次产生不正确的结果
的人的活动。
(2)故障:在一个计算机程序中浮现的不正确的步骤、过程或数据定义常称为故障。
上述“差错”中的其次项属于故障。
(3)失效:一个程序运行的外部结果与软件产品的要求浮现不全都时称为失效。
软件失效证实了软件中存在着故障。
上述
“差错”中的第三项属于失效。
20.CMM
(1)定义:1.一个系统、组件或过程符合特定需求的程度。
2.一个系统、组件或过程符合客户或用户的要求或期望的程
度。
让知识带有温度。
(2)CMM思想及其5个级别,CMMI的区分
CMM为软件过程改进提供了一个框架,将囫囵软件改进过程
分为5个成熟度等级,这5个等级定义了一个有序的尺度,用来衡量组织软件过程成熟度和评价其软件过程能力。
分为5个级别:初始级、可重复级、已定义级、已管理级、优化级。
CMMI与CMM最大的不同点在于:
CMMISM-SE/SW/IPPD/SS1.1版本有4个集成成分,即系统工程(SE)和软件工程(SW)是基本的科目,对于有些组织还
可以应用集成产品和过程开发方面(IPPD)的内容,假如涉及供给商外包管理可以相应地应用SS(Supplier Sourcing)部分。
文档内容到此结束,欢迎大家下载、修改、丰富并分享给更多有需要的人。
第11页/共11页。