软件产品测试

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1、软件工程:采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能得到的最后的技术方法结合起来。2、基准配置又称为基线配置,是经过阶段评审后的软件配置成分3、软件工程强调生命周期方法学和各种结构分析及结构设计技术4、软件工程的七条基本原理(1983年,由B.W.BOEHM提出):(1)用分阶段的生命周期计划严格管理。(2).坚持阶段评审。(3).实行严格的产品控制。(4).采用现代程序设计技术。(5).结果应能清楚的审查。(6).开发小组人员应少而精。(7).承认不断改进软件工程实践的必要性。5生命周期应该知道严格的六类计划:(1).项目概要计划。(2).里程碑计划。(3).项目控制计划。(4).产品控制计划。(5).验证计划。(6).运行维护计划。6、软件生命周期由软件定义(细分三个阶段问题定义、可行性研究、需求分析)、软件开发(细分总体设计、详细设计、编码、单元测试、综合测试)和软件维护三个时期组成。7、软件维护通常有四类维护活动:a.改正性维护。b.适应性维护。c.完善性维护。d.预防性维护。8、软件设计文档包含:构架、数据流示意图、状态变化示意图、流程图、注释代码。9、软件测试文档:测试计划、测试用例、软件缺陷报告、归纳、统计和总结。10、开发进度表:Gantt图表11、软件产品组成:帮助文件、用户手册、样本和示例、标签、产品支持信息、图标和标志、错误信息、广告和宣传材料、软件的安装说明、软件说明文件、测试错误提示信息。12、软件是计算机系统中硬件相互依存的另一部分,它包括程序、相关数据及其说明文档。13、测试人员在软件开发过程中的任务:寻找BUG;避免软件开发过程中的缺陷;衡量软件的品质;关注用户的需求。14软件测试的目的:第一是确认软件的质量,第二提供信息,第三软件测试包括软件产品的测试还有软件开发过程。15、软件与工业产品相比具有的特性:软件是一种逻辑实体,具有抽象性;软件没有明显的制作过程;软件在实用过程中没有磨损,老化的问题;软件对硬件和环境有着不同程度的依赖性;软件的开发至今尚未完全摆脱手工式的开发方式生产效率低;软件是复杂的,以后会更加复杂;软件的成本相当贵软件工作的牵涉到很多社会因素16、软件危机是计算机软件在它的开发和维护过程中所遇到的一系列严重问题,概括地说,主要包含主要包含两个方面:如何开发软件,怎么满足日益发展的需求;如何维护数量不断膨胀的已有软件。17、软件危机的主要表现:对软件开发成本和进度的估计常常不准确;用户对已完成的软件系统不满意的现象经常发生;软件产品的质量靠不住;软件常常是不能维护;软件通常没有适当的文档资料;软件成本在计算机系统总成本中所占比例在上升;软件开发生产率提高的速度跟不上计算机应用迅速普及深入的趋势。18、软件危机的内在原因:软件生产本身存在着复杂性;软件开发使用的方法和技术19、符合下面任一个就是软件错误:软件未达到产品说明书中已经标明的功能;软件出现了产品说明书中指明不会出现的错误;软件功能超出了产品说明书指明的范围;软件未达到产品说明书虽未指出但应达到的目标;软件测试员认为软件难以理解不易使用或者用户认为软件使用效果不好20、软件测试使用人工和自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求,或弄清预期结果与实际结果之间的差别。21、软件质量的衡量:在正确的时间用正确的方式把一个工作做正确;符合一些应用标准的要求;质量本身是软件达到最开始所设定的要求;质量代表它符合客户的需要。22、软件测试的总目标是确保软件的质量23、TMM测试成成熟度的5个级别:Phase0:.测试和调试没有区别Phase1:测试的目的是为了表明软件能工作Phase2:测试的目的是为了表明软件不能正常工作Phase3:测试的目的不是为了证明什么,而是为了把软件不能正常工作的预知风险减低到能够接受的程度Phase4:测试不是行为,而是一种自觉的约束不用太多的测试投入到产生风险的软件上23、测试工程师服务对象有四类人:软件用户、项目经理、程序员、技术文档工程师市场开发人员和技术支持工程师24、软件测试能做好的三件事:(1)证明获取系统在可接受风险范围内可用的信心尝试在非正常情况和条件下的功能和特性保证产品的完整性(2)检测发现错误和系统不足定义系统的能力和局限性提供组件、工作产品和系统的质量信息(3)预防澄清系统的规格和性能尽可能减少错误的信息在过程中尽早坚持错误确认问题和风险,并提前发现解决问题25、软件测试的原则:从用户角度是希望通过软件测试能充分暴露软件中存在的问题和缺陷,从而考虑是否可以接受该产品。从开发者的角度是希望测试能表明软件产品不存在错误,已经正确地实现了用户的需求,确立人们对软件的信心。26、达到原则需注意的地方:(1)应当把“尽早和不断地测试”作为开发者的座右铭(2)程序员应该避免检测自己的程序,测试工作应该由独立的专业的软件测试机构来完成。(3)设计测试用例时应该考虑到合法的输入和不合法的输入以及各种边界条件,特殊情况要制造极端状态和意外状态。(4)一定要注意测试中的错误集中发生现象,这和程序员的编程水平和习惯有很大关系。(5)对测试错误结果一定要有一个确认的过程,一般由A测试出来的错误,一定要由一个B来确认,严重的错误可以召开评审会进行讨论和分析。(6)制定严格的测试计划,并把测试时间安排得尽量宽松,不要希望在极短的时间内完成一个高水平的测试。(7)回归测试的关系性一定要引起充分的注意,修改一个错误而引起更多的错误出现的现象并不少见。(8)妥善保存一切测试过程文档,27、软件测试的对象:需求分析、概要设计、详细设计以及程序编码等各段所得到的文档,包括需求规格说明、概要设计规格说明、详细设计规格说明以及源程序。所以软件测试贯穿整个软件定义与开发期间。28、软件测试过程模型(1)V模型,单元和集成测试应检测程序的执行是否满足软件设计者的要求;系统测试应检测系统功能、性能的质量特性是否达到系统要求的指标;验收测试确定软件的实现是否满足用户的要求。局限:他仅仅把测试作为爱编码之后的一个阶段,是针对程序进行的寻找错误的活动,而忽略了测试活动对需求分析、系统设计等活动的验证和确认的功能。(2)W模型,测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需求、设计等同样要测试,也就是说,测试与开发是同步进行的。有利于今早的、全面的发现问题。局限:无法支持迭代的开发模型。对与当前软件开发复杂多变的情况,W模型并不能解决管理面临的困惑。(3)H模型,软件测试是一个独立的流程,贯穿产品的整个周期,与其他流程并发的进行。29、黑盒测试的定义:黑盒测试又称功能测试、数据驱动测试或基于规格说明的测试,是一种从用户观点出发的测试,把测试对象看做一个黑盒子在不考虑程序内部结构和内部特性,测试者只知道该程序输入和输出之间的关系或程序功能的情况下,依靠能够反映这一关系和程序功能需求规格的说明书,来确定测试用例和推断测试结果的正确性。30、白盒测试定义:白盒测试又称结构测试、逻辑驱动测试或基于程序的测试。它依赖于程序细节的严密检验,针对特定条件和循环设计测试用例,对软件的逻辑路径进行测试。在程序的不同点检验程序的状态,来判定其实际情况是否与预期的状态相一致。31、最常见的程序覆盖有:(1)语句覆盖。它要求被测试程序的每一条可执行语句在测试中至少执行一次,这是最弱的逻辑覆盖准则。(2)分支覆盖或判定覆盖。要求程序中所有判断的分支至少执行一次。(3)条件覆盖。当判断式中含有多个条件时,要求每个条件的取值至少一次为真。一次为假(4)判定/条件覆盖。设计足够的测试用例,使得判定中每个条件的所有可能结果至少出现一次,每个判定本身所有可能结果也至少出现一次。(5)路径覆盖。设计测试用例,覆盖程序中所有可能的路径(6)条件组合。设计测试用例,使得每个判定条件结果的所有可能组合至少出现一次。32、黑盒测试主要发现的错误:是否有不正确或遗漏的功能、在接口上输入是否能正确地接受能否输出正确的结果、是否有数据结构错误或外部信息访问错误、性能上是否能够满足要求、是否有初始化或终止性错误。33、白盒测试主要检查的地方:对程序模块的所有独立的执行路径至少测试一遍、对所有的逻辑判定真假取值各至少测一遍、在循环的边界和运行的界限内执行循环体、测试内部数据结构的有效性。34、两都比较比较内容黑盒测试白盒测试规划方面针对功能的测试针对结构的测试优势方面能确保从用户的角度出发进行测试能够对程序内部的特定部位进行覆盖测试欠缺方面无法测试程序内部特定部位如果规划说明有误,则无法发现问题无法检验程序的外部特性,无法对未来实现规格说明的程序内部欠缺部分进行测试应用举例边界值分析、等价值划分、错误推断法、因果图法语句覆盖、判断覆盖、条件覆盖、判断/条件覆盖、路经覆盖35、静态分析技术:是一种不通过执行程序而进行测试的技术。功能是检查软件的表示和描述是否一致,没有冲突或者没有歧义。工具有:语法分析器、符号执行器软件检视36、动态分析技术:动态分析技术的主要特征是计算机必须真正运行被测试的程序,通过输入测试用例对其运行情况进行分析。在动态分析技术中,最重要的是路径和分支测试。路径测试度量程序的最主要的质量特性是复杂度。分支测试需要程序中的每个分支至少被经过一次37、软件测试的过程:单元(模块)测试、集成(组装或联调)测试、确认(合格性)测试、系统测试和验收测试。38、软件质量是与软件产品满足明确或隐含需求的能力有关的特征和特性的总和。软件质量可用六个特性来评价:功能性、可靠性、易用性、效率、可维护性和可一致性39、全面质量管理含义:是一个组织以质量为中心,以全员参与为基础,目的在于通过顾客满意和本组织所有成员及社会受益而达到长期成功的管理途径。40、全面质量管理特点:全员参加;全过程;全面运用一切有效方法;全面控制质量因素。(三全:全员、全过程、全方位)41、全面质量管理活的科学程序——PDCA(plan计划,do实施,check检查,action处理)42、单元测试是软件开发过程中要进行的最低级的测试活动,在单元测试活动中,软件的独立单元将在与程序的其他部分像个的情况下进行测试。在结构化语言编程中,要测试的单元是函数或子过程。面向对像语言中要测试的基本单元是类。第四代语言中测试的基本单元它被典型划分一个菜单或显示界面。43.静态分析:是对软件的源代码进行研读,查找错误或收集一些度量数据,并不需要对代码进行编译和执行。44、动态分析:是通过观察软件运行时的动作,来提供执行跟踪、时间分析以及测试覆盖度方面的信息。45.对单元测试认识的误区1).它浪费了太多的时间。2).它仅仅证明了这些代码做了什么。3).一个很优秀的程序员是不是可以不进行单元测试。4).不管怎么样,集成测试将会被抓住对方的Bug。5).它的成本效率不高。46、单元测试的目的1).保证局部代码质量。2).保证代码整体结构良好。3)单元测试使排除代码错误的成本最小化。4).单元测试大幅度降低了后期测试和升级维护的时间成本。5).单元测试自然的使开发流程变得“敏捷”,可以适应频繁变动的需求,因为整体结构良好的代码具有较好的可扩展性,自动回归测试又能保证修改不会引入新的错误。47、单元测试工具分类:代码检查工具、覆盖率测试工具、.内存检查、性能检查、质量分析工具48、VisualUnit,简称VU,新一代单元测试工具,功能强大,使用简单,完全可视化,不需要写测试代码。49、单元测试的内容1).模块接口、;测试模块的数据流。测试项目有:(1)调用所测模块时的输入参数与模块的形式参数在个数、属性、顺序上是否匹配;(2)所测模块调用子模块时,它输入给子模块的参数与子模块中的形式参数在个数、属性、顺序上是否匹配。(3).是否修改了只做输入用的形式参数。(4)输出给标准的参数在个数、属性、顺序上是否正确。(5).全局量的定义在各模块中是否一致。(6).限制是否通过形式参数来传送。2).局部数据结构测试:模块的局部数据结构是最常见的

1 / 8
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功