1、软件测试重点1、 为什么要进行软件测试(软件测试的来源)第一是确认软件的质量 ; 第二是提供信息,比如提供给开发人员或程序经理的回馈信息,为风险评估所准备的信息 ; 第三个目的是保证整个软件开发过程是高质量的。2、 软件测试的定义 :软件测试的正确的定义就是:软件测试是由 “ 验证” 和“有效性确认 ” 构成的整体。“ 验证”:检验软件是否已经正确地实现了生产规格说明书所定义的系统功能和特性。“ 有效性确认 ”:确认开发的软件是否正确的满足用户的真正的需求活动。3、 软件测试和软件开发的关系在瀑布模型中:测试只有在开发完成之后才可以执行,强调的测试仅仅是对程序的检验。现在的认为是:软件测试贯穿
2、着整个软件生命周期,从需求评审、设计评审开始,测试就介入到软件产品的开发活动中。这样软件测试和软件开发构成一个全程的交互、协作的关系,两者自始至终一起工作,共同按时、高质量的完成工作。4、 软件质量的定义,软件质量有哪些特征:软件质量的定义: 质量是产品或服务所满足明示或暗示需求能力的固有集合。所具有的特征:软件产品质量满足用户要求的程度软件各种属性的组合程度用户对软件产品的综合反映程度。软件在使用中满足用户的要求的程度。5、 软件缺陷,主要类型和现象定义: 内部:软件缺陷就是软件产品在开发或者维护过程中存在的错误,毛病等各种问题;外部:系统所需要实现的某种功能的失效或者违背。主要类型和现象:
3、运行出错;运行中断、系统崩溃、界面混乱。数据计算错误;结果不正确功能没有实现或者部分实现某种特定的条件下没有给出正确或者准确的结果计算结果没有满足用户的需求用户界面不美观;排版混乱、字体不一致需求规格说明书的问题;漏掉需求或者需求表达不清设计不合理,存在缺陷;比如计算机游戏只能鼠标不能键盘。实际结果和预期结果不一样用户不能接受的其他问题,比如等待时间过长,操作不便。6、 什么叫评审,评审的分类评审:评审是对软件元素或者项目状态的一种评估手段, 以确定是否与原计划保持一致,并使其得到改进。分类:管理评审、技术评审、文档评审和流程评审。7、 软件测试的分类,分类的内容依据主要分类有三种 :1. 根
4、据测试方法:白盒测试、灰盒测试、黑盒测试2. 根据测试对象或阶段:单元测试、集成测试、系统测试、验收测试3. 根据目标:可靠性测试、可用性测试、兼容性测试、安装测试、恢复测试、安全性测试性能测试8、 软件测试阶段整个测试的阶段包括:规格说明书的审查、系统和程序设计的审查、单元测试、集成测试、功能测试、系统测试、安装测试、验收测试 8 个阶段。9、 测试的工作范畴:1. 软件测试工作的组织和管理:制定测试策略、测试计划、确认测试方法和测试规范、控制测试进度、管理测试资源。1. 测试工作的实施:编制符标准的测试文档,搭建测试环境,开发测试脚本10 、 测试的工作流程:1. 测试组织和管理:建立测试
5、队伍1. 测试计划:确定测试目标和测试测试范围1. 测试用例的设计1. 测试实施1. 测试结果分析1. 测试评审和报告10 、测试方法 黑盒白盒 白盒的测试方法 会设计测试用例白盒测试方法:语句覆盖:程序中 d 的每个可执行的程序至少被执行一次。判定覆盖: 运行被测程序, 使得程序中的每个判断的取值真分支和假分支至少经历一次,即判断真假值均被满足。条件覆盖:执行被测程序后要使每个判断中的每个条件的可能取值至少满足一次。条件组合覆盖: 设计足够的用例, 使得判断中的每个条件的所有可能至少出现一次,并且每个判断本身的判定结果也至少出现一次。 (它与条件覆盖的差别是它不是简单的要求每个条件都出现真假
6、两种 j 结果, 而是要求所有的组合都要出现一次)判断-条件覆盖:判定、条件的交集:所有条件的可能取值执行一次、判定的的结果至少执行一次。路径覆盖:覆盖程序中所有可能出现的路径。11 、测试复杂度计算(1) 圈复杂度12 、流程图简化13 、黑盒测试的测试方法 设计测试用例 等价类划分 边界值编写测试用例白盒测试:在知道事物内部结构,运行机制的基础上进行测试 语句覆盖:是程序中的语句至少执行一遍 判定覆盖:使得程序中每个判断的取真分支和取假分支至少执行一遍 条件覆盖:使得每个判断中的条件的可能取值至少满足一次。 条件组合覆盖:使得判断中每个条件所有的可能出现一次 路劲覆盖:覆盖程序中所有可能的
7、执行路径 .黑盒测试:通过分析事物的输入输出以及周边的条件来分析处理问题 等价类划分法:是指某一个输入域的一个特定子集合,在该集合中各个输入数据对于揭露程序中的错误是等效的。 (等价有效类和无效等价类) 边界值分析法:就是在某个输入输出的变量范围的边界上,验证系统是否能够正常的运行的测试方法。14 、单元测试的目标和任务目标:确保单元模块能被正确地编码、保证代码在结构上可靠且健全。任务:主要包括逻辑、功能、数据和安全性等各方面的的测试。包括单元中所有的独立执行路径、数据结构、接口、边界值条件、容错性等测试。15 、什么是驱动模块和桩模块驱动程序( Driver ):也成驱动模块,用以模拟被测试
8、模块的上级模块,也能够调用被测试模块。 在测试过程中, 驱动模块接受测试数据, 调用被测试模块并把测试数据传送给被测试模块。桩程序( stub ):也称桩模块,用以模拟被测试模块工作过程中所调用的下层模块。桩模块由被测试模块调用,它们一般只进行很少的数据处理。例如:打印入口和返回,以便于检测被测模块与下级模块的接口。16 、集成测试渐增式和非渐增的模式定义,优缺点非渐增式测试模式:先分别测试每个模块,再把所有的模块按设计要求放在一起结合成所要的程序,然后整体测试。如大棒模式渐增式测试模式: 把下一个要测试的模块同已经测试好的模块结合起来进行测试,测试后再把下一个应测试的模块结合进来测试。优缺点
9、:非渐增测试模式发现错误,较难诊断和纠正。而渐增模式如果发现错误往往与刚最近进来的模块有关系。渐增模式测试模式发现模块简单接口错误较早,而非渐增式发现较晚 渐增式测试模式需要编写的软件较多,工作量大,而非渐增式开销较小渐增式测模式测试更加彻底渐增式测试模式需要较多的机器时间非渐增式测试模式可以并行测试17 、自顶向下和自底向上集成方法:自顶向下: 从主模块开始, 沿着软件的控制层次往下移动, 从而逐渐把各个模块结合起来。优点:不需要测试驱动程序,能在测试阶段 d 的早期实现并验证系统的主要功能,从而早期发现上层模块接口的错误。缺点:需要桩程序,可能遇到与此联系的测试困难,低层关键模块的错误发现
10、较晚。自底向上:测试从原子模块开始集成进行测试。其优缺点和自顶向下相反混合策略模式: 对于软件结构中的较上层使用自顶向下;对于较下层使用自底向上。18 、非功能测试有哪些内容,那些点 (目录)性能测试 :通过测试确定系统运行时的性能表现, 如:运行速度、响应时间、占系统资源等。压力测试: 模拟实际应用软硬件的环境以及用户使用过程的系统负荷,长时间或大负荷地运行软件,来测试系统的性能,可靠性。稳定性。容量测试 :预先分析出反映软件系统应用特征的某项指标极限值,如某个web 站点可以支持的并发用户的访问量。 知道系统的实际容量,如果不能满足要求,就得寻找新的解决方案。安全测试: 检查系统对非法入侵
11、的防范能力,安全测试期间,测试人员假扮非法入侵者,采用各种办法试图突破防线。可靠性测试: 产品在规定条件下和规定时间内完成规定的功能的能力,它的概率度称为可靠度。容错性测试: 主要检查系统的容错能力,检查软件在异常条件下自身是否具有防护性的措施或者某种灾害难性恢复手段。19 、性能测试的两种负载增加的类型,含义系统负载:可以看作是 并发用户的数量 +思考时间 +每次请求发送的数据 +负载模式系统性能指标:包括两方面系统资源的使用率和系统行为表现。资源使用率越低,说明系统的性能越好。20 、验收测试,验收内容,验收测试步骤验收测试:是软件产品完成了功能测试和系统测试之后,产品发布之前进行的软件测
12、试活动。验收测试内容: 用户界面和可用性测试 兼容性测试:软件兼容性(向前向后兼容) 数据共享兼容性 硬件兼容性 安装测试和可恢复性测试 文档测试验收测试步骤: 建立测试计划 建立测试环境 准备测试数据 分析测试结果 提交测试报告21 、本地化和国际化的概念,含义 L10N I18N本地化: 是讲一个软件产品按特定国家或者语言市场的需求进行全面的制定过程。国际化:软件 “ 原始产品 ”本地化支持。也就是为了解决软件在各种不同国家和地区使用的问题。L10n : 是英文 Localization 单词的简写,意即本地化。I18n: 是英文 Internationalization 的简写 即为国际
13、化22 、手工测试的局限性 无法覆盖代码所有的路径 很难捕捉到与时序、死锁、资源冲突、多线程等有关的错误 系统负载,性能测试时,无法模拟大量的用户 在系统可靠性测试时,要模拟系统运行几年,十几年,以验证系统能否稳定运行,手工测试无法模拟 回归测试,在很短的时间内完成上千万个用例测试,手工测试做不到 测试没发现错误,并不能说明程序是正确的。因为无论是黑盒测试还是白盒测试都不能实现穷举测试,对于一些关键的程序,如导弹发射软件,则需要考虑利用数学归纳法或谓词演算等进行正确性验证。23 、自动化测试的概念,软件测试自动化的优势自动化测试:把认为驱动的测试行为抓华为及其执行的一种过程。优势: 速度快,效
14、率高,是手工无法相比的 永远不疲惫 测试结果准确 可靠,人可以撒谎,计算不会弄虚作假 可复用性,一旦完成所有的测试脚本,可以一劳永逸地运行很多遍 特别的功能:有些手工做不到的自动化可以做到24 、软件测试用例的设计,什么是测试用例,测试用例的重要性,设计测试用例要考虑的因素,单个测试用例、整体测试用例的质量要求测试用例:是有效地发现软件缺陷的最小的测试执行单元,是为特定的目的而设计的测试数据及相关测试规程的一个特定集合。重要性: 有效性 可重用性 易组织性 可评估性 可管理性考虑因素: 测试用例是否具有代表性,典型性。 测试用例设计时,是否寻求系统设计,功能设计弱点, 测试用例需要考虑正常的输入也要考虑异常的输入 用户测试用例设计要考虑用户实际使用场景25 、软件测试的原则10 个简答题,两个应用题
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1