软件测试知识点整理

名词解释

软件质量保证

(课本、PPT)

软件质量保证是贯穿软件项目整个生命周期的有计划的系统活动,经常针对整个项目质量计划执行情况进行评估、检查和改进,确保项目质量与计划保持一致。

集成测试

(PPT)

集成测试又叫组装测试,通常在单元测试的基础上,将所有程序模块进行有序的、递增的测试。重点测试不同模块的接口部分。

确认测试

(百度百科)

确认测试又称有效性测试。有效性测试是在模拟的环境下,运用黑盒测试的方法,验证被测软件是否满足需求规格说明书列出的需求。任务是验证软件的功能和性能及其他特性是否与用户的要求一致。

性能测试

(课本P5)

测试软件是否达到需求规格说明书中规定的各类性能指标,并满足相关的约束和限制条件。

(课本P175)

是为描述测试对象与性能相关特征并对其进行评价,而实施和执行的一类测试。

压力测试

(课本P5)

对系统不断施加压力的测试,通过确定一个系统的瓶颈或者不能接受的性能点,获得系统能提供的最大服务级别的测试。

(课本P176)

指通过逐步增加系统负载,测试系统性能的变化,并最终确定在什么负载条件下系统性能处于失效状态,并获得系统能提供的最大服务级别的测试。

负载测试

(课本P176)

指通过逐步增加系统负载,测试系统性能的变化,并最终确定在满足系统性能指标情况下,系统所能够承受的最大负载量的测试。

兼容性测试

(课本P5)

测试软件在一个特定的硬件/软件/操作系统/网络等环境下的性能如何。

(课本P147)

兼容性测试是验证软件与所依赖的环境的依赖程度,包括对硬件平台的依赖程度和对软件平台的依赖程度,即是通常所说的软件的可移植性。

安全测试

(课本P5)

测试软件在没有授权的内部或外部的用户的攻击或者恶意破坏时如何进行处理,是否能保证软件和数据的安全。

回归测试

(PPT)

是指软件被修改后重新进行的测试,如重复执行上一个版本测试时的用例,是为了保证对软件所做的修改没有引入新的错误而重复进行的测试。

冒烟测试

(PPT)

是指在对一个新版本进行系统大规模的测试之前,先验证一下软件的基本功能是否实现,是否具备可测试性。

软件缺陷(定义)

(PPT)

  • 软件未达到产品说明书中标明的功能。
  • 软件出现了产品说明书中指明的不会出现的功能。
  • 软件功能超出了产品说明书中指明的范围。
  • 软件未达到产品说明书中指明应达到的目标。
  • 软件测试人员认为软件难以理解和使用、运行速度慢,或最终用户认为不好。

符合以上任意一种情况,即为软件缺陷。

(课本P106)

软件缺陷是指计算机软件或程序中存在的某种破坏正常运行能力的问题、错误,或者隐藏的功能缺陷。

软件可靠性

(课本P12)

在指定条件下使用时,软件产品维持规定的性能级别的能力

包括成熟性、容错性、易恢复性、可靠性依从性

(课本P239)

软件在规定的条件下和规定的时间区间完成规定功能而不发生软件失效的概率。

黑盒测试

(课本P37)

黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下对程序进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。

白盒测试

(课本P38)

白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试是一种测试用例设计方法,盒子指的是被测试的软件。对白盒测试来说,盒子是可视的,可以看到盒子内部的东西并且了解程序的运作过程。白盒测试全面了解程序内部逻辑结构、对所有逻辑路径进行测试。白盒法是穷举路径测试,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。

测试用例

(课本P42)

为某个特殊目标而编制的一组测试输入、执行条件,以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。

(PPT)

  • 测试用例,英文为TestCase,缩写为TC,指的是在测试执行之前设计的一套详细的测试方案,包括测试环境、测试步骤、测试数据和预期结果。
  • 测试用例设计的好坏直接决定了测试的效果和结果。所以说在软件测试活动中最关键的步骤就是设计有效的测试用例。
  • 测试用例可以针对黑盒测试设计用例,也可以针对白盒测试设计用例。

逻辑覆盖

(百度+PPT)

逻辑覆盖是通过对程序逻辑结构的遍历实现程序的覆盖。根据覆盖目标的不同,逻辑覆盖又可分为语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖和路径覆盖。

条件组合覆盖

(PPT)

通过执行足够的测试用例,使得程序中每个判定的所有可能的条件取值组合都至少出现一次。

变异测试

(课本P83)

程序变异是一种评价测试和增强测试的技术。当测试人员采用变异技术来评价测试集的充分性或是增强测试集时,这种活动就被称为是变异测试。

自动化测试

(课本P143)

自动化测试是通过测试工具或其他手段,按照测试工程师的预定计划对软件产品进行自动化的测试,通俗的说也就是程序测程序,用脚本的运行代替手工测试。

第三方测试

(慕课)

由开发者和用户以外的第三方进行的软件测试,其目的是为了保证测试的客观性。

问答

软件测试的原则有哪些?(6种及以上)

(PPT)

  • 软件测试是证伪而非证真

    软件测试是为了发现错误而执行程序的过程,软件测试完成并不能说明软件已经不存在问题了。

  • 尽早地和不断地进行软件测试

    软件开发各个阶段工作的多样性以及参加开发各层次人员之间工作的配合关系等因素,使得开发的各个环节都可能产生错误。应在软件开发的需求分析和设计阶段就开始测试工作,坚持在各个环节进行技术评审和验证,这样才能尽早发现错误,以较低的代价修改错误。

  • 重视无效数据和非预期使用习惯的测试

    测试用例的编写不仅应当根据有效和遇到的输入情况,而且也应当根据无效的和未遇到的输入情况来设计。

  • 程序员应该避免检查自己的程序

    程序员与软件产品有着直接的利益关系,有很多理由支持这个原则。测试工作需要严格的作风,客观的态度和冷静的情绪。但是心理学告诉我们,人们具有一种不愿意否定自己的自然性心理,这是做好软件测试的一大心理障碍。

  • 充分注意测试中的群集现象

    测试时不要以为找到了几个错误就已经解决,不需继续测试了。经验表明,测试后残存的错误数目与该程序中已经发现的错误数目成正比。根据这个规律,应当对错误群集的程序段进行重点测试。

  • 用例要定期评审

    测试用例多次重复使用后,其发现缺陷的能力会逐渐降低。为了克服这种现象,测试用例需要进行定期评审和修改,同时需要不断增加新的不同的测试用例来测试软件或者系统的不同部分,从而发现更多的潜在错误。

  • 应当对每一个测试结果做全面检查

    这是一条最明显的原则,但常常被忽视。有些错误的征兆在输出实例结果时就已经明显地出现了,但是如果不仔细全面地检查测试结果,就会使这些错误或结果被遗漏掉。

  • 测试现场保护和资料归档

    出现问题时要保护好现场,并记录足够的测试信息,以备缺陷能够复现。妥善保存测试计划,测试用例,出错统计和最终分析报告,为以后产品的升级测试提供足够的价值信息。

  • 软件测试的经济型原则

    软件测试是保证软件质量的一个重要环节,其目的是尽可能多的找出软件中的缺陷,但是穷尽测试又是不可能的。所以在实际项目中,考虑时间、费用、人员等因素,软件测试应该适可而止。

(课本P18-20)

  • 未整理

单元测试有哪些内容?测试中采用什么方法?

  • 单元测试又称模块测试,针对软件设计中的最小单位——程序模块,进行正确性检查的测试工作。单元测试需要从程序的内部结构出发设计测试用例。多个模块可以平行地独立进行单元测试。
  • 单元定义: C中指一个函数,Java中指一个类,在图形化的软件中,单元一般指1个窗口,1个菜单。
  • 单元格测试主要用白盒测试,先静态地检查代码是否符合规范,然后动态运行代码,检查其实际运行结果,检查程序的运行结果是否正确是一个最基本的要求,还要关注容错处理,程序的边界值处理等。

软件缺陷的类别有哪些?

#类别描述
1界面(UI)界面错误,如界面显示不符合需求、提示信息不合规范等。
2功能(Function)系统功能无效、不响应、不符合需求
3性能(Performance)系统响应过慢、无法承受预期负荷等
4安全性(Security)存在安全隐患的缺陷
5数据(Data)数据导入或设置不正确
6其它(Other)不在上述类别范围的其它错误

请分析软件缺陷产生的原因。

#描述
1由于需求的问题引起的缺陷
2由于构架的问题引起的缺陷
3由于设计的问题引起的缺陷
4由于编码的问题引起的缺陷
5由于测试的问题引起的缺陷

软件缺陷的生命周期?

(PPT)

  • 一般的,测试人员识别缺陷,其初始状态是“新建”;
  • 项目经理或技术领导分析缺陷,分配给合适的开发人员来解决,状态流转为“待解决”;
  • 指定的工程师解决缺陷,将其状态跟踪到“已解决”;
  • 测试人员回归该缺陷,如果回归通过,则关闭缺陷,如果回归不通过,则重新打开该缺陷(“Reopen”状态)。
    在这里插入图片描述

(课本答案 P9)

  • 未整理

软件测试的终止准则有哪些?

  • 基于测试阶段的原则

    每个软件都经过单元测试、集成测试、系统测试这几个测试阶段,我们可以对单元测试、集成测试、系统测试制定各自具体的测试结束标准,当每个阶段的测试结束标准都符合时,我们认为该软件达到测试停止标准。

  • 基于测试用例的原则

    测试设计人员设计测试用例,并请项目组成员参与用例评审,一旦评审通过,就可以作为后面测试结束的一个参考标准。比如测试过程中如果发现测试用例通过率太低,可以拒绝继续测试,待开发人员修复后再继续。在比如可以制定功能测试用例通过率100%, 非功能性测试用例通过率达到95%以上,即可允许正常测试结束。该准则的关键在于测试用例质量的把握。

  • 基于缺陷收敛趋势及缺陷修复率原则

    可以通过软件缺陷的趋势图的走向,来定测试是否可以结束;
    缺陷修复率也是常用的一个指标,如严重级别错误和主要级别错误要100%修复,较小缺陷修复率达85%以上。

  • 基于验收测试的原则

    即项目通过验收测试,并得到验收测试通过结论,即可结束该项目的测试活动。

  • 基于覆盖率的原则

    如需求覆盖率达100%,测试用例执行覆盖率达100%, 单元测试中语句覆盖率不低于85%等这些准则在软件测试活动中都是比较常用的。

  • 软件项目暂停或终止,则测试活动也应相应暂停或终止

    如在开发生命周期内出现重大估算、进度偏差,需要暂停调整或者终止项目,那么测试活动也随之暂停或终止,并备份相应测试数据。

软件测试分为哪几个阶段?

(课本P28)

  1. 测试计划和控制
  2. 测试分析和设计
  3. 测试实现和执行
  4. 评估出口准则和报告
  5. 测试结束活动

(课本P90-91)

  1. 测试需求的分析和确定
  2. 测试计划
  3. 测试设计
  4. 测试执行
  5. 测试记录和缺陷跟踪
  6. 回归测试
  7. 测试总结报告

软件测试要经过哪些步骤?这些测试与软件开发各阶段之间有什么关系?

(课本P33)

  • 软件测试是一个自顶向下、逐步细化的过程
  1. 软件计划阶段定义软件的作用域;
  2. 软件需求分析建立了软件信息域、功能和性能需求、约束等;
  3. 软件设计把设计用某种程序设计语言转换成程序代码。
  • 测试过程是以相反顺序自底向上,逐步集成的过程
  1. 它对每个程序模块进行单元测试,消除程序模块内部逻辑和功能上的错误和缺陷;
  2. 对照软件设计进行集成测试,检测和排除子系统或系统结构上的错误;
  3. 对照需求,进行确认测试;
  4. 最后从系统全体出发,运行系统。
    (img-r6nwG8Pf-1608048368176)(E:\Typora_work\image\image-20201214162410580.png)]

白盒测试的覆盖标准有哪些?

(课本P72-P74)

白盒测试法的覆盖标准有逻辑覆盖、循环覆盖和基本路径测试。

其中逻辑覆盖包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。

  • 语句覆盖

    选择足够多的测试用例,使得程序中的每个可执行语句至少执行一次。

  • 判定覆盖

    通过执行足够的测试用例,使得程序中的每个判定至少都获得一次“真”值和“假”值, 也就是使程序中的每个取“真”分支和取“假”分支至少均经历一次,也称为“分支覆盖”。

  • 条件覆盖

    设计足够多的测试用例,使得程序中每个判定包含的每个条件的可能取值(真/假)都至少满足一次。

  • 判定/条件覆盖

    设计足够多的测试用例,使得程序中每个判定包含的每个条件的所有情况(真/假)至少出现一次,并且每个判定本身的判定结果(真/假)也至少出现一次。

  • 组合覆盖

    通过执行足够的测试用例,使得程序中每个判定的所有可能的条件取值组合都至少出现一次。

  • 路径覆盖

    设计足够多的测试用例,要求覆盖程序中所有可能的路径。

bug综合评价模型包含哪些方面?

(课本P125-126)

  • 测试过程
  • 数量
  • 定量
  • 质量
  • 定性
  • 测试人员

功能测试包含哪些方面?

是黑盒测试的一方面,它检查实际软件的功能是否符合用户的需求。

  • 逻辑功能测试
  • 界面测试
  • 易用性测试
  • 安装测试
  • 兼容性测试

测试自动化的基本结构

在这里插入图片描述

自动化测试优缺点?

(课本P144-145)

  • 好处
  1. 对程序回归测试更方便,尤其是程序修改比较频繁的情况。
  2. 建立可靠、重复的测试,减少人为失误,更好地利用资源。
  3. 增强测试质量和覆盖率。
  4. 执行手工测试不可能完成的任务。
  • 局限性
  1. 不能取代手工测试,自动化测试没有思维,设计的好坏决定了测试质量。
  2. 发现的问题和缺陷比手工测试要少。
  3. 不能用于测试周期很短的项目、不能保证100%的测试覆盖率、不能测试不稳定的软件和软件易用性等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值