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 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> 软件测试复习题 -> 正文阅读

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

软件测试复习题(2021-07-03)

一、软件测试基础

软件生命周期

  • 问题定义->需求分析->软件设计->软件开发->软件测试->软件维护->淘汰

软件缺陷产生的原因

  1. 需求不明确

  2. 软件结构复杂

  3. 编码问题

  4. 项目期限短

  5. 使用新技术

  6. 开发人员水平有限

软件缺陷的处理流程

在这里插入图片描述

软件测试的分类

  1. 按照测试阶段分类

    • 单元测试
    • 冒烟测试
    • 集成测试
    • 系统测试
    • 验收测试
  2. 按照测试技术分类

    • 黑盒测试
    • 白盒测试
  3. 按照软件质量特性分类

    • 功能测试
    • 性能测试
  4. 按照自动化程度分类

    • 手工测试
    • 自动化测试
  5. 按照测试类型分类

    • 界面类测试
    • 安全性测试
    • 文档测试
  6. 其他分类

    • α测试
    • β测试
    • 回归测试
    • 随机测试

软件测试的模型

  1. V模型

    在这里插入图片描述

    • 优点:将复杂的测试工作分成了目标明确的小阶段来完成,具有阶段性、顺序性和依赖性,既包含了对于源代码的底层测试,也包含了对于软件需求的高层测试。
    • 缺点:只有在编码之后才能开始测试,早期的需求分析等前期工作没有涵盖其中,不能发现需求分析等早期的错误,为后期的系统测试、验收测试埋下了隐患。
  2. W模型

    在这里插入图片描述

    • 优点:测试范围不仅包括程序,还包括需求分析、软件设计等前期工作,这样有利于尽早地全面发现问题。
    • 缺点:将软件开发过程分成需求、设计、编码、集成等一系列的串行活动,无法支持迭代、自发性等需要变更调整的项目。

软件测试原则

  1. 测试应基于客户需求
  2. 测试要尽早进行
  3. 穷尽测试是不可能的
  4. 遵循GoodEnough原则
  5. 测试缺陷要符合“二八”定理(Pareto原则/缺陷集群效应)
  6. 避免缺陷免疫

软件测试流程

  1. 分析测试需求

  2. 制定测试计划

    • 确定测试范围
    • 指定测试策略
    • 安排测试资源
    • 安排测试进度
    • 预估测试风险
  3. 设计测试用例

  4. 执行测试

  5. 编写测试报告

二、黑盒测试

等价类划分法

  1. 有效等价类与无效等价类定义

    • 有效等价类:有效值的集合,它们是符合程序要求、合理且有意义的输入数据。
    • 无效等价类:无效值的集合,它们是不符合程序要求、不合理或者无意义的输入数据。
  2. 黑盒测试等价类划分法设计测试用例:

  • 题目:

    某城市电话号码由三部分组成,分别是:

    ? 地区码:空白或三位数字;

    ? 前缀:非“0”或“1”开头的三位数字;

    ? 后缀:4位数字。

    假定被测程序能接受一切符合上述规定的电话号码, 拒绝所有不符合规定的电话号码。

  • 解答:

    • 等价类划分表
地区码有效等价类编号无效等价类编号
空白1有非数字字符3
三位数字2多于三位数字4
少于三位数字5
前缀有效等价类编号无效等价类编号
非“0”或“1”开头的三位数字6有非数字字符7
“0”开头的数字8
“1”开头的数字9
多于三位数字10
少于三位数字11
后缀有效等价类编号无效等价类编号
4位数字12有非数字字符13
多于四位数字14
少于四位数字15
  • 测试用例

    • 覆盖有效等价类
    用例编号输入预期输出覆盖有效等价类编号
    test1568 5115有效输入1,6,12
    test2023 568 5115有效输入2,6,12
    • 覆盖无效等价类
    用例编号输入预期输出覆盖无效等价类编号
    test3abc 568 5115无效输入3
    test41234 568 5115无效输入4
    test512 568 5115无效输入5
    test6023 abc 5115无效输入7
    test7023 068 5115无效输入8
    test8023 168 5115无效输入9
    test9023 1234 5115无效输入10
    test10023 12 5115无效输入11
    test11023 568 abcd无效输入13
    test12023 568 51115无效输入14
    test13023 568 515无效输入15

因果图设计法

  • 原因(输入)一般用ci表示,结果(输出)用ei表示
  • 输入与输出之间的关系

在这里插入图片描述

  • 输入与输入之间的关系

在这里插入图片描述

  • 输出与输出之间的关系

在这里插入图片描述

决策表法

  • 决策表合并规则:当且仅当同一条件桩的状态不同且对应的同一动作桩的两个动作项一致时可合并。

三、白盒测试

白盒测试方法

  • 语句覆盖(每个语句均覆盖一次——弱覆盖)
  • 判定覆盖(每个判定【一个判定框,类似于x>0&&y>0】至少有一次真一次假)
  • 条件覆盖(每个条件【类似于a>0】至少一次真一次假)
  • 判定—条件覆盖(判定与条件均需要至少覆盖一次真一次假)★
  • 条件组合(是判定语句中的所有条件的所有可能出现一次且每个判定语句本身的结果也至少出现一次)
  • 路径覆盖(每个路径都进行一次覆盖——强覆盖)

白盒测试方法设计测试用例

  • 白盒测试实验报告册

四、性能测试

loadrunner三大组件

  • Virtual User Generator(VuGen):创建虚拟用户脚本的工具
  • Controller:创建和控制LoadRunner场景(场景:每次测试中发生的事件【用户数、执行的操作、性能指标等】)
  • Analysis:数据分析工具,收集性能测试中的各种数据,对其进行分析并生成图表和报告供测试人员查看

性能测试常见指标

  1. 响应时间:系统对用户请求做出响应所需要的时间(不包含浏览器解析时间)
  2. 吞吐量:单位时间内系统能够完成的工作量
  3. 并发用户数:同一时间请求和访问的用户数量
  4. TPS:系统每秒钟能够处理的事务和交易的数量
  5. 点击率:用户每秒向Web服务器提交的HTTP请求数——Web应用特有性能指标
  6. 资源利用率:软件对系统资源的使用情况,CPU利用率(70<= <=80)、内存利用率(70<= <=80)、磁盘利用率等

性能测试分类

  1. 负载测试(标准状态下)
  2. 压力测试(极限状态下)
  3. 并发测试(多用户的影响)
  4. 配置测试(软硬件对系统的影响)
  5. 可靠性测试(业务压力)
  6. 容量测试(一定软硬件及网络环境下,系统所支持的最大用户数、最大存储量)

五、安全测试

防止SQL注入

  • 注入示例:

    • 正常id = 22

      ? 对应SQL语句:select * from user where id = 22

      ? 只能查询到指定id为22的用户信息

    • SQL注入:id = ’ ’ or 1 = 1

      ? 对应SQL语句:select * from user where id = ’ ’ or ‘1’ = ‘1’

      ? 可以查询到所有的用户信息,因为此时的where id = ’ ’ or ‘1’ = '1’永远为真

XSS跨站脚本攻击

  • 示例
    在这里插入图片描述

    ?

六、自动化测试

自动化测试前提条件

  • 项目需求变动不频繁
  • 项目周期足够长
  • 自动化测试脚本可重复使用

自动化测试基本流程

在这里插入图片描述

自动化测试实施策略

  • 金字塔策略
    在这里插入图片描述

七、移动App测试

移动App测试专项测试

  • 安装测试
  • 卸载测试
  • 升级测试
  • 交互性测试
  • 弱网测试
  • 耗电量测试

移动App测试工具

  • Appium
  • UI Automator
  • Monkey
  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-07-05 20:28:17  更:2021-07-05 20:28:38 
 
开发: 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/17 18:28:32-

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