软件测试相关知识

1|0软件测试相关知识

1|1软件测试的概念及分类 — 软件测试相关概念

1|0软件测试的定义

通过手工或自动化的手段来运行或测定某个软件产品系统的过程,目的在于检测软件产品是否满足规定的需求,或者弄清楚预期结果与实际结果之间的差别。

1|0软件测试的目的

  • 是为了发现程序中存在的错误而执行程序
  • 是为了证明程序有错,而不是证明程序无错误

1|0软件测试工作流程

1|0软件测试的阶段划分

1|2软件测试的概念及分类 — 软件测试类型划分

1|0功能测试

测试软件各个功能模块处理是否正确,业务逻辑是否正确,数据流转、呈现、处理和存储是否正确。

1|0用户界面测试

测试用户界面是否美观,界面设计是否人性化、易操作,提示是否友好完善,不同屏幕分辨率下各界面显示是否正确、美观,软件支持的不同语言版本下,各界面显示的文字是否正确、美观等。

1|0兼容性测试

主要测试浏览器兼容性、操作系统兼容性、硬件兼容性。

1|0安装、卸载测试

正常情况下软件安装完成后可以正常运行,可以完全卸载;
用户无权限、硬件资源不满足等异常情况下能够给出准确的提示信息。

1|0安全和访问控制测试

分应用程序级别、系统级别两个层次

  • 应用程序级别主要是用户登录、数据和功能权限控制的正确性。
  • 系统级别主要是服务器的访问控制和用户权限设置。

1|0故障转移和恢复测试

  • 主服务器不能服务备用服务器接管服务
  • 主服务器恢复服务备用服务器停止服务

1|0性能测试

包括负载测试、压力测试、并发测试、可靠性测试、失效恢复测试等。

1|0发布测试

测试软件产品附带的各种说明书、帮助文档等。

1|3软件测试入行指导和职业发展之路 — 软件测试入行要掌握的知识和技能

  • 软件测试相关的概念、术语、测试工作流程
  • 与人沟通、表述看法的能力
  • 测试用例设计方法
  • 基本的程序逻辑结构
  • 基本的数据库操作
  • 服务器日志查看方法

1|4软件测试入行指导和职业发展之路 — 测试从业人员的持续学习

  • 软件所服务行业的业务知识
  • 公司软件测试涉及的相关工具
  • 提高个人工作效率和质量的工具
  • 提高测试团队工作效率的方法或工具

1|5软件测试入行指导和职业发展之路 — 测试从业人员职业发展之路

1|6软件测试的生命周期及原则 — 软件测试的生命周期

1|7软件测试的生命周期及原则 — 软件测试的原则

1|0软件测试的基本原则

站在用户的角度,从需求出发,对软件进行全面的、深入的测试,尽早、尽可多地发现Bug,并跟踪和分析软件中存在的问题,对不足之处提出质疑和改进意见。

1|0软件测试的具体原则

  • 准备详尽的测试工作计划,并及时维护。
  • 所有测试的标准都应该建立在需求之上。
  • 事先定义好产品的质量标准,并不遗余力的去执行。
  • 尽可能早的开始测试工作。
  • 避免让程序员测试自己的程序。
  • 测试用例是设计出来的,不是写出来的。
  • 对发现错误较多的程序段,应进行更深入的测试;对于出错多的程序员编写的程序同样需要给予特别关注。

1|8常用的软件测试模型 — 模型的概念和作用

1|0模型的概念

通过主观意识借助实体或者虚拟表现、构成客观阐述形态、结构的一种表达目的的物件。在软件行业来说就是:对系统实现步骤或系统知识的抽象表示。

1|0模型的作用

1.参与构造软件的人员之间沟通的基础
2.指导具体的软件实现过程
3.管理者制定相关工作计划的基础

常用的软件测试模型

  • V模型
  • W模型
  • X模型
  • H模型

软件测试的阶段划分

  • 软件测试的各个阶段
  • 软件测试各阶段工作重点

1|0单元测试

单元模块内的功能测试、边界测试、容错测试、界面测试、控制流和数据流测试,以及模块内的业务流程测试等。

1|0集成测试

系统集成以后的相关接口测试、功能测试、容错测试、约束测试,跨模块的业务流程测试等。

1|0系统测试

系统性的初始化测试、功能测试、业务处理和数据处理测试、性能测试、压力测试、安装卸载测试等。

1|0验收测试

在用户现场和用户一起对系统进行功能确认、用户需求确认、备份恢复测试、安全性测试等。

1|0回归测试

系统使用过程中发现问题修改完成以后,测试对应的问题是否修改好了,测试新修改的功能是否引发新的缺陷,测试与修改代码相关的其它程序功能是否依然正确。

1|9测试用例相关知识 — 测试用例的概念

为了特定的测试目的而设计的具有测试输入、测试执行条件、预期结果及结果验证方法的文档。

1|10测试用例相关知识 — 测试用例的特点

  • 最有可能抓住错误的
  • 不是重复的、多余的
  • 一组相似测试用例中最有效的
  • 既不是太简单,也不是太复杂

1|11测试用例相关知识 — 测试用例设计原则

  • 测试用例的代表性
  • 需求的可追溯性
  • 测试结果的可判定性、可再现性
  • 测试用例粒度的合适性

1|12Bug相关知识 — Bug的概念

Bug就是程序的缺陷,是指软件程序运行过程中由于程序本身有问题导致的功能不正常、体验不佳、数据丢失、死机、非正常中断等现象。

1|13Bug相关知识 — Bug相关要素

1|14Bug相关知识 — Bug记录原则及技巧

1|0Bug记录原则

  • 发现的所有问题都要记录Bug
  • Bug描述要清晰准确
  • 避免重复Bug

1|0Bug记录技巧

描述简明扼要,最好附带错误截图,尽量抓取错误日志,说清错误发生场景,可附带自己对错误的推测分析。

1|15边界值分析法相关概念 — 边界点相关概念

1|0边界点分为上点、内点和离点

  • 上点:就是边界上的点,不管它是开区间还是闭区间,就是说,如果该点是封闭的,那上点就在域范围内,如果该点是开放的,那上点就在域范围外。
  • 内点:就是域范围内的任意一个点。
  • 离点:就是离上点最近的一个点,如果边界是封闭的,那离点就是域范围外离上点最近的点,如果边界是开的,那离点就是域范围内离上点最近的点。

1|16边界值分析法相关概念 — 边界值分析法的概念

就是对输入或输出域的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。

1|17边界值分析法相关概念 — 与等价类划分法的区别

  • 边界值分析法不是从某等价类中随便挑一个作为代表,而是使这个等价类的每个边界都要作为测试条件。
  • 边界值分析法不仅考虑输入条件,还要考虑程序输出产生的测试情况。

1|18使用边界值分析法设计测试用例 — 确定边界值的原则

1|0原则一

如果输入或输出条件规定了取值范围,则应该以该范围的边界值及边界附近的值作为测试数据。

例1.1 工人的工龄范围是大于等于0,小于等于50的整数。

边界值:-1,0,50,51

例1.2 用户登录软件系统时,软件根据用户的权限加载相关模块功能。

边界值:没有权限,有一个模块的权限,有所有模块的权限。

1|0原则二

如果输入或输出条件规定了值的个数,则用最大个数、最小个数、比最小个数少1、比最大个数多1的数作为测试数据。

例2.1 报表定义中限定报表字段至少有两个字段,至多不能超过10个字段。

边界值:1,2,10,11

例2.2 查询结果多于15条记录时需要提供翻页功能。

边界值: 0,1,15,16

1|0原则三

如果程序规格说明书中提到的输入或输出是一个有序的集合,应该注意选取有序集合的第一个和最后一个元素作为测试数据。
例3.1 下拉列表选择控件的测试。

边界值:下拉列表第一个选项,下拉列表最后一个选项

例3.2 系统在编号从1-100的拓扑图中定位包含网元A的拓扑图,将含有网元A的拓扑图名称按照编号从小到大的顺序显示出来,在单击拓扑图名称后定位出网元A在拓扑图中的位置。

边界值:在包含网元A的编号最小的拓扑图中定位,在包含网元A的编号最大的拓扑图中定位。

1|0原则四

如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试数据。
例4 程序根据用户近三个月的消费状况给用户评级,月均消费超过3000元的用户或至少一个月消费超过5000的用户为优级用户,月均消费超过1500元或至少一个月消费超过3000元的为良级用户,月均消费超过800元的为潜力用户。

边界值:月均消费为 {3000,3001,1500,1501,799,800},不满足月均消费数据但某月消费{5000,5001,3500,3501}

1|19使用边界值分析法设计测试用例 — 设计测试用例的原则

  • 给所有划分出来的等价类编号
  • 对所有有效等价类逐个确定边界值
  • 对所有无效等价类逐个确定边界值
  • 合并等价类和边界值设计出的测试数据中重复的数据
  • 分析程序规格说明书,应用确定边界值的各原则找出其它的边界值

1|20使用边界值分析法设计测试用例 — 错误推测法

1|0概念

就是根据经验和直觉推测程序中可能存在的各种错误,从而有针对性地设计测试用例的方法。

1|0思路

列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据它们选择测试用例。


__EOF__

本文作者阿星Plus
本文链接https://www.cnblogs.com/meowv/p/11310419.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   阿星Plus  阅读(202)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示