您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > 软件测试基础知识培训
火龙果整理uml.org.cn软件测试知识简介王瑞芬火龙果整理uml.org.cn内容简介1.软件测试发展简史2.测试基本概念3.测试方法4.测试阶段5.测试设计6.测试工具简介火龙果整理uml.org.cn测试发展史60年代(软件工程建立前),为表明程序正确而进行测试1972年,BillHetzel在NORTHCarolina大学举行第一次以软件测试为主题的正式会议1979年,GlenfordMyers《Theartofsoftwaretesting》提出测试的目的是证伪火龙果整理uml.org.cn测试发展史1981年,BillHetzel开设“StructuredSoftwareTesting”公共课1988年,DavidGelperin&BillHetzel在“CommunicationsoftheACM”发表“TheGrowthofsoftwareTesting”70年代后至80年代中期的QA部门1996年提出的测试能力成熟度TCMM(TestingCapabilityMaturityModel)、测试支持度TSM(TestingSupportModel)、测试成熟度TMM(TestingMaturityModel)火龙果整理uml.org.cn测试的基本概念软件测试定义软件测试的目的软件测试与软件开发软件测试的分类测试的原则火龙果整理uml.org.cn测试基本概念-软件测试软件测试定义软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码的最终复审,是软件质量保证的关键步骤。测试:为了发现软件中错误而运行软件的过程。火龙果整理uml.org.cn测试基本概念-软件测试目的软件测试的目的(业界有两种权威定义)评价一个程序和系统的特性或能力,并确定它是否达到预期的结果。是在软件分发到最终用户手中之前,以最少的时间和人力找出软件中潜在的各种错误和缺陷。火龙果整理uml.org.cn测试基本概念-软件测试分类软件测试的分类按测试用例设计方法:黑盒测试、白盒测试、灰盒测试。按测试过程:单元测试、集成测试、系统测试、验收测试等等。火龙果整理uml.org.cn测试基本概念-软件开发与软件测试软件测试与软件开发的并行性需求评审概要设计概要设计评审详细设计设计走查编码走查单元测试编码系统测试集成测试测试评审测试过程测试计划…………各子模块火龙果整理uml.org.cn测试基本概念-软件开发与软件测试包含测试的完整的开发流程项目规划需求分析概要设计详细设计代码编写产品发布系统规划集成规划单元规划测试代码编写测试需求分析系统测试计划集成测试计划单元测试计划火龙果整理uml.org.cn测试基本概念-软件开发与软件测试开发各阶段的测试工作需求分析概要设计详细设计实现/单元测试集成测试确认测试系统测试系统测试确认测试集成测试单元测试计划计划计划执行执行执行执行计划/设计设计设计设计火龙果整理uml.org.cn测试基本概念-软件开发与软件测试V模型需求获取需求分析需求定义概要设计需求分析书详细设计概要设计书编码详细设计书程序软件产品系统测试可交付软件确认测试已确认软件集成测试已集成软件单元测试已测试模块用户火龙果整理uml.org.cn测试基本概念-软件开发与软件测试W模型需求概要设计设计编码单元测试集成测试系统测试验收测试安装集成构建设计测试功能测试需求测试火龙果整理uml.org.cn测试基本概念-软件开发与软件测试H模型测试准备测试执行其他流程(如设计流程)火龙果整理uml.org.cn测试的基本概念-测试的原则应尽早和不断的进行测试程序员应避免检查自己的程序从用户和开发者的角度进行软件测试要站在客户的角度进行测试火龙果整理uml.org.cn测试方法类程序测试静态分析(程序不执行)动态测试(程序执行)静态分析器分析(自动方式)代码评审(人工方式)黑盒测试(测试程序功能)白盒测试(测试程序结构)代码会审代码走查桌面检查火龙果整理uml.org.cn测试方法类白盒测试黑盒测试两种测试从不同角度出发,反映了不同侧面,也适应于不同的开发环境火龙果整理uml.org.cn测试方法类-黑盒测试黑盒测试这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。因此黑盒测试又叫功能测试或数据驱动测试。主要应用于快速开发环境。火龙果整理uml.org.cn测试方法类-黑盒测试黑盒测试主要是为了发现以下几类错误:1、是否有不正确或遗漏的功能?2、在接口上,输入是否能正确的接受?能否输出正确的结果?3、是否有数据结构错误或外部信息(例如数据文件)访问错误?4、性能上是否能够满足要求?5、是否有初始化或终止性错误?火龙果整理uml.org.cn测试方法类-白盒测试白盒测试这种方法是把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序状态,确定实际状态是否与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱动测试。火龙果整理uml.org.cn测试方法类-白盒测试白盒测试主要是想对程序模块进行如下检查:1、对程序模块的所有独立的执行路径至少测试一遍。2、对所有的逻辑判定,取“真”与取“假”的两种情况都能至少测一遍。3、在循环的边界和运行的界限内执行循环体。4、测试内部数据结构的有效性,等等。火龙果整理uml.org.cn测试方法类-灰盒测试灰盒测试是介于黑、白盒测试之间的,关注输出对于输入的正确性,同时也关注内部表现。灰盒测试结合了白盒测试盒黑盒测试的要素.它考虑了用户端、特定的系统知识和操作环境。它在系统组件的协同性环境中评价应用软件的设计。火龙果整理uml.org.cn测试方法类-静、动态分析静态分析(Staticanalysis)就是对软件的源代码进行研读,查找错误或收集一些度量数据,不需要对代码进行编译和执行动态分析(Dynamicanalysis)就是通过观察软件运行时的动作,来提供执行跟踪,时间分析,以及测试覆盖度方面的信息。火龙果整理uml.org.cn测试阶段类软件测试的阶段单元测试单元测试单元测试集成测试被测模块被测模块被测模块…确认测试系统测试…已确认的软件已集成的软件可交付的软件设计信息软件需求系统其他元素火龙果整理uml.org.cn测试阶段类-单元测试单元测试是对软件设计的最小单位—模块进行正确性检验的测试工作,测试模块在语法、格式和逻辑上的错误。使用的测试方法以详细设计为基础,了解I/O条件和模块的逻辑结构。先采用白盒测试法,尽可能达到穷尽测试,然后再用黑盒测试法,使之对任何合理和不合理的输入都能够鉴别和响应。火龙果整理uml.org.cn测试阶段类-集成测试用经过单元测试的模块组装成设计所规定的软件系统的过程就是“集成”。集成测试是组装软件的系统技术之一。集成测试的主要目标是要求符合实际软件结构,解决模块接口的一致性问题。例如,数据穿过模块接口时可能丢失;一模块可能对另一模块产生副作用;子功能组装以后,可能系统总的功能达不到;单个模块看来是可以接受的误差,组装以后积累起来的软件误差可能大到无法让人接受的程度;全程数据结构可能有问题等,都是集成测试要解决的问题。火龙果整理uml.org.cn测试阶段类-确认测试集成测试通过以后,软件已经组装成一个完整的软件包,这时就可以进行确认测试,用确认测试用例测试程序,将结果与期望值比较,测试软件是否满足需求规格说明的要求,即验证软件功能与用户要求的一致性。在软件需求说明书的有效性标准中,详细定义了用户对软件的合理要求,其中包含的信息是有效性测试的基础和根据。测试计划给出了必须进行的测试类型,测试过程确定了验证软件有效性的特殊测试用例。此外,还必须对文件资料是否完整正确,软件的易移植性、兼容性、出错自动恢复功能和易维护性进行确认。火龙果整理uml.org.cn测试阶段类-系统测试系统测试是将通过确认测试的软件作为整个计算机系统的一个元素,与硬件、外设等等其他元素结合在一起,对软件系统进行整体测试和有效性测试。一般相当大的工作量集中在软件系统的某些模块与计算机系统中有关设备打交道时的默契配合方面。例如:当软件系统中调用打印机这种常见输出外设时,软件系统如何通过计算机系统平台的控制去合理驱动、选择、设置、使用打印机。又如,新的软件系统中的一些文件名和计算机系统中别的软件系统中的一些文件完全同名时,两种软件系统之间如何实现相互协调操作。再如,新的软件系统和别的软件系统对系统配置和系统操作环境有矛盾时如何相互协调。如此等等的问题都是系统测试要解决的问题。火龙果整理uml.org.cn测试阶段类-系统测试系统测试的内容应包括对各子系统或分系统间的接口正确性的检查和对系统的功能、性能的测试。系统测试一般通过以下几种测试来完成:①恢复测试。恢复测试是要采取各种人工方法使软件出错,而不是能正常工作,进而检验系统的恢复能力。如果系统本身能够自动地进行恢复,则应检验:重新初始化、检验点设置机构、数据以及重新启动是否正确。如果这一恢复需要人工干预,则应考虑平均修复时间是否在限定的范围内。结合起来进行。为记录性能需要再安装必要的仪表或度量性能的软件。②安全测试。安全测试就是设置一些企图突破系统安全保密措施的测试用例,检验系统是否有安全保密的漏洞。对某些与人身、机器和环境的安全有关的软件,还需特别测试其保护措施和防护手段的有效性和可靠性。③强度测试。强度测试检验系统的能力最高能达到什么实际限度。在强度测试中程序被强制在它的设计能力极限状态下运行,进而超出极限,以验证在超出临界状态下性能降低不是灾难性的。④性能测试。性能测试检验安装在系统内的软件运行性能,这种测试需与强度测试结合起来进行。为记录性能需要再安装必要的仪表或度量性能的软件。火龙果整理uml.org.cn测试阶段类-验收测试系统测试完成后,并使系统试运行了预定的时间,企业应进行验收测试。确认已开发的软件能否达到验收标准,包括对测试有关的文档资料的审查验收和对程序测试验收。对于一些关键性软件,还必须按照合同一些严格条款进行特殊测试,如强化测试和性能降级执行方式测试等,验收测试应在软件投入运行后所处的实际生产环境下进行。验收测试的目的是测试程序的操作和合同规定的要求是否一致。通常以用户为主体来进行,由用户设计测试用例,确定系统功能和性能的可接受性,按照合同中预定的验收原则进行的测试,这是一种非常实用的测试,实质上就是用户用大量的真实数据试用软件系统。火龙果整理uml.org.cn测试阶段类-验收测试①文档资料的审查验收。所有与测试有关的文档资料是否编写齐全,并得到分类编写,这些文档资料主要包括各测试阶段的测试计划、测试申请及测试报告等。②余量要求。必须实际考察计算机存储空间,输入、输出通道和批处理间接使用情况,要保持至少有20%的余量。③功能测试。必须根据需求规格说明书中规定的功能,对被验收的软件逐项进行测试,以确认软件是否具备规定的各项功能。④性能测试。必须根据需求规格说明书中规定的性能,对被验收的软件进行测试,以确认该软件的性能是否得到满足,开发单位应提交开发阶段内各测试阶段所作的测试分析报告,包括测试中发现的错误类型,以及修正活动情况。开发单位必须设计性能测试用例,并预先征得用户的认可。⑤强化测试。强化测试必须按照GB8566-88《计算机软件开发规范》中的强化测试条款进行。开发单位必须设计强化测试用例,其中应包括典型的运行环境、所有的运行方式,以及在系统运行期可能发生的其他情况。⑥性能降级执行方式测试。在某些设备或程序发生故障时,对于允许降级运行的系统,必须确定经用户批准的能够安全完成的性能降级执行方式,开发单位必须按照用户指定的所有性能降级执行方式或性能降级地方式组合来设计测试用例,应设定
本文标题:软件测试基础知识培训
链接地址:https://www.777doc.com/doc-3605669 .html