IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> 软件测试复习题 -> 正文阅读

[开发测试]软件测试复习题

1.在软件测试过程中,应该遵循的原则

原则1:测试用例中一个必须部分是对预期输出或结果的定义。
原则2:程序员应当避免测试自己编写的程序。
原则3:编写软件的组织不应当测试自己编写的软件。
原则4:应当彻底检查每个测试的执行结果。
原则5:测试用例的编写不仅应当根据有效和预料到的输入结果,而且也应当更具无效和未预料的输入结果。
原则6:检查程序是否“未做其应该做的”仅是测试的一半,测试的另一半是检查程序是否“做了不该做的”。
原则7:应避免测试用例用后即弃,除非软件本身就是一个一次性的软件。
原则8:计划测试工作时不应默许假定不会发现错误。
原则9:程序某部分存在更多错误的可能性,与该部分已发现的的错误数量成正比。
原则10:软件测试是一项极富创造性、极具智力挑战性的工作。
(不同教材对于测试的基本原则有所不同)

2.测试用例的设计

好的测试用例的特征

  1. 可以最大程度地找出软件隐藏的缺陷
  2. 可以最高效率的找出软件缺陷
  3. 可以最大程度地满足测试覆盖要求
  4. 既不过分复杂、也不能过分简单
  5. 使软件缺陷的表现可以清楚的判定
  6. 测试用例包含期望的正确的结果
  7. 待查的输出结果或文件必须尽量简单明了
  8. 不包含重复的测试用例
  9. 测试用例内容清晰、格式一致、分类组织

测试用例的4性

测试用例的4性是指代表性、针对性、可判定性、可重现性:
代表性: 能够代表并覆盖各种合理的和不合理、合法的和不合法的、边界的和越界的以及极限的输入数据、操作等。
针对性: 对程序中的可能存在的错误有针对性地测试
可判定性: 测试执行结果的正确性是可判定的,每一个测试用例都应有相应的期望结果
可重现性: 对同样的测试用例,系统的执行结果应当是相同的。

3.测试用例的原则

  1. 利用成熟的测试用例设计方法来指导设计
  2. 测试用例的针对性
  3. 测试用例的代表性
  4. 测试用例的可判定性
  5. 测试用例的可重现性
  6. 足够详细、准确和清晰的步骤
  7. 测试用例必须符合内部的规范的要求

4.常用到的软件质量模型

ISO软件质量度量模型
包含以下特性:

  1. 功能性:在当前软件指定条件下,软件产品满足明确和隐含要求的能力。
  2. 可靠性:在指定条件下使用时,软件产品维持规定的性能级别的能力。
  3. 可使用性:在指定条件下使用时,软件产品被理解、学习、使用和吸引用户的能力。
  4. 效率:在规定条件下,相对于所用资源数量,软件产品可提供相应性能的能力。
  5. 可维护性:指在软件产品可被修改的能力,修改可能包括修正、改进或软件适应环境、需求和功能说明中的变化。
  6. 可移植性:指软件产品从一个环境迁移到另一个环境的能力。

5.软件测试计划

测试计划并非一成不变,而是随着项目的发展不断完善。测试计划需要按照国家标准或者行业标准的格式和内容来写。

6.制定软件测试的计划的原则

  1. 为测试各项活动制定一个现实可行的、综合的计划,包括每项测试活动的对象、范围、方法、进度和预期结果。
  2. 为项目实时建立一个组织模型,并定义测试项目中每个角色的责任和工作内容。
  3. 开发有效的测试模型,能正确地验证正在开发的软件系统。
  4. 开发有效的测试模型,能正确地验证正在开发的软件系统。
  5. 确立每个测试阶段测试完成,以及测试成功的标准、要实现的目标。
  6. 识别出测试活动中各种风险,并消除可能存在的风险,降低由不可能消除的风险所带来的损失。

7.制定软件测试的计划的步骤

  1. 测试策略的确立:定义项目的测试目标和实现方法。
  2. 测试计划的要点:明确不同子系统以及系统各部分的测试强度,合理分配时间

8.静态测试、动态测试

  • 静态测试(static testing),是指不实际运行被测软件,而只是静态地检查程序代码、界面或文档中可能存在的错误过程。
  • 动态测试(dynamic testing):是指实际运行被测程序,输入相应的测试数据,检查实际输出结果和预期结果是否相符的过程。
    在这里插入图片描述

9.白盒测试、黑盒测试以及二者的关系

白盒测试

又称为结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试全面了解程序内部结构、对所有逻辑路径进行测试。白盒测试是穷举路径测试,测试人员必须了解程序的内部结构,从检查程序的逻辑出手,从而得到测试数据。白盒测试必须遵循一下规则:

  1. 一个模块所有的独立路径都需至少得到一次测试。
  2. 所有的逻辑值的真与假情况都需要被测试到。
  3. 为了保证程序结构的有效性,需要检查程序的内部逻辑结构。
  4. 在程序的上、下边界与可操作范围内能保证循环的顺利运行。

黑盒测试

黑盒测试是一种从软件外部对软件实施的测试,也称功能测试或基于规格说明的测试。黑盒测试的基本观点:任何程序都能看作是输入定义域到输出值域的映射。在测试过程中,因为无法看到盒子里面的内容,所以只关心程序输出的结果。

测试人员使用黑盒测试的时候,唯一使用的信息就是软件的规格说明。黑盒测试是从用户观点出发的测试,它需要尽可能发现程序的外部错误,在已知的软件产品功能的基础上进行功能、交互、性能等方面的检测。
黑盒测试由两个重要的优点:

  1. 黑盒测试与软件的具体实现无关,因此软件实现方式如果发什么变更、修改但功能测试不变的话,仍可以使用原来的测试用例。
  2. 在软件开发的同时,也可以进行黑盒测试用例的设计,这样可以节省时间成本。

但是如果希望利用黑盒测试检测出所有的软件错误,只能采用穷举法,但这是不现实的,也不合理。
常见的黑盒测试方法有等价类划分、边界值设计、因果图分析和正交实验法等。

白盒测试与黑盒测试的区别

  1. 已知产品因素
    1. 黑盒测试:已知程序的功能需求、设计规格,可以通过测试验证程序需要的功能是否已被实现,是否符合要求。
    2. 白盒测试:已知程序的内部工作结构,可以通过测试验证程序的内部结构是否符合要求,是否含有缺陷。
  2. 检查测试的主要内容
    1. 黑盒测试主要检查的内容包括但不限于:
      功能是否都满足需求;是否有功能出现缺陷。
      接口上是否能正确接受输入;输入结果是否正确。
      是否有数据结构信息或者外部信息访问错误。
      是否有初始化或终止性错误。
    2. 白盒测试主要检查的内容包括但不限于:
      所有的程序模块的独立路径等都需要至少被测试一遍
      所有的逻辑判定的正值与假值都需要至少被测试一遍。
      在运行的界限内和循环的边界上执行循环体。
      测试内部的数据结构是否有效。

10.软件测试与软件开发的过程的关系

测试的尽早介入是软件测试的一个基本准则。软件测试是质量保证的重要手段之一,它是贯穿整个软件开发周期的。

软件测试在开发各阶段的作用:

  1. 项目规划阶段:负责监控整个测试。
  2. 需求分析阶段:确定测试需求分析,同时制定系统测试计划。
  3. 概要设计和详细设计阶段:制定集成计划和单元测试计划。
  4. 程序编写阶段:开发相应的测试代码和测试脚本。
  5. 测试阶段:实时测试,并提交相应的测试报告。

11.白盒测试的覆盖准则

  1. 一个模块所有的独立路径都需至少得到一次测试。
  2. 所有的逻辑值的真与假情况都需要被测试到。
  3. 为了保证程序结构的有效性,需要检查程序的内部逻辑结构。
  4. 在程序的上、下边界与可操作范围内能保证循环的顺利运行。

12. 白盒测试的常用工具,各适用于什么

  1. Jtest:是一个代码分析和动态类、组件测试工具,是一个集成的、易于使用的和自动化的Java单元测试工具。
  2. Jcontract:在系统级验证类/部件是否正确工作并被正确使用。
  3. C++Test:自动测试C和C++类、函数或组件
  4. CodeWizard:是一个代码静态分析工具,先进的C/C++源代码分析工具,但是不能检查到代码结构。
  5. Insure++:是一个基于C/C++的自动化内存错误、内存泄漏的精确检测工具,能够可视化内存操作,准确检测出内存泄漏产生的根源,还能覆盖性分析,指示那些代码被已经测试过。

持续更新中…

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-11-17 13:03:05  更:2021-11-17 13:03:51 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 4:31:01-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码