1--6章知识总结

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

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

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

资源描述

知识总结第一章:软件概念:软件软件是由文档,程序,数据组成等组成软件危机概念:软件危机泛指在计算机软件的开发和维护过程中所遇到的一系列严重问题。产生原因:1)需求不明确2)缺乏正确的理论指导3)软件开发规模越来越大4)软件开发复杂度越来越高软件工程概念:将系统化的、严格约束的、可量化的方法应用于软件的开发、运行和维护,即将工程化应用于软件软件工程框架:目标+过程+原则过程:需求:问题分析需求分析设计:概要设计实现:把设计结果转换为可执行的程序代码确认:贯穿整个开发过程,对完成的结果进行确认,保证产支持:修改和完善活动原则:控制需求,满足软件特性,高效率,工具和环境的支持软件生命周期过程:软件生命周期模型:V模型软件开发主流技术C/S模式:是将计算机应用任务分解成多个子任务,由多台计算机分工完成,克服了终端/主机结构中主机负担过重,用户界面不友好等缺点,因而得到了广泛的应用。C/S前端是客户机(通常是PC);后端是服务器,运行数据库管理系统,提供数据库的查询和管理。C/S模式技术特点:功能划分清晰,共享资源不对称,协议定位透明性,基于消息的交换,可扩展性B/S模式:是指在TCP/IP的支持下,以HTTP为传输协议,客户端通过Browser访问Web服务器以及与之相连的后台数据库的技术及体系结构。第二章软件测试概念:是对软件需求分析、设计、编码的最终复查的一系列过程,是软件质量保证的关键步骤软件测试的目的:.发现缺陷,提高质量(发现并纠正软件中的错误来提高软件质量)验证是否满足需求(验证软件的功能和性能等满足需求)建立软件质量的信心(测试报告提供软件质量的相关信息,建立起对软件质量的信心)软件测试原则:1)测试尽早介入2)测试显示缺陷的存在3)穷尽测试是不可能的4)缺陷集群性5)杀虫剂悖论6)测试活动依赖于测试背景7)不存在缺陷(就是有用系统)的谬论软件测试流程包括:测试计划和控制测试需求分析和用例设计实现和执行测试用例评估出口准则和报告测试结束活动测试人员的思维技术思维能力对技术的建模能力和理解原因与后果的能力。创造思维能力提出新想法和预见可能性的能力。批判思维能力评价想法并进行推理的能力。实践思维能力将想法变成现实的能力,测试人员的思维是破坏性的开发人员与测试人员之间的关系以合作而非斗争的方式开展项目,共同目标是追求高质量的产品以中性的语调和事实为依据的方式来沟通,而不要指责和批评他人尽量理解其他成员的感受,以及他们为什么会有这种反应确信其他成员已经理解你的描述软件开发对应的软件测试过程第三四章生命周期测试的概念:软件生命周期指从项目规划、需求分析,到概要设计、详细设计、代码实现,直到软件交付使用的整个过程。软件测试贯穿整个软件生命周期,在每一个环节控制与管理软件的质量。生命周期各个阶段的测试要求:1).需求阶段在需求分析阶段内,由系统分析人员对被设计的系统进行系统分析,确定对该软件的各项功能、性能需求和设计约束,确定对文档编制的要求,作为本阶段工作的结果,一般地说软件需求规格说明、数据要求说明和初步的用户手册应该编写出来。2).设计阶段在概要设计阶段,测试人员应阐述测试方法和测试评估准则,编写测试计划,成立测试小组,安排具有里程碑的测试日程。在详细设计阶段,测试人员要开发或获取确认支持工具,生成功能测试数据和测试用例3).编码阶段完成测试用例开发,堆程序进行实际的测试4)测试阶段进行第三方的正式确认测试,检验所开发的系统是否能按照用户提出的要求运行。在测试阶段要使得用户能成功地安装一个新的应用系统进行测试5)安装阶段对程序安装的正确性和完整性进行核对阶段,检验产品文件的完整性6)验收阶段从功能,性能,接口质量,过载后的软件质量,安全性,软件的稳定性来验收7)维护阶段软件将在运行使用中不断地被维护,根据新提出的需求进行必要而且可能的扩充和删改、更新和升级。基于CSCI的软件测试分类软件测试分级:第五章软件缺陷定义:软件错误或软件缺陷是软件产品的固有成分,是软件“生来具有”的特征,软件缺陷包括检测缺陷和残留缺陷导致软件产生缺陷的九大原因:①需求的不完善定义(最大原因)②客户——开发者通信失败③对软件需求的故意便宜④逻辑设计错误(其次)⑤编码错误⑥不符合文档编制与编码规定⑦测试过程不足⑧规程错误⑨文档编制错误缺陷基本信息:1.缺陷标题2.标示3.报告人4.报告日期5.程序的名称6.版本号7.配置8.缺陷的类型9.严重性10.优先级11.关键词12.缺陷描述13.重现步骤14.结果对比缺陷分类测试错误严重程度:缺陷分类解决的优先级:缺陷管理基本流程:新打开(Open):分配给相关开发人员处理;修正(Fixed):开发人员已完成修正,等待测试人员验证;HighMiddleLow按设计(ByDesign):开发人员按设计说明书设计的;重新打开(Reopen):旧缺陷在新的版本中出现,重新打开缺陷;关闭(Closed):错误已被修复;信息(New):测试中新报告的软件缺陷缺陷管理流程中的各种角色:测试人员:进行测试的人员,缺陷的发现者项目经理:对整个项目负责,对产品质量负责的人员开发人员:执行开发任务的人员,完成实际的设计和编码工作评审委员会:对缺陷进行最终确认,在项目成员对缺陷达不成一致意见时,行使仲裁权力软件缺陷度量软件缺陷度量的主要方法有:缺陷密度(缺陷在规模上的分布):缺陷密度=已知缺陷的数量/产品规模缺陷率(缺陷在时间上的分布):缺陷率=一定时间范围内的缺陷数/错误几率缺陷清除率:整体缺陷清除率=开发过程中发现的所有缺陷数/发现的总缺陷数阶段性缺陷清除率=开发阶段清除的缺陷数/产品潜伏的缺陷总数第六章软件测试过程定义:一种抽象的模型,用于定义软件测试的流程和方法。测试过程不是独立存在,它与其他过程有密切的关系!软件测试过程模型:V模型:V模型:强调了在整个软件项目开发中需要经历的若干个测试级别,既有源代码和程序的验证和测试,又有系统级用户需求的验证,并与每一个开发级别对应;但局限在于:测试是在编码后,仅仅是测试程序,需求分析、设计阶段存在的问题,只能在后期的系统和验收测试才能发现。更易引起对测试的误区,导致大多认为测试不重要。测试要尽早开展。W模型W模型:增加了软件各开发阶段中应同步进行的验证(verification)和确认(validation)活动。基于“尽早地和不断地进行软件测试”的原则。软件测试的主要内容:1.基于项目目标,制定测试计划,确定测试策略,选定测试方法,排定优先级,建立里程碑,组织测试资源等2.基于测试计划,明确测试需求,测试对象和测试目标及功能与性能指标3.依据测试计划和测试设计,测试人员可以开展测试的相关活动软件测试过程中的关键活动包括:软件测试过程成熟度(TMM)TMM的五个级别:初始级,定义级,集成级,管理和测量级,优化、预防缺陷和质量控制级软件成熟度模型(CMM)CMM是指“能力成熟度模型”,其英文全称为CapabilityMaturityModelforSoftware,英文缩写为SW-CMM,简称CMM。它是对于软件组织在定义、实施、度量、控制和改善其软件过程的实践中各个发展阶段的描述。CMM的五个级别:初始级、可重复级、定义级、管理级、优化级软件测试过程管理:第七章静态测试及静态测试对象:通常是指不执行程序代码而寻找代码中可能存在的错误或评估程序代码的过程。各种与软件相关的有必要进行测试的产物,比如各类文档、源代码等。静态测试特点:1)不必动态地运行程序。2)可以人工进行,充分发挥人的思维优势3)不需要特别的条件,容易展开4)对测试人员要求比较高。静态测试的主要内容:1)各阶段的评审:一般评审包括:培训评审、预备评审、同行评审,我们所关心的是同行评审2)代码检查:主要检查代码和设计的一致性、代码对标准的遵循、代码的可读性、代码的逻辑表达正确性,代码的合理性3)软件复杂性分析:主要包括软件复杂性度量与控制,软件复杂性度量元,面向对象的软件复杂性度量4)软件质量度量:就是从整体上对软件质量进行评测,用于软件开发中对软件进行质量控制,并最终对软件产品进行评价和验收同行评审同行评审是由开发软件产品作者以外的其他人检查工作产品,以发现缺陷并寻找改进机会。评审方法是评审参与者通常采用一行一行仔细阅读被评审对象的形式发现被测对象中的缺陷。同行评审一般包括审查、小组评审、走查、桌面评审、临时评审五种类型。同行评审越正式,发现的缺陷越多,但评审越正式,花费成本越高代码检查定义:是以组为单位阅读代码是一系列规程和错误检查技术的集合代码评审开展时间:代码全部完成或部分完成后测试目的:及早发现缺陷具体方法:一般采用静态“白盒”测试方法代码检查输出的信息:度量标准、易产生错误的代码、代码规则的执行、流图和调用图的分析代码检查内容:完整性检查,一致性检查,正确性检查,可修改性检查,可预测性检查,健壮性检查,可理解性检查,可验证性检查,结构性检查,可追溯性检查,代码标准符合性检查。代码检查方法——代码审查要点及内容:代码审查的要点:代码和设计的一致性代码执行标准的情况代码的逻辑表达正确性代码结构的合理性代码的可读性等代码审查内容:控制流分析(非结构化的代码、死代码等)数据流分析(未定义的数据的使用、未使用的数据等)信息流分析断言分析软件质量模型软件质量概念::与软件产品满足需求所规定的和隐含的能力有关的特征或特性的全体。软件质量可用6个特性来评价:软件质量可用6个特性来评价:功能性:软件所实现的功能达到它的设计规范和满足用户需求的程度可靠性:在满足一定条件的应用环境中,软件能够正常维持其工作的能力可用性:对于一个软件,用户在学习、操作和理解过程中所做努力的程度效率:在规定条件下,用软件实现某种功能所需的计算机资源(包括时间)的有效程度维护性:当环境改变或软件运行发生故障时,为使其恢复正常运行所做努力的程度可移植性:为使一个软件从现有运行平台向另一个运行平台过度所做努力的程度软件质量分层模型:软件质量管理软件质量管理三个关键阶段•质量计划制定•质量控制•质量保证第八章一.静态测试1.白盒测试概念:“白盒”测试又称为结构测试或逻辑驱动测试是一种按照程序内部逻辑结构和编码结构设计测试数据并完成测试的一种测试方法。测试特点:可以构成测试数据使特定程序部分得到测试有一定的充分性度量手段可获得较多工具支持通常只用于单元测试基本测试内容:对程序模块的所有独立执行路径至少测试一次对所有的逻辑判定,取“真”与取“假”的两种情况都至少测试一次在循环的边界和运行的边界限内执行循环体测试内部数据结构的有效性白盒测试技术:1.静态白盒测试技术:代码检查,编码标准和规范2.动态白盒测试技术:逻辑覆盖测试,路径测试,数据流测试,信息流分析,覆盖率分析2.逻辑覆盖1.语句覆盖:语句覆盖是最起码的测试要求,使得每一条语句至少被执行一次对程序的逻辑覆盖很少,只关心判定表达式的值,是很弱的逻辑覆盖标准。2.判定覆盖:要求设计足够的测试用例,使得程序中的每一个分支至少通过一次即每一条分支语句的“真”值和“假”值都至少执行一次3.条件覆盖:不仅每一个语句至少执行一次,使得判定中的每个条件获得各种可能的结果。判定覆盖只关心整个判定表达式的结果,条件覆盖关心的则是每个条件各种取值的结果。4.判定条件覆盖:设计足够多的测试用例,使得判定中每个条件的所有可能取值至少能够获取一次,同时每个判断的所有可能的判定结果至少执行一次。5.条件组合覆盖:要求设计足够多的测试用例,使得每个判定中条件的各种组合至少出现一次。满足条件组合覆盖标准的测试用例,也一定满足判定覆盖、条件覆盖和判定/条件覆盖标准。6.路径覆盖:要求设计足够多的测试用例,使得程序中所有的路径都至少执行一次3.路径测试概念:根据程序的逻辑控制所产生的路径进行测试用例设计的方法。它是从一个程序的入口开始,执行所经历的各个语句的完整过程。完成路经测试的理想情况是做到路径覆盖。控制流图:路径测试基本步骤:1)根据过程设计结果画出相应的流图2)计算控制流图的圈复杂度3确定线性独立路径的基本集合4)设计可强

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

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

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

×
保存成功