软件质量保证与测试综述

上传人:wt****50 文档编号:50671198 上传时间:2018-08-09 格式:PPT 页数:44 大小:4.05MB
返回 下载 相关 举报
软件质量保证与测试综述_第1页
第1页 / 共44页
软件质量保证与测试综述_第2页
第2页 / 共44页
软件质量保证与测试综述_第3页
第3页 / 共44页
软件质量保证与测试综述_第4页
第4页 / 共44页
软件质量保证与测试综述_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《软件质量保证与测试综述》由会员分享,可在线阅读,更多相关《软件质量保证与测试综述(44页珍藏版)》请在金锄头文库上搜索。

1、软件质量保证与测试郭俊恩计算机与信息工程系*第1页2目录一、相关知识及意义 二、软件质量保证管理 三、软件测试 四、软件质量保证与测试人才的特点3一、相关知识及意义 1、软件开发过程42、硬件、软件失效曲线图 53、软件质量要求包括6个主要特征l功能性:软件实现的功能达到要求的和隐含的用户需求以及 设计规范的程度,l可靠性:软件在指定条件和特定时间段内维持性能的能力程 度,l易使用性:用户使用该软件所付出的学习精力,l效率:在指定条件下,软件功能与所占用资源之间的比值,l可维护性:当发现错误、运行环境改变或客户需求改变时, 程序能修改的容易程度,l可移植性:将软件从一种环境移入另一种环境的容易

2、程度。64软件缺陷的修复费用75意义l迪斯尼狮子王缺陷l人造陨石坑缺陷l程序员的千年虫问题l爱国者导弹缺陷8二、软件质量保证与管理p1、软件质量控制的基本方法p软件质量控制是一组由开发组织使用的程序和方 法,使用它可在规定的资金投入和时间限制的条 件下,提供满足客户质量要求的软件产品并持续 不断地改善开发过程和开发组织本身,以提高将 来生产高质量软件产品的能力。1.1目标问题度量法l对一个项目的各个方面(产品、过程和资源)规定具 体的目标,这些目标的表达应非常明确。l对每一个目标,要引出一系列能反映出这个目标是否 达到要求的问题,并要求对这些问题进行回答。这些 问题的答案将有助于使目标定量化。

3、l将回答这些问题的答案映射到对软件质量等级的度量 上,根据这种度量得出软件目标是否达到的结论,或 确认哪些做好了,哪些仍需改善。l收集数据。要为收集和分析数据做出计划。1.2风险管理法 l根据经验识别项目要素的有关风险;l评估风险发生的概率和发生的代价;l按发生概率和代价划分风险等级并排序;l在项目限定条件下选择控制风险的技术并制 定计划;l执行计划并监视进程;l持续评估风险状态并采取正确的措施。1.3 PDCA法(戴明循环)确定质量目标提高质量开发质量评估质量质量控制参数 产品、过程、资源定义改善估计度量计划Plan改进 Action实施 Do检查Check2 软件配置管理p软件配置管理是在

4、贯穿整个软件生命周期 中建立和维护项目产品的完整性。它的基 本目标包括:l软件配置管理的各项工作是有计划进行的。l被选择的项目产品得到识别,控制并且可以被 相关人员获取。l已识别出的项目产品的更改得到控制。l使相关组别和个人及时了解软件基准的状态和 内容。常用的软件配置管理工具pVisualSVN ServerpTortoiseSVN3 软件评审的内容3.1 管理评审l一个组织之所以需要管理,是为了能更好的进步和发展。 为了达到这个目的,通常需要对原来的发展状况进行回顾 ,分析并总结出存在的问题和改进的措施。这也就是为什 么进行管理评审的原因。l管理评审就是最高管理者为评价管理体系的适宜性、充

5、分 性和有效性所进行的活动。管理评审的主要内容是组织的最高管理者就管理体系 的现状、适宜性、充分性和有效性以及方针和目标的 贯彻落实及实现情况进行正式的评价,其目的就是通 过这种评价活动来总结管理体系的业绩,并从当前业 绩上考虑找出与预期目标的差距,同时还应考虑任何 可能改进的机会,并在研究分析的基础上,对组织在 市场中所处地位及竞争对手的业绩予以评价,从而找 出自身的改进方向。3.2 技术评审 p技术评审的目的l发现软件在功能、逻辑、实现上的错误;l验证软件符合它的需求规格;l确认软件符合预先定义的开发规范和标准;l保证软件在统一的模式下进行开发;l便于项目管理。p技术评审的输入l评审的目的

6、是说明为什么要进行该评审,该评审的实施目的是什么 ;l评审的内容包括需求文档、源代码、测试用例等;l评审检查单(检查项);l其他必须的文档,如对设计文档进行评审,那么需求文档可以作为 相关文档带入技术评审会。p技术评审的输出技术评审报告l会议的基本信息;l存在的问题和建议措施;l评审结论和意见;l问题跟踪表;l技术评审问答记录(通常作为附录出现在报告中)。3.3 文档评审p文档评审的目的p文档评审的内容l在软件开发过程中,需要进行评审的文档很多 ,主要包括如下内容:需求评审,对市场需求说明书、产品需求 说明书、功能说明书等进行评审。设计评审,对总体设计说明书、详细设计 说明书等进行评审。代码评

7、审,对代码进行审核。质量验证评审,对测试计划、测试用例 等进行评审。3.4 过程评审 p过程评审的作用如下:l评估主要的质量保证流程。l考虑如何处理和解决评审过程中发现的不符合 问题。l总结和共享好的经验。l指出需要进一步完善和改进的部分。过程评审流程 193.5 代码审查p代码审查的主要工作l代码审查的主要工作:发现代码中的bug;从 代码的易维护性、可扩展性角度考察代码的质 量,提出修改建议。l代码编写者,代码审核者共同对代码的质量承 担责任。这样才能保证Code Review不是走过场,其中 代码编写者承担主要责任,代码审核者承担次要 责任。20三、软件测试方法p1. 黑盒测试p2. 白

8、盒测试p3. 灰盒测试p4. 集成测试p5. 系统测试p6. 压力测试211黑盒测试的基本概念 p黑盒测试试图发现以下类型的错误:l功能错误或遗漏;l界面错误;l数据结构或外部数据库访问错误;l性能错误;l初始化和终止错误。221.1 等价类划分p等价类划分法是一种黒盒测试的技术,不考虑程序的内 部结构,是把所有可能的输入数据,即程序的输入域划 分成若干部分(子集),然后从每一个子集中选取少数 具有代表性的数据作为测试用例。231.2.1划分等价类p等价类划分可有两种不同的情况:有效等价 类和无效等价类。l有效等价类:是指对于程序的规格说明来说是 合理的,有意义的输入数据构成的集合。l利用有效

9、等价类可检验程序是否实现了规格说 明中所规定的功能和性能。l无效等价类:与有效等价类的定义恰巧相反, 不符合需求规格说明书。241.2.2等价类表示例 输入条件有效等价类无效等价类输入条件有效等价类无效等价类1001.无效等价类2.有效等价类3.无效等价类251.2.3设计测试用例 p先根据输入条件确定有效等 价类和无效等价类,然后从 划分出的等价类中按以下三 个原则设计测试用例。l每一个等价类规定一个唯一 的编号。l设计一个新的测试用例,使 其尽可能多地覆盖尚未被覆 盖地有效等价类,重复这一 步。直到所有的有效等价类 都被覆盖为止。l设计一个新的测试用例,使 其仅覆盖一个尚未被覆盖的 无效等

10、价类,重复这一步, 直到所有的无效等价类都被 覆盖为止。用例 编号所属等 价类乘 数1乘 数2乘积123206021-102提示“请输 入1100 之间的整数”332003提示“请输 入1100 之间的整数”26三角形(等价类划分) 输入条件有效等价类无效等价类是否三角形的3 条边(A0), (1) (B0), (2) (C0), (3) (A+BC), (4) (B+CA), (5) (A+CB) (6)(A0), (7) (B0), (8) (C0), (9) (A+BC), (10) (B+CA), (11) (A+CB) (12)是否等腰三角形(A=B), (13) (B=C), (1

11、4) (C=A), (15)(AB)and(BC)and(CA ), (16)是否等边三角 形(A=B)and(B=C)and( C=A), (17)(AB), (18) (BC), (19) (CA), (20)27三角形测试用例(等价类划分) 用例编号【A,B,C】覆盖等价类输出1【3,4,5】(1),(2),(3),(4),(5),(6)一般三角形2【0,1,2】(7)不能构成三角形3【1,0,2】(8)4【1,2,0】(9)5【1,2,3】(10)6【1,3,2】(11)7【3,1,2】(12)8【3,3,4】(1),(2),(3),(4),(5),(6),(13)等腰三角形9【3,4

12、,4】(1),(2),(3),(4),(5),(6),(14)10【3,4,3】(1),(2),(3),(4),(5),(6),(15)11【3,4,5】(1),(2),(3),(4),(5),(6),(16)非等腰三角形12【3,3,3】(1),(2),(3),(4),(5),(6),(17)是等边三角形13【3,4,4】(1),(2),(3),(4),(5),(6),(14), (18)非等边三角形14【3,4,3】(1),(2),(3),(4),(5),(6),(15), (19)15【3,3,4】(1),(2),(3),(4),(5),(6),(13), (20)281.3 边界值分析

13、法p1.3.1 边界条件l我们可以想象一下,如果在悬崖峭壁边可以自 信地安全行走,平地就不在话下了。如果软件在能力达到极限时能够运行,那么在正 常情况下一般也就不会有什么问题。l边界条件是特殊情况,因为编程从根本上说不 怀疑边界有问题。奇怪的是,程序在处理大量中间数值时都是对的 ,但是可能在边界处出现错误。291.3.2其他一些边界条件p另一种看起来很明显的软件缺陷来源是当软件要求输入时 (比如在文本框中),不是没有输入正确的信息,而是根 本没有输入任何内容,只按了Enter键。l这种情况在产品说明书中常常被忽视,程序员也可能经常遗 忘,但是在实际使用中却时有发生。程序员总会习惯性地认 为用户

14、要么输入信息,不管是看起来合法的或非法的信息, 要么就会选择Cancel键放弃输入,如果没有对空值进行好 的处理的话,恐怕程序员自己都不知道程序会引向何方。p正确的软件通常应该将输入内容默认为合法边界内的最小 值,或者合法区间内的某个合理值,否则,返回错误提示 信息。l因为这些值通常在软件中进行特殊处理,所以不要把它们与 合法情况和非法情况混在一起,而要建立单独的等价区间。301.3.3边界值的选择方法p对边界值设计测试用例,应遵循以下几条原则:l如果输入条件规定了值的范围,则应取刚达到这个范围的边 界的值,以及刚刚超越这个范围边界的值作为测试输入数据 。l如果输入条件规定了值的个数,则用最大

15、个数、最小个数、 比最小个数少1、比最大个数多1的数作为测试数据。l根据规格说明的每个输出条件,使用前面的原则。l根据规格说明的每个输出条件,应用前面的原则。l如果程序的规格说明给出的输入域或输出域是有序集合,则 应选取集合的第一个元素和最后一个元素作为测试用例。l如果程序中使用了一个内部数据结构,则应当选择这个内部 数据结构边界上的值作为测试用例。l分析规格说明,找出其他可能的边界条件。312 白盒测试的概述p软件人员使用白盒测试方法,主要想对程 序模块进行如下的检查:l对程序模块的所有独立的执行路径至少测试一 次;l对所有的逻辑判定,取“真”与取“假”的两种情 况都至少测试一次;l在循环的

16、边界和运行界限内执行循环体;l测试内部数据结构的有效性等。322.2 白盒测试的实施步骤:p测试计划阶段:根据需求说明书,制定测试进度 。p测试设计阶段:依据程序设计说明书,按照一定 规范化的方法进行软件结构划分和设计测试用例 。p测试执行阶段:输入测试用例,得到测试结果。p测试总结阶段:对比测试的结果和代码的预期结 果,分析错误原因,找到并解决错误。332.3 控制流测试342.4 算法流程 352.5 语句覆盖p语句覆盖的含义是:在测试时首先设计若干个测试用例, 然后运行被测程序,使程序中的每个可执行语句至少执行 一次。这里所谓“若干个”,自然是越少越好。p让我们总结一下语句覆盖的优点和缺点。l优点:很直观地从代码中得到测试用例,无需细分每条判定 表达式。l缺点:对于隐藏的条件和可能到达的隐式分支是无法测试的。 它只在乎运行一次,而不考虑其他

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号