您好,欢迎访问三七文档
测试基础软件测试定义:使用人工和自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别。软件生命周期:软件生命周期包括几个阶段:1.计划planning1)确定软件开发总目标;2)给出软件的功能、性能、可靠性以及接口等方面的设想;3)研究完成该项目的可行性,探讨问题解决方案;4)对可供开发使用的资源、成本、可取得的效益和开发进度做出估计;5)制定完成开发任务的实施计划。2.需求分析requirementanalysis对开发的软件进行详细的定义,由需求分析人员和用户共同讨论决定并给予确切的描述,写出软件需求规格说明书SRS(SoftwareRequirementSpecification).3.设计design设计是软件工程的技术核心,这个阶段需要完成设计说明书;概要设计HLD详细设计LLD4.程序编码coding把软件设计转换成计算机可以接受的程序,即写在以某个程序设计语言表示的源程序清单,使用RDBMS工具建立数据库。5.测试testing单元测试UT,参照LLD对每一个函数进行测试;集成测试IT,参照HLD对函数与函数的集成、模块与模块的集成进行测试;系统测试ST,参照SRS对每个功能需求、性能需求等进行测试。6.运行和维护runandmaintenance本阶段将软件交付用户投入正式使用,以后便进入维护阶段,可能有多种原因需要对它进行修改,如软件错误、系统软件升级、增强软件功能、提高性能等。缺陷的类型:缺陷Defect:以静态的形式存在于软件内部,可被激活,相当于Bug故障Fault:当缺陷被激活后,软件运行中出现的状态,可引起意外情况,不处理会产生失效,是动态行为。失效Failure:软件运行时产生的外部异常行为结果,表现与用户需求不一致,功能能力终止,用户无法完成所需要的应用。测试用例TestCase:包括:测试用例编号:测试项目:测试标题:重要级别:预置条件:输入:执行步骤:预期输出:测试工程师的主要工作:1)检视代码、评审开发文档;2)进行测试设计、写作测试文档(测试计划,测试方案,测试用例);3)执行测试,发现软件缺陷,提交缺陷报告,并确认缺陷最终得到了修正;4)通过测试度量软件的质量。测试过程单元测试UT:是针对软件基本组成单元(软件设计的最小单位)来进行正确性检验的测试工作,单元测试的目的是检测软件模块对《详细设计说明书》LLD的符合度。(UnitTesting)集成测试IT:是在单元测试的基础上,将所有模块按照概要设计要求组装成为子系统或系统,验证组装后功能以及模块间接口是否正确的测试工作;其目的是检测软件模块对《概要设计说明书》HLD的符合度。(IntegrationTesting)系统测试ST:是将已集成好的软件系统,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他系统元素结合在一起,在实际运行(使用)环境下,对计算机系统进行一系列的测试工作;其目的在于通过与《需求规格说明书》SRS作比较,发现软件与系统需求定义不符合或与之矛盾的地方。(SystemTesting)UT,IT,ST比较区别:1)测试方法不同UT------属于白盒测试范畴;IT-------属于灰盒测试范畴;ST-------属于黑盒测试范畴;2)考察范围不同UT------主要测试单元内部的数据结构、逻辑控制、异常处理等;IT-------主要测试模块之间的接口和接口数据传递关系,以及模块组合后的整体功能;ST------主要测试整个系统相对于需求的符合度。3)评估基准不同UT-------评估基准主要是逻辑覆盖率;IT--------评估基准主要是接口覆盖率;ST-------评估基准主要是测试用例对需求规格的覆盖率。回归测试RegressionTesting:软件在测试或其他活动中发现的缺陷经过修改后,应该进行回归测试;目的是:验证错误是否修复,并检测对代码的修改是否引入了新的错误;回归测试可以发生在任何一个阶段,包括UT,IT,ST;回归测试策略包括:完全重复测试和选择性重复测试。验收测试AcceptanceTesting:是根据合同、《需求规格说明书》SRS、《验收测试计划》对产品进行验收和测试;一般采用α测试和β测试。α测试:是由用户在开发环境下进行的测试,也可以是开发机构内部的用户在模拟实际操作环境下进行的测试;开发者坐在用户旁边,随时记下错误情况和使用中的问题,这是在受控制的环境下进行的测试;其目的主要是评价软件产品的FLURPS(功能、局域化、可用性、可靠性、性能等),尤其注重产品的界面和特色;β测试:由软件的多个用户在一个或多个用户的实际使用环境下进行的测试。β测试时开发者通常不在现场,因而β测试是在开发者无法控制的环境下进行的软件现场应用;β测试中由用户记录下遇到的所有问题,包括真的和主观认定的,定期向开发者报告,开发者在综合用户的报告后作出修改,再将软件交付给全体用户使用。测试过程模型:V&V模型(验证Verification&确认Validation)验证:验证是否做了正确的事情;指保证软件正确地实现了特定功能的一系列活动;确认:确认是否把事情做正确了;指保证所生产的软件可追溯到用户需求的一系列活动;测试过程阶段划分:计划----------设计----------实现----------执行需求分析阶段概要设计详细设计编码UT执行IT执行ST执行ST计划ST设计,实现ST执行IT计划IT设计,实现IT执行UT计划UT设计,实现UT执行ST计划阶段------ST设计阶段------ST实现阶段------ST执行阶段输入《软件开发计划》《需求规格说明书》《需求规格说明书》《系统测试计划》《软件测试计划》《系统测试计划》《系统测试计划》《系统测试方案》《需求规格说明书》《系统测试方案》《系统测试用例》《系统测试规程》《系统测试预测试项》输出《系统测试计划》《系统测试方案》《系统测试用例》《系统测试预测试报告》《系统测试规程》《系统测试报告》《系统测试预测试项》《软件缺陷报告》执行IT概要设计详细设计编码ST计划,设计,实现执行STIT计划,设计,实现需求分析UT计划,设计,实现执行UT代码审查IT计划阶段------IT设计阶段------IT实现阶段------IT执行阶段输入《软件测试计划》《概要设计说明书》《概要设计说明书》《集成测试计划》《概要设计说明书》《集成测试计划》《集成测试计划》《集成测试方案》《集成测试方案》《集成测试用例》《集成测试规程》输出《集成测试计划》《集成测试方案》《集成测试用例》《集成测试报告》《集成测试规程》《软件缺陷报告》UT计划阶段------UT设计阶段------UT实现阶段------UT执行阶段输入《软件测试计划》《概要设计说明书》《详细设计说明书》《单元测试计划》《概要设计说明书》《单元测试计划》《单元测试计划》《单元测试方案》《单元测试方案》《单元测试用例》《单元测试规程》输出《单元测试计划》《单元测试方案》《单元测试用例》《单元测试报告》《单元测试规程》《软件缺陷报告》软件需求阶段的任务:软件概要设计阶段的任务:软件概要设计阶段的任务:软件编码阶段的任务:进行软件系统各层设计,完成HLD文档;概要设计的评审;ST方案、用例的设计;ST方案、用例的评审;需求跟踪更新;IT计划;IT计划评审。需求分析,完成SRS;SRS的评审;需求跟踪;ST计划;ST计划的评审。进行软件详细设计,完成LLD文档;详细设计的评审;IT方案、用例的设计;IT方案、用例的评审;需求跟踪更新;UT计划;UT计划评审。软件编码;代码静态质量检查;代码评审;UT方案、用例设计;UT方案、用例评审;单元测试执行阶段的任务:集成测试执行阶段的任务:系统测试执行阶段的任务:软件质量需求的三个层次:显示需求:验收质量(合同、验收准准则等)隐式需求:使用质量(α、β测试检测,用户反馈等)用户实际需求。软件质量的三个层次:流程(过程),技术(工具),组织(人)三者共同决定软件的质量。SQA从流程方面保证软件的质量;测试从技术方面保证软件的质量;软件质量管理体系:ISO:不具体针对某个行业的质量标准,是普遍适用的质量管理体系。InternationalOrganizationforStandardization(ISO)ISO9000族2000版标准主要由三个核心标准组成:ISO9000:基础,术语/ISO9001:要求/ISO9004:改进指南八项质量管理原则:以顾客为中心,领导作用,全员参与,过程方法,管理的系统方法,持续改进,基于事实的决策方法,互利的供方关系.6Sigma:不具体针对某个行业,不只关注质量,还关注成本、进度。在质量上6Sigma表示每百万个产品的不良品率(PPM)不大于3.4,意味着每一百万个产品中最多只有3.4个不合格品,即合格率是99.99966%.原则:注重客户,注重流程,全员参与,预防为主,事实依据的决定,持续和突破性改进。CMM:特定针对软件行业的质量管理体系。(过程决定质量)CapabilityMaturityModel(CMM)能力成熟度模型CapabilityMaturityModelIntegration(CMMI)能力成熟度模型集成UT用例执行;UT缺陷记录、修复;UT日报写作;UT报告写作;UT缺陷的回归测试。IT用例执行;IT缺陷记录、修复;IT日报写作;IT报告写作;IT缺陷的回归测试。ST预测试项执行;ST预测试报告写作;ST用例执行;ST缺陷记录、修复;ST日报写作;ST报告写作;ST缺陷的回归测试。CMM等级过程能力等级特点关键过程区域1初始级软件过程是无序的,有时甚至是混乱的,对过程几乎没有定义,成功取决于个人努力;管理是反应式的(消防式)。(能力不可测;混乱缺乏计划、文档;需求不做管理)2可重复级建立了基本的项目管理过程来跟踪费用、进度需求管理和功能特性;制定了必要的过程纪律,能重复软件项目计划早先类似应用项目取得的成功。软件项目跟踪和监督软件子合同管理(能重复类似项目的成功;建立了局部的过程规范)软件质量保证软件配置管理3已定义级已将软件管理和工程两方面的过程文档化、组织过程定义标准化,并综合成该组织的标准软件过程。组织过程焦点所有项目均使用经批准、剪裁的标准软件培训大纲过程来开发和维护软件。集成软件管理软件产品工程(建立了组织级别统一一致的规范,允许剪裁)组织协调同行评审4已管理级收集对软件过程和产品质量的详细度量,定量的过程管理对软件过程和产品都有定量的理解与控制。软件质量管理(能力可预测,历史项目度量预测模型现有项目度量)5优化级过程的量化反馈和先进的新思想、新技术缺陷预防促使过程不断改进。技术变更管理过程变更管理(持续改进,新技术、新方法的引入,使原有过程不再适用;通过缺陷分析,找出原有过程的不足)过程质量:过程设计的完善程度和过程执行的力度。------测量活动:SQA内部质量:软件研发过程中,中间过程产品(软件的零部件)的质量。------测量活动:静态测试:SRS、HLD、LLD、代码评审;动态测试:UT、粒度小的IT外部质量:软件系统作为完整的整体运行时所表现出来的各方面的质量特征。------测量活动:动态测试:ST使用质量:最终用户在其真实环境中运行软件系统时,所感受到的软件各方面特性与其目标的符合程度。-------测量活动:验收测试、α、β测试过程质量,内部质量,外部质量,由软件组织内部人员评估:SQA、开发、测试使用质量,由软件组织外部人员评估:用户软件质量模型:ISO9126软件质量模型由6个特性、27个子特性组成。(测试分析checklist)外部和内部质量功能性Functionality可靠性reliability易用性usability效率efficiency维护性Maintainability可移植性portability适合性Suitability准确性Accuracy互操作性Interoperabi
本文标题:软件测试的基础知识
链接地址:https://www.777doc.com/doc-5543356 .html