




已阅读5页,还剩207页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1.1什么是软件,1、软件的定义与硬件相互依存的另一部分,它是包括程序、数据及其相关文档的完整集合。,2、软件的分类按照功能分:系统软件和应用软件按照技术架构分:单机版软件、C/S结构软件、B/S结构软件按照用户分:产品软件和项目软件按照开发的规模分:大、中、小,1.3为什么要进行软件测试,软件总存在缺陷。只有通过测试,才可以发现软件缺陷。也只有发现了缺陷,才可以将软件缺陷从软件产品或软件系统中清理出去。软件中存在的缺陷给我们带来的损失是巨大的,这也说明了软件测试的必要性和重要性测试是所有工程学科的基本组成单元,自然也是软件开发的重要组成部分。测试人员水平越高,找到软件问题的时间就越早,软件就越容易更正,产品发布之后越稳定,公司赚的钱也越多,微软就是一个典型的例子,1.4什么是软件测试,1、软件测试的定义软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码实现的最终审查,它是软件质量保证的关键步骤。通常对软件测试的定义有两种描述:定义1:软件测试是为了发现错误而执行程序的过程。定义2:在IEEE提出的软件工程标准术语中,软件测试被定义为:“使用人工和自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清楚预期结果与实际结果之间的差别。”,1.4什么是软件测试,1、软件测试的定义软件测试的正确定义软件测试是由“验证(Verification)”和“有效性确认(Validation)”活动构成的整体。验证”是检验软件是否已正确地实现了产品规格书所定义的系统功能和特性“有效性确认”是确认所开发的软件是否满足用户真正需求的活动。,1.4什么是软件测试,2、软件测试的对象软件测试不等于程序测试。软件测试贯串于软件定义和开发的整个过程。软件开发过程中所产生的需求规格说明、概要设计规格说明、详细设计规格说明以及源程序都是软件测试的对象。,3、软件测试的原则尽早地和及时地测试;测试用例应当由测试数据和与之对应的预期结果这两部分组成;在程序提交测试后,应当由专门的测试人员进行测试;测试用例应包括合理的输入条件和不合理的输入条件;严格执行测试计划,排除测试的随意性;充分注意测试当中的群体现象;应对每一个测试结果做全面的检查;保存测试计划、测试用例、出错统计和最终分析报告,为维护工作提供充分的资料。,第二章软件测试的基本概念,主要内容:2.1软件缺陷2.2验证和确认2.3软件测试分类2.4软件测试阶段2.5软件测试工作范畴,缺陷是质量的对立面,要了解什么是缺陷(defect),就必须清楚“质量(Quality)”概念,因为缺陷是相对质量而存在的,违背了质量、违背了客户的意愿,不能满足客户的要求,就会引起缺陷或产生缺陷,2.1软件缺陷,一、软件质量的内涵1、质量质量是“产品或服务所满足明示或暗示需求能力的固有特性和特征的集合”。,2.1软件缺陷,一、软件质量的内涵2、软件质量软件质量是软件产品满足规定的和隐含的与需求能力有关的全部特征和特性。包括:(1)软件产品质量满足用户要求的程度;(2)软件各种属性的组合程度;(3)用户对软件产品的综合反映程度;(4)软件在使用过程中满足用户要求的程度。,2.1软件缺陷,一、软件质量的内涵3、软件质量模型,McCall软件质量模型,2.1软件缺陷,一、软件质量的内涵3、软件质量模型,ISO9126软件质量三层模型,2.1软件缺陷,一、软件质量的内涵4、软件质量特性功能性、易用性、可靠性、性能、容量可测量性、可维护性、可移植性、可扩展性,2.1软件缺陷,一、软件质量的内涵5、软件质量的分类(1)软件质量的功能需求软件质量的功能需求一般会在需求规格说明书等文档中给相应的描述。(2)软件质量的非功能需求软件质量的非功能需求一般用下列特性描述:性能、有效性、可靠性、可维护性、兼容性、可扩展性、可移植性,2.1软件缺陷,一、软件质量的内涵5、软件质量的分类(3)软件质量的用户需求能正常使用全部所需的功能,符合需求规格;功能强大,而且界面美观,易用;内容健康、有益于生活和工作。用户数据的安全、受保护和兼容;能及时得到新的产品或更完美的软件服务;软件可靠性很高,使用软件服务没有时间障碍,2.1软件缺陷,一、软件质量的内涵5、软件质量的分类(4)软件质量的企业需求开发成本可维护性可扩展性可移植性兼容性,2.1软件缺陷,二、软件缺陷1、软件缺陷的定义软件缺陷(Bug):任何程序、系统中的问题,和产品设计书的不一致性,不能满足用户的需求。IEEE(1983)729软件缺陷一个标准的定义:从产品内部看,软件缺陷是软件产品开发或维护过程中所存在的错误、毛病等各种问题;从外部看,软件缺陷是系统所需要实现的某种功能的失效或违背。,2.1软件缺陷,二、软件缺陷2、软件缺陷的表现功能、特性没有实现或部分实现设计不合理,存在缺陷实际结果和预期结果不一致运行出错,包括运行中断、系统崩溃、界面混乱数据结果不正确、精度不够用户不能接受的其他问题,如存取时间过长、界面不美观,2.1软件缺陷,二、软件缺陷3、软件缺陷产生的原因微软开发者成功之路(之一)概括了以下7项主要原因:(1)项目期限的压力;(2)产品的复杂度;(3)沟通不良;(4)开发人员疲劳,压力过大或受到干扰;(5)缺乏足够的知识、技能和经验;(6)不了解客户的需求;(7)缺乏动力。,2.1软件缺陷,二、软件缺陷4、软件缺陷的构成,图2-4软件缺陷构成示意图,2.1软件缺陷,二、软件缺陷5、修复软件缺陷的代价,软件缺陷随时间的推移带来的成本越来越大,2.2验证和确认,一、验证和确认Verification:Arewebuildingtheproductright?是否正确地构造了软件?即是否正确地做事,验证开发过程是否遵守已定义好的内容。验证产品满足规格设计说明书的一致性Validation:Arewebuildingtherightproduct?是否构造了正是用户所需要的软件?即是否正在做正确的事。验证产品所实现的功能是否满足用户的需求,2.2验证和确认,二、评审通过软件评审,可以更早地发现需求工程、软件设计等各个方面的问题,大大减少大量的后期返工,将质量成本从昂贵的后期返工转化为前期的缺陷发现。1、评审评审是对软件元素或者项目状态的一种评估手段,以确定其是否与计划的结果保持一致,并使其得到改进。检验工作产品是否正确地满足了以往工作产品中建立的规范。,2.2验证和确认,二、评审2、评审分类管理评审技术评审文档评审流程评审,2.2验证和确认,三、质量保证和测试的关系1、软件质量保证:是通过对软件产品有计划的进行评审和审计来验证软件是否合乎标准的系统工程。2、SQA的活动:提出软件质量要求;确定开发方案;阶段评审;测试管理文档化管理验证产品与相应文档和标准的一致性建立测量机制记录并生成报告,2.2验证和确认,三、质量保证和测试的关系3、SQA与软件测试的关系共同点:二者贯穿整个软件开发生命周期的流程。区别:SQA是管理工作、审查对象是流程、强调以预防为主测试是技术工作、测试对象是产品、主要是以事后检查关系:SQA指导测试、监控测试测试为SQA提供依据,2.3软件测试的分类,2.3软件测试的分类,按测试的对象或范围分类,如单元测试、文档测试、系统测试等)按测试目的分类,如功能测试、回归测试、性能测试、可靠性测试、安全性测试和兼容性测试等根据测试过程中被测软件是否被执行,分为静态测试和动态测试根据是否针对系统的内部结构和具体实现算法来完成测试,可分为白盒测试和黑盒测试,2.4软件测试阶段,图2-8软件测试阶段示意图,需求和设计审查,测试人员参与产品需求分析和系统设计,认真阅读有关文档,真正理解客户的需求和技术上的设计,检查需求说明书对产品描述的准确性、一致性等,检查系统设计的合理性和可测试性等,单元测试,单元测试的对象是程序系统中的最小单元-模块或组件上,在编码阶段进行,针对每个模块进行测试,主要通过白盒测试方法,从程序的内部结构出发设计测试用例,检查程序模块或组件的已实现的功能与定义的功能是否一致、以及编码中是否存在错误。多个模块可以平行地、对立地测试,通常要编写驱动模块和桩模块单元测试一般由编程人员和测试人员共同完成,而以开发人员为主单元测试包括代码评审,代码评审可以发现程序50%70%代码的缺陷。,集成测试,集成测试,也称组装测试、联合测试、子系统测试,在单元测试的基础上,将模块按照设计要求组装起来同时进行测试,主要目标是发现与接口有关的模块之间问题两种集成方式:一次性集成方式和增殖式集成方式。,功能测试,功能测试一般须在完成集成测试后进行,而且是针对应用系统进行测试。功能测试是基于产品功能说明书,是在已知产品所应具有的功能,从用户角度来进行功能验证,以确认每个功能是否都能正常使用,系统测试,系统测试是将软件放在整个计算机环境下,包括软硬件平台、某些支持软件、数据和人员等,在实际运行环境下进行一系列的测试,包括恢复测试、安全测试、强度测试和性能测试等,验收测试3inty=0;4while(iRecordNum-0)56If(iType=0)7x=y+2;8else9If(iType=1)10 x=y+10;11else12x=y+20;1314,(1)画出控制流图(2)计算环形复杂度(3)导出独立路径(用语句编号表示)(4)设计测试用例,(1)画出控制流图:(2)计算环形复杂度:10(条边)-8(个节点)+2=4(3)导出独立路径(用语句编号表示)路径1:414路径2:46714路径3:4691013414路径4:4691213414,(4)设计测试用例:,例下面是选择排序的程序,其中datalist是数据表,它有两个数据成员:一是元素类型为Element的数组V,另一个是数组大小n。算法中用到交换两数组元素内容的操作Swap():voidSelectSort(datalistlist)/对表list.V0到list.Vn-1进行排序,n是表当前长度。for(inti=0;ilist.n-1;i+)intk=i;/在list中找具有最小关键码的对象for(intj=i+1;jlist.n;j+)if(list.Vjlist.Vk)k=j;/当前具最小关键码的对象if(k!=i)Swap(list.Vi,list.Vk);/交换,(1)路径1,3(2)路径1,2,4,6(3)路径1,2,4,7(4)路径1,2,5,8,3(5)路径1,2,5,9,3,三、循环测试,目标:在循环内部及边界上执行测试,(1)简单循环(2)嵌套循环(3)串接循环(4)不规则循环,三、循环测试,1.简单循环(迭代次数n)完全跳过循环只经过循环一次经过循环两次经过循环m(my?x:y(5)return(z);(6)(7)main()(8)floata,b;(9)intc;(10)scanf(“%f,%f”,(13),3、代码审查的方法(1)互查(peertopeer)(2)走查(walk_through)(2)审查(inspection)(3)会议评审(review),走查走查:是让与会成员充当计算机,由被指定作为测试员的小组成员提出一批测试用例,在会议上对每个测试用例用头脑来执行程序,在纸上或黑板上监视程序的状态。进行走查时要注意限时和避免现场修改。检查的要点是代码编写是否符合标准和规范,是否存在逻辑错误。走查是一种非正式评审过程。,审查审查是一种正式的检查和评估方法,最早由IBM公司提出,实践证明是一种有效的检查方法。具体做法:代码小组:独立的仲裁人、程序编写小组、其他程序员和测试人员组成。审查过程所采用的关键技术是设计和使用缺陷检查表,代码审查程序(1)仲裁人提前把程序目录表和设计说明分配给小组各成员,小组成员在开会前熟悉资料,然后开会。(2)会上由编写程序小组成员逐句阐明程序的逻辑,在此过程中,程序员和测试人员可以提出问题,追踪缺陷是否存在。(3)利用缺陷检查表来进行分析。(4)审查结束后提交静态分析错误报告,评审:通常在审查会后进行,审查小组根据代码审查的错误记录来评估该程序,是否需要重新进行审议。评审通过的准则(1)充分审查了所规定的代码,并且全部编码准则被遵守;(2)审查中发现的错误已全部修改;,5.4动态测试技术的运用,完成静态测试后,还需要真正地将程序运行起来完成动态的测试。动态测试需要设计一系列的设计用例确保测试的完整性和有效性。在测试用例的设计中,通常会综合白盒和黑盒测试方法。,白盒测试方法,(1)逻辑驱动法,(2)基本路径测试,语句覆盖判定覆盖条件覆盖判定/条件覆盖条件组合覆盖路径覆盖,黑盒测试方法,(1)等价类划分法,(3)错误推测法,(2)边界值分析法,(4)因果图法,5.5单元测试的停止准则,(1)软件单元功能与设计需求一致;(2)软件单元接口与设计需求一致;(3)能够正确处理输入和运行中的错
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工业自动化技术智能制造与生产效率提升
- 工业设计与人类健康的关系探讨
- 工业设计与产品造型创新
- 工作中的沟通协调技巧培训
- 工业风格建筑的设计与实践
- 工作场所的多元沟通方式
- 工程填方区的防护性绿化技术探索与实践
- 工程机械设计中的材料选择与仿真
- 工程劳务费用合理计算与评估
- 工程造价管理与控制策略探讨
- 2025年四川省高考物理试卷真题(含答案)
- 炸鸡店的产品创新与口味调研
- 2025年共享办公空间增值服务运营模式创新与产业链创新模式报告
- 电气控制柜面试题及答案
- 药房药品追溯管理制度
- 陕西省铜川市2025年八下英语期末监测试题含答案
- 缺血性卒中脑保护中国专家共识(2025)解读
- 2025年福建省厦门市中考物理模拟试卷
- 海洋垃圾资源化利用与环境影响评估-洞察阐释
- IEC60335-1中文版本大全
- 代谢相关脂肪性肝病防治指南2024年版解读
评论
0/150
提交评论