您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > 软件测试方法和技术重点和试题与答案.
Ps:这个文档可以帮学这门课的同学更好的复习!后面有些试题和答案!第一章:引论了解:1.2为什么要进行软件测试软件测试——产品质量的保证软件测试——控制成本的关键软件测试——软件可靠性确认软件测试——让企业具备国际竞争的实力1.3什么是软件测试BillHetzel博士(正向思维的代表):软件测试就是为程序能够按预期设想那样运行而建立足够的信心。“软件测试是一系列活动以评价一个程序或系统的特性或能力并确定是否达到预期的结果”测试是为了验证软件是否符合用户需求,即验证软件产品是否能正常工作GlenfordJ.Myers(反向思维的代表):测试是为了证明程序有错,而不是证明程序无错误一个好的测试用例是在于它能发现至今未发现的错误一个成功的测试是发现了至今未发现的错误的测试软件测试是由“验证(Verification)”和“有效性确认(Validation)”活动构成的整体验证”是检验软件是否已正确地实现了产品规格书所定义的系统功能和特性“有效性确认”是确认所开发的软件是否满足用户真正需求的活动。1.4软件测试和软件开发的关系第二章:软件测试的基本概念了解:2.1.5修复软件缺陷的代价用户需求验证代码验证功能验证证系统非功能特性验证在设计阶段就是它的3~6倍,在编程阶段是它的10倍,在内部测试阶段是它的20~40倍,书金整理3在外部测试阶段是它的30~70倍,而到了产品发布出去时,这个数字就是40~1000倍,修正错误的代价不是随时间线性增长,而几乎是呈指数增长的。掌握:2.3软件测试的分类2.5软件测试的工作范畴软件测试工作的组织与管理:制定测试策略、测试计划,确认所采用的测试方法与规范,控制测试进度,管理测试资源。测试工作的实施:编制符合标准的测试文档,搭建测试环境,开发测试脚本、与开发组织协作实现各阶段的测试活动第三章:软件测试方法理解:白盒测试的概念黒盒测试的概念:白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。掌握:白盒测试方法的分类:语句覆盖,语句覆盖法的基本思想是设计若干测试用例,运行被测程序,使程序中的每个可执行语句至少被执行一次判定覆盖,判定覆盖法的基本思想是设计若干用例,运行被测程序,使得程序中每个判断的取真分支和取假分支至少经历一次,即判断真假值均曾被满足条件覆盖,条件覆盖的基本思想是设计若干测试用例,执行被测程序以后,要使每个判断中每个条件的可能取值至少满足一次。路径覆盖,判定-条件覆盖,条件组合覆盖,基本路径测试法黑盒测试的概念:黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。黒盒测试方法的分类:等价类划分法,分为有效等价类和无效等价类。有效等价类是有意义的、合理的输入数据,可检查程序是否实现了规格说明中所规定的功能和性能。无效等价类与有效等价类的意义相反边界值分析法,确定边界情况(输入或输出等价类的边界)选取正好等于、刚刚大于或刚刚小于边界值作为测试数据应果图法,判定表法用条件覆盖法设计白盒测试用例用等价类和边界值设计黒盒测试用例以上两种设计测试用例的方法一定要掌握第四章了解:TMM,过程能力描述了遵循一个软件测试过程可能达到的预期结果的范围。TMM的建立,得益于以下3点:充分吸收、CMM的精华;基于历史演化的测试过程;业界的最佳实践。TPI,TPI是基于连续性表示法的测试过程改进的参考模型,是在软件控制、测试知识以及过往经验的基础上开发出来的CTP,关键测试过程(CriticalTestProcess,CTP)评估模型主要是一个内容参考模型,一个上下文相关的方法,并能对模型进行裁剪STEP,STEP(SystematicTestandEvaluationProcess,系统化测试和评估过程)是一个内容参考模型,认定测试是一个生命周期活动,在明确需求后开始直到系统退役。第五章:单元测试掌握:单元测试的概念,单元测试:单元测试是对软件基本组成单元(如函数、类的方法等)进行的测试。定义:单元测试是对软件基本组成单元进行的测试。时机:一般在代码完成后由开发人员完成,QA人员辅助.概念:模块,组件,单元单元测试的测试人员:程序人员和开发人员单元测试的测试方法,检查每一条独立执行路径的测试。保证每条语句被至少执行一次。检查局部数据结构完整性检查模块接口是否正确检查临界数据处理的正确性预见、预设的各种出错处理是否正确有效单元测试的测试依据第六章:集成测试和系统测试掌握:集成测试的概念,集成测试:集成测试是将软件集成起来,对模块之间的接口进行测试。顾名思义,集成测试是将软件集成起来后进行测试。集成测试又叫子系统测试、组装测试、部件测试等。模块内的集成,主要是测试模块内各个接口间的交互集成关系;子系统内的集成,测试子系统内各个模块间的交互关系;系统内的集成,测试系统内各个子系统和模块间的集成关系。集成测试的测试人员:有经验的测试人员和开发者共同集成测试的集成模式和经典代表非渐增式测试模式:先分别测试每个模块,再把所有模块按设计要求放在一起结合成所要的程序,如大棒模式。渐增式测试模式:把下一个要测试的模块同已经测试好的模块结合进来进行测试,测试完后再把下一个应该测试的模块结合起来测试。渐增式测试又可以根据每次添加模块的路线分为自顶向下测试、自底向上测试和混合测试等方式。集成测试的测试依据;系统测试的概念,系统测试(特征测试):检验系统所有元素之间协作是否合适,整个系统的性能和功能是否达到要求。其测试内容包括:功能测试,非公能测试与回归测试等。系统测试的测试人员,系统测试的内容:功能测试,回归测试,非功能性测试;非功能性测试(特征测试)包含哪些内容:性能测试压力测试容量测试安全性测试可靠性测试容错性测试系统测试的测试依据第七章:验收测试掌握:验收测试的概念,验收测试:检查软件是否符合合同要求,包括需求规格说明、设计规格说明和用户手册等。其测试内容包括:易用性测试(用户界面和可用性测试)、兼容性测试(软件兼容性测试、数据共享兼容性测试、硬件兼容性测试)、安装测试和可恢复性测试、文档测试等(安装与卸载测试、可恢复性测试)验收测试的内容(正确性、完备性、易理解性、一致性)验收测试的测试人员(用户和测试部门共同完成)验收测试的测试依据;α,β测试第十一章软件测试自动化掌握:11.1测试自动化的内涵自动化测试(automatedtest)是相对手工测试而存在的一个概念,由手工逐个地运行测试用例的操作过程被测试工具自动执行的过程所代替。测试工具的使用是自动化测试的主要特征测试自动化指“一切可以由计算机系统自动完成的测试任务都已经由计算机系统或软件工具、程序来承担并自动执行”11.2测试自动化实现的原理代码分析:类似于高级编译系统,在工具中定义类/对象/函数/变量等定义规则、语法规则等,在分析时对代码进行语法扫描,找出不符合编码规范的地方。对象识别(Windows对象、Mac对象、WebDOM对象)脚本技术:线性脚本结构化脚本数据驱动脚本、关键字驱动脚本自动比较技术:静态比较和动态比较,简单比较和复杂比较,敏感性测试比较和健壮性测试比较,比较过滤器测试自动化系统的构成:测试工具的分类、测试工具的选择、测试自动化普遍存在的问题、自动化测试的引入和应用11.3.4自动化测试的引入和应用找准测试自动化的切入点把测试开发纳入整个软件开发体系测试自动化依赖测试流程和测试用例软件测试自动化的投入较大进行资源的合理调度11.4功能测试工具:QTP11.5性能测试工具:Loadrunner第十二章组建测试团队掌握:12.2测试团队的构成a.QA/测试经理:人员管理,资源调配、测试方法改进等;b.实验室管理人员:设置、配置和维护实验室的测试环境c.内审员:审查流程,建立测试模板,跟踪缺陷测试报告的质量等;d.测试组长:负责项目的管理、测试计划、测试用例、任务安排等;e.测试设计人员/资深测试工程师:产品设计规格说明书的审查、测试用例的设计、技术难题的解决、培训和指导、实际测试任务的执行;f.一般(初级)测试工程师:执行测试用例和相关的测试任务。12.3.1对测试人员的要求初级测试工程师测试工程师高级测试工程师(见课本276页)12.3.2优秀测试工程师应具备的素质a)高度的责任感b)非常好的沟通能力、幽默感c)技术能力、自信心、耐心d)怀疑一切的精神、勤奋精神e)洞察力、适度的好奇心f)反向思维和发散思维能力、g)自我学习能力、创新能力等第十四章设计和维护测试用例掌握:测试用例的设计原则:尽量避免含糊的测试用例尽量将具有相类似功能的测试用例抽象并归类尽量避免冗长和复杂的测试用例用例三要素:步骤,数据和预期结果。测试用例:测试用例可以独立进行测试执行的最小单元测试内容的一系列情景和每个情景中必须依靠输入和输出,而对软件的正确性进行判断的测试文档,称为测试用例测试用例就是将软件测试的行为活动转化为规范化的文档本章内容和第三章结合一起考。第十五章报告所发现的缺陷所谓软件缺陷,即为计算机软件或程序中存在的某种破坏正常运行能力的问题、错误,或者隐藏的功能缺陷、瑕疵,其结果会导致软件产品在某种程度上不能满足用户的需要。软件缺陷是怎么产生的?技术问题:算法错误、语法错误、计算和精度问题、接口参数传递不匹配软件本身:文档错误、时间上不协调、或不一致性所带来的问题、系统的自我恢复或数据的异地备份、灾难性恢复等问题团队工作:误解、沟通不充分掌握:软件缺陷的严重性,优先级,其它属性,完整的缺陷信息,软件缺陷跟踪和分析第十七章软件测试项目管理掌握:17.3软件测试项目的过程管理a)计划阶段:编写测试计划,搭建测试环境,准备测试数据b)设计阶段:编写测试用例(需求分析和测试用例文档)c)执行阶段:执行测试用例,生成缺陷d)报告阶段:测试报告,改进意见第十八章试题与答案一、判断题1.测试是调试的一个部分(╳)2.软件测试的目的是尽可能多的找出软件的缺陷。(√)3.程序中隐藏错误的概率与其已发现的错误数成正比(√)4.Beta测试是验收测试的一种。(√)5.测试人员要坚持原则,缺陷未修复完坚决不予通过。(√)6.项目立项前测试人员不需要提交任何工件。(╳)7.单元测试能发现约80%的软件缺陷。(√)8.测试的目的是发现软件中的错误。(√)9.代码评审是检查源代码是否达到模块设计的要求。(√)10.自底向上集成需要测试员编写驱动程序。(√)11.测试是证明软件正确的方法。(╳)12.负载测试是验证要检验的系统的能力最高能达到什么程度。(√)13.测试中应该对有效和无效、期望和不期望的输入都要测试。(√)验收测试是由最终用户来实施的。(√)14.测试人员要坚持原则,缺陷未修复完坚决不予通过。(√)黑盒测试也称为结构测试。(╳)集成测试计划在需求分析阶段末提交。(╳)15.软件测试的目的是尽可能多的找出软件的缺陷。(√)16.自底向上集成需要测试员编写驱动程序。(√)17.负载测试是验证要检验的系统的能力最高能达到什么程度。(╳)18.测试程序仅仅按预期方式运行就行了。(╳)19.不存在质量很高但可靠性很差的产品。(╳)20.软件测试员可以对产品说明书进行白盒测试。(╳)21.静态白盒测试可以找出遗漏之处和问题。(√)22.总是首先设计白盒测试用例。(╳)23.可以发布具有配置缺陷的软件产品。(√)24.所有软件必须进行某种程度的兼容性测试。(√)25.所有软件都有一个用户界面,因此必须测试易用性。(╳)26.测试组负责软件质量。(╳)27.按照测试实施组织划分,可将软件测试分为开发方测试、用户测试和第三方测试。(√)28.好的测试员不懈追求完美。(×)29.测试程序仅仅按预期方式运行就行了。(×)30.在没有产品说明书和需求文档的条件下可以进行动态黑盒测试。(√)31.静态白盒测试可以找出遗漏之处和问题。(√)32.测试错误提示信息不属于文档测试范围。(×)33.代码
本文标题:软件测试方法和技术重点和试题与答案.
链接地址:https://www.777doc.com/doc-6111544 .html