【软件测试】测试常见知识点汇总

测试常见知识点汇总

  • 一、什么是测试
    • 1.1 测试和调试的区别
    • 1.2 什么是需求
      • 1.2.1 用户需求
      • 1.2.2 软件需求
    • 1.3 测试用例要素
    • 1.4 软件的生命周期及各阶段概述
    • 1.5 开发模型和测试模型(记住特点和适用场景)
      • 1.5.1 开发模型
        • 1.5.1.1 瀑布模型(自上而下、相互衔接的固定顺序)
        • 1.5.1.2 螺旋模型
        • 1.5.1.3 增量模型和迭代模型
        • 1.5.1.4 敏捷模型
      • 1.5.2 测试模型
        • 1.5.2.1 V模型
        • 1.5.2.2 W模型 / 双V模型
  • 二、测试基础(部分)
    • 2.1 什么是Bug
    • 2.2 Bug描述
    • 2.3 Bug等级
    • 2.4 Bug的生命周期
  • 三、测试用例
    • 3.1 测试用例的基本要素
    • 3.2 设计测试用例的万能思路
    • 3.3 基于需求设计测试用例
    • 3.4 具体的设计方法
    • 3.5 测试分类
      • 3.5.1 按照测试对象划分
      • 3.5.2 是否查看代码
      • 3.5.3 开发阶段
      • 3.5.4 实施组织
      • 3.5.5 是否运行代码
      • 3.5.6 是否手工
      • 3.5.7 跨地域

这里目录的内容看起来有点多,但其实只是作为一个思维导图的作用,文内内容比较精简,但基本是按照理解分析的,各位读者可以作为借鉴参考一下,文内若有理解错误的地方欢迎指出。

一、什么是测试

  • 测试是测试人员验证软件特性是否符合需求的过程

1.1 测试和调试的区别

  • 1、目的:测试的目的是找问题,调试的目的是找到并解决问题。
  • 2、人员:测试由专门的测试人员完成,调试由开发人员完成。
  • 3、结果:测试从已知条件开始,使用预定义的过程,并且有预期结果;而调试条件未知,结果不可 预知。
  • 4、过程:测试可以预先计划,可以制订测试用例和计划,进度可以度量;调试没有计划,进度也不可以度量。
  • 5、阶段:测试贯穿于软件生命周期的整个阶段;调试只在编码阶段进行

1.2 什么是需求

1.2.1 用户需求

  • 可以简单理解为甲方提出的需求,如果没有甲方,那么就是终端用户使用产品时必须要完成的任务。

1.2.2 软件需求

详细描述开发人员必须实现的软件功能,软件需求是测试人员进行测试工作的基本依据。

1.3 测试用例要素

通用测试用例八要素:

1、用例编号;

  • 一般是数字和字符组合成的字符串,可以包括(下划线、单词缩写、数字等等),但是需要注意的是,尽量不要写汉语拼音,因为拼音的意义可能有好几种,有可能会导致乱码;
  • 用例编号具有唯一性和易识别性。

2、测试项目;

  • 测试项目对应的就是测试用例中的子项名。
    • (1)系统测试用例:对应一个功能点(功能测试)、性能指标(性能测试)、界面中控件(GUI测试)等等。
    • (2)集成测试用例:对应集成后的模块功能或者接口功能。
    • (3)单元测试用例:对应函数名。

3、测试标题;

  • 测试标题考虑的是如何来完成测试项目,或者说从哪个角度来对测试项目进行测试,有的公司也取名为测试目的。
  • 测试标题一定要简单、概要;体现测试的出发点和关注点。

4、重要级别;

  • 用例的重要级别一般分成三个级别:高、中、低。
  • 高级别:对应保证系统基本功能、核心业务、重要特性、实际使用频率比较高的用例;
  • 中级别:对应重要程度介于高和低之间的测试用例;
  • 低级别:对应实际使用频率不高,对系统业务功能影响比较大的模块或功能的测试用例。

5、预置条件;

  • 测试用例在执行前需要满足一些前提条件,否则测试用例是无法执行的,这些前提条件就是预置条件。

6、测试输入;

  • 用例执行过程中需要加工的外部信息,根据软件测试用例的具体情况,有手工输入、文件、数据库记录等。
  • 禁止过多描述性语言,若为文件,会有提示选择路径,最好写具体,让别人易懂易操作。

7、操作步骤;

  • 明确描述测试执行过程中具体的操作步骤,以方便测试执行人员可以根据该操作步骤完成测试用例执行。

8、预期输出

  • 预期输出是测试用例中非常重要的一部分,预期输出可以检验被测对象是否正常工作,如果我们的预期输出写的不完整不全面,整个测试用例就会受到影响。
  • 具体可参考 https://blog.csdn.net/weixin_44015669/article/details/121082810

1.4 软件的生命周期及各阶段概述

  • 需求 —> 计划 —> 编码 —> 测试 —> 上线 —> 维护

需求:确定软件要做成什么样
计划:确定软件什么时候开发,什么时候开始测试,什么时候结束开发,什么时候结束测试
编码:通过软件需求实现软件特性
测试:测试人员测试软件是否有缺陷
上线:将项目推上上线环境,让用户可以访问到
维护:项目如果在线上出现问题,此时测试人员、开发人员定位问题、解决问题,项目还需要优化,测试人员,开发人员需要对项目不断地优化。

1.5 开发模型和测试模型(记住特点和适用场景)

1.5.1 开发模型

1.5.1.1 瀑布模型(自上而下、相互衔接的固定顺序)

特点: 线性的,测试参与时机太靠后,不能尽早发现问题
适用项目: 适用于小型项目,项目迭代周期非常短,比如项目周期1天或者0.5天


在这里插入图片描述


1.5.1.2 螺旋模型

特点: 每个阶段开始之前都有一个风险分析,可以避免一定的风险,但是风险分析需要一定的投入,如果分析错了,会带来一定的损失,同时不断地迭代,有可能导致项目延期
适用场景: 比较复杂,风险比较大的项目


在这里插入图片描述


1.5.1.3 增量模型和迭代模型
  • 增量模型,一个模块开发完毕,在开发下一个模块
  • 迭代模型,所有模块一起开发,先开发大的框架,在开发细节
1.5.1.4 敏捷模型

Scrum三个重要角色和五个重要会议:

  • 角色:
    • 产品经理(PO):收集需求,来自客服反馈,来自用户
    • 项目经理(SM):需要进行需求优先级确定,项目计划确定
    • 研发团队( team):不光包含开发,还包含测试,UI
  • 会议:
    • 发布计划会议:产品经理(PO)负责讲解user story,SM项目经理对其进行估算和排序,发布计划会议的产出,就是制定出这一期送代要完成的story列表,sprint backlog.
    • 迭代计划会议:项目团队对每一个story进行任务分解,分解的标准是完成该story的所有任务,每个任务都有明确的负责人,并完成工时的初估计
    • 每日站会:每天scrum master召集站立会议,团队成员回答昨天做了什么今天计划做什么,有什么问题
    • 演示会议:迭代结束之后,召开演示会议,相关人员都受邀参加,团队负责向大家展示本次迭代取得的成果。期间大家的反馈记录下来,由po整理,形成新的story
    • 回顾会议:项目团队对本明迭代进行总结,发现不足,制定改进计划,下一次迭代继续改进,已达到持续改进的效果

特点:

  • 个体与交互重于过程和工月
  • 可用的软件重于完备的文档
  • 客户协作重于合同谈判
  • 响应变化重于遵循计划
  • 在每对比对中,后者并非全无价值,但我们更看重前者

1.5.2 测试模型

1.5.2.1 V模型

特点: 左边是开发,右边是测试,测试介入太晚,发现问题时机就会越晚,测试和开发是串行的


在这里插入图片描述


1.5.2.2 W模型 / 双V模型

特点: 第一个是开发,第二个V是测试,测试在刚开始就介入了整个项目,测试是对整个项目的每个阶段进行了测试,但是测试,开发还是串行的,所以不能拥抱变化


在这里插入图片描述


二、测试基础(部分)

2.1 什么是Bug

  • 1)当且仅当规格说明是存在的并且正确,程序与规格说明之间的不匹配才是错误。

  • 2)当需求规格说明书没有提到的功能,判断标准以最终用户为准: 当程序没有实现其最终用户合理预期的 功能要求时,就是软件错误。

BUG可以理解为:
(1)在软件开发的生命周期中可能导致软件产品出现问题的程序缺陷。
(2)产品说明书中规定要做的事情,而软件没有实现。
(3)产品说明书中没有提到过的事情,而软件确实现了。
(4)产品说明书中没有提到但是必须要做的事情,软件却没有实现。
(5)软件很难理解,很难使用,速度超慢,测试人员站在最终用户的角度看到的问题是平常的但不是正确的。

2.2 Bug描述

1.概 述:用一句话简要描述Bug的现象。需要包括bug所在的模块及出错点
前置条件: 产生bug需要的前提(必要时填写)
2.步 骤:使用数字编号的形式,相对详细阐述出现Bug的操作步骤,需保证使用这样的叙述其他人便可重现bug,必要时需要描述bug产生的前提和条件。
3.预 期:填写上述操作过程应该输出的正确结果。
4.结 果:用文字准确描述出Bug引起的结果及现象,必要时需要有图形附件用拷屏方式将错误信息添加进来。
5.结果分析:bug修改完毕后,简要描述此Bug产生的原因。

2.3 Bug等级

  • 大概有崩溃、严重、一般、次要
    具体可参考:https://zhuanlan.zhihu.com/p/103637796

2.4 Bug的生命周期


在这里插入图片描述


三、测试用例

3.1 测试用例的基本要素

  • 如上文1.3所述

3.2 设计测试用例的万能思路

  • 功能,兼容,界面,易用,性能,安全,网络,安装测试,卸载测试

  • 参考如下登录页面的测试用例:


在这里插入图片描述


3.3 基于需求设计测试用例

  • 可参考水杯测试用例(运用万能公式)

在这里插入图片描述


3.4 具体的设计方法

等价类、边界值、判定表、正交法、场景法、错误猜测法等

3.5 测试分类

3.5.1 按照测试对象划分

  • 界面容错可靠兼容文档易用安装卸载安全性能内存泄漏

3.5.2 是否查看代码

    • 白盒测试:白盒测试又称为结构测试或逻辑驱动测试,它是把测试对象看成一个透明的盒子,它允许测试人员利用程序内部的逻辑结构设计测试用例,对程序所有逻辑路径进行测试。(具体可参考https://blog.csdn.net/qq_42944594/article/details/121907540)
    • 黑盒测试:在测试时,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,测试人员进行直接测试,检查系统功能是否按照需求规格说明书的规定正常使用、是否能适当的接收输入数据而输出正确的结果等,检查相应的文档是否采用了正确的模板、是否满足规范需求。(具体可参考https://blog.csdn.net/yeuteyietir/article/details/93522978)

3.5.3 开发阶段

  • 单元测试、集成测试、系统测试、验收测试(具体可参考https://blog.csdn.net/ty6693/article/details/89215677)

3.5.4 实施组织

  • α测试和β测试:
  • 区别:
  • 它们都是验收测试!
    α测试是指把用户请到开发方的场所来测试
    β测试是指在一个或多个用户的场所进行的测试。
    α测试的环境是受开发方控制的,用户的数量相对比较少,时间比较集中。
    β测试的环境是不受开发方控制的, 用户数量相对比较多,时间不集中。
    α测试先于β测试执行。通用的软件产品需要较大规模的β测试,测试周期比较长

3.5.5 是否运行代码

  • 静态测试、动态测试

1、测试部分的不同
静态测试是指测试不运行的部分:只是检查和审阅,如规范测试、软件模型测试、文档测试等。动态测试是通常意义上的测试,也就是运行和使用软件。
2、测试方式不同
静态测试,通过评审文档、阅读代码等方式测试软件称为静态测试,通过运行程序测试软件称为动态测试。
3、测试方法不同
静态测试是指不用执行程序的测试,它主要采取方案—代码走查、技术评审、代码审查的方法对软件产品进行测试。动态测试主要通过构造测试实例、执行程序、分析程序的输出结果这三种方法来对软件进行测试。

3.5.6 是否手工

  • 手工测试
    • 手工测试是一种软件测试的类型,其中测试人员无需使用任何自动化工具即可手动执行测试用例。手工测试的目的是识别软件应用程序中的错误、问题和缺陷。手工软件测试是所有测试类型中最原始的技术,它有助于发现软件应用程序中的关键缺陷。
    • 任何新应用程序都必须先进行手工测试,然后才能使其测试自动化。手工软件测试需要更多的精力,但对于检查自动化的可行性是必需的。手工测试概念不需要任何测试工具的知识。软件测试基础之一是“不可能实现100%自动化”。这使得手工测试势在必行。
  • 自动化测试
    • 使用一种自动化测试工具来验证各种软件测试的需求,它包括测试活动的管理与实施、测试脚本的开发与执行。
    • 自动化测试只是测试工作的一部分,是对手工测试的一种补充; 自动化测试绝不能代替手工测试;多数情况下,手工测试和自动化测试应该相结合,以最有效的方法来完成测试任务。

3.5.7 跨地域

  • 国际化测试
  • 本地测试
  • 国际化:货币格式、语言、页面布局、时间、日期、流行的设备

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/518986.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

解密项目管理工具数据安全:防火防盗,保密有招

相关数据显示,2021年中国数字经济规模总量达到45.5万亿元,占到国内GDP总量的39.8%。数字经济已经渗入我们工作生活的方方面面,项目管理工具就是其中之一,在数据安全备受重视的今天如何保证项目管理工具的数据安全性?Zo…

Linux+HA高可用24X7的安全保证

一. 介绍作为服务器,需要提供一定的24X7的安全保证,这样可以防止关键节点的宕机引起系统的全面崩溃。利用OpenSource开源软件,完成系统的高可靠双机热备方案。基于linux的 HA软件可靠稳定,比使用商业版本的HA软件降低成…

微信小程序python+uniapp高校图书馆图书借阅管理系统ljr9i

根据日常实际需要,一方面需要在系统中实现基础信息的管理,同时还需要结合实际情况的需要,提供图书信息管理功能,方便图书管理工作的展开,综合考虑,本套系统应该满足如下要求: 首先,在…

人工智能基础概念5:使用L1范数惩罚进行Lasso回归(正则化)解决机器学习线性回归模型幻觉和过拟合的原理

一、引言 在老猿CSDN的博文《人工智能基础概念3:模型陷阱、过拟合、模型幻觉》中介绍了通过L1或L2正则化来限制模型的复杂度来解决过拟合的问题,老猿当时并不了解这背后的原理,这2天通过查阅资料终于明白了相关知识,在此一L1正则…

Linux故障排查(亲身经历),Linux运维开发6年了

这里输入数字时注意不要按小键盘,要按键盘字母区上面的那排数字键; 比如我们要关闭pid为2的进程,输入2后按回车,会出现以下提示,此时再按回车就ok 注意 如果执行top命令后,发现没有cpu占用率较高的进程&a…

如何在Linux中安装软件

文章目录 一、Linux应用程序基础1.Linux软件安装包分类2.应用程序和系统命令的关系3.常见的软件包的封装类型 二、安装软件的方式1.RPM包管理工具2.yum安装3.编译 一、Linux应用程序基础 1.Linux软件安装包分类 Linux源码包: 实际上,源码包就是一大堆源…

基于JAVAEE技术校园车辆管理系统论文

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本校园车辆管理系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息…

python_web1(前端开发之HTML、CSS、Bootstap、Javascript、JQuery)

文章目录 一、Flask网页开发1.1创建一个名为web1.py的python文件1.2 templates目录创建文件index.html 二、html标签2.1 编码2.2title < head >2.3 标题< h>2.4 div和span2.5超链接1.在index.xml文件中补充。2.修改web1.py文件3.添加get_self.html4.效果 2.6图片1.…

Python常用算法思想--回溯算法思想详解【附源码】

通过回溯算法解决“组合”问题、“排序”问题、“搜索”之八皇后问题、“子集和”之0-1背包问题、字符串匹配等六个经典案例进行介绍: 一、解决“组合”问题 从给定的一组元素中找到所有可能的组合,这段代码中的 backtrack_combinations 函数使用了回溯思想,调用 backtrack…

【论文精读】Detecting Out-of-Distribution Examples with Gram Matrices 使用Gram矩阵检测分布外实例

文章目录 一、文章概览&#xff08;一&#xff09;Gram矩阵1、Gram&#xff08;格朗姆&#xff09;矩阵的定义2、Gram矩阵计算特征表示3、风格迁移中的Gram矩阵 &#xff08;二&#xff09;ood检测&#xff08;三&#xff09;核心思路&#xff1a;扩展 Gram 矩阵以进行分布外检…

DHCP工作过程以及抓包分析

从PC1的e0/0/1接口进行抓包 客户端基于UDP、源端口68、目标端口67进行广播请求&#xff0c;源IP0.0.0.0&#xff0c;&#xff08;无效地址&#xff0c;代表本地无地址&#xff09;目标IP255.255.255.255&#xff1b; 从下面截图可以看出&#xff1a; 源mac为电脑mac&#xff…

steam和epic的使用

steam和epic的使用 介绍 这俩都是游戏平台。 登录注册 steam 使用网吧uu加速器打开steam 点击启动游戏&#xff1a;&#xff08;网吧实例&#xff0c;接着点启动&#xff09; 两种方法&#xff1a; 1.直接点内个“创建免费账户”。然后直接注册就行&#xff08;我在网…

论文笔记:UNDERSTANDING PROMPT ENGINEERINGMAY NOT REQUIRE RETHINKING GENERALIZATION

ICLR 2024 reviewer评分 6888 1 intro zero-shot prompt 在视觉-语言模型中&#xff0c;已经取得了令人印象深刻的表现 这一成功呈现出一个看似令人惊讶的观察&#xff1a;这些方法相对不太受过拟合的影响 即当一个提示被手动工程化以在给定训练集上达到低错误率时&#xff0…

【测开求职】校招生在面测开前需要了解的信息

博主在2021年拿到了字节测开实习的offer&#xff0c;实习时长4个月&#xff0c;并于2023年秋招拿到了字节测开的校招offer&#xff0c;仅以本专栏记录对该岗位的所思所想。 目录 1. 测试开发需要做什么工作2. 为什么选择测试开发3. 测试开发不如开发吗4. 如何准备测试开发 1. …

如何使用 Viggle AI 生成模特动作视频

Viggle AI 是一款基于骨骼动画的 AI 工具&#xff0c;可以将图片转换为流畅且一致的角色动画。 这意味着您可以上传一张模特全身照&#xff0c;然后指定该模特要执行的动作&#xff0c;Viggle AI 会自动生成一段由该模特执行该动作的视频。 步骤 1&#xff1a;准备工作 首先&…

【mysql 第3-10条记录怎么查】

mysql 第3-10条记录怎么查 在MySQL中&#xff0c;如果你想要查询第3到第10条记录&#xff0c;你通常会使用LIMIT和OFFSET子句。但是&#xff0c;需要注意的是&#xff0c;LIMIT和OFFSET是基于结果集的行数来工作的&#xff0c;而不是基于记录的物理位置。这意味着它们通常与某种…

栈、队列-栈的概念及结构/栈的实现/栈的顺序存储结构-队列的概念及结构、队列的实现(链式存储结构))

一、栈的概念及结构 栈&#xff1a;一种特殊的线性表&#xff0c;其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶&#xff0c;另一端称为栈底。栈中的数据元素遵守后进先出LIFO (Last In First Out)的原则。 压栈&#xff1a;栈的插入操作…

数学建模----MATLAB----forwhile循环(进阶)

目录 1.for循环的运用 &#xff08;1&#xff09;求和计算 &#xff08;2&#xff09;闰年的判断 &#xff08;3&#xff09;斐波那契数列的计算 &#xff08;4&#xff09;一列数的5个数据一样&#xff0c;删除&#xff0c;5个数据不一样&#xff0c;就保留下来&#xff1…

深入解析:如何使用Xcode上传苹果IPA安装包至App Store?

目录 引言 摘要 第二步&#xff1a;打开appuploader工具 第二步&#xff1a;打开appuploader工具&#xff0c;第二步&#xff1a;打开appuploader工具 第五步&#xff1a;交付应用程序&#xff0c;在iTunes Connect中查看应用程序 总结 引言 在将应用程序上架到苹果应用商…

【Spring篇】Spring IoC DI

个人主页&#xff1a;兜里有颗棉花糖 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 兜里有颗棉花糖 原创 收录于专栏【Spring系列】 本专栏旨在分享学习Spring MVC的一点学习心得&#xff0c;欢迎大家在评论区交流讨论&#x1f48c; 目录 前言一、IoC二、…