软件测试总结基础

软件测试总结基础

1. 何为软件测试

定义:使用技术手段验证软件是否满足需求

目的:减少bug,保证质量

image-20240521191222633

2. 软件测试分类

  1. 阶段划分
    • 单元测试,针对源代码进行测试
    • 集成测试,针对接口进行测试
    • 系统测试,针对功能和非功能进行测试
    • 验收测试,内测,公测

image-20240521193259726

  1. 代码可见度划分
    • 黑盒测试:不关注源代码针对功能测试(系统测试)
    • 灰盒测试:针对接口进行测试(集成测试)
    • 白盒测试:针对源代码进行测试(单元测试)

image-20240521193426071

  1. 其他专项
    1. 性能测试
    2. 安全测试

3. 软件测试基本流程

image-20240521194857758

1.需求评审

产品经理、开发、测试三方会议,确定需求

2.测试计划

明确测什么、谁来测、怎末测

3.用例设计

4.用例执行

5.缺陷管理

6.测试报告

4. 质量模型

模型:衡量一个优秀软件的维度

image-20240521193703472

案例

image-20240521193858222

  1. 功能性

image-20240521193955871

  1. 性能

image-20240521194035400

  1. 兼容性

image-20240521194208773

  1. 易用性

image-20240521194246700

  1. 可靠性

image-20240521194328747

  1. 安全

image-20240521194423469

  1. 可移植性

image-20240521194516803

  1. 可维护性

image-20240521195015375

5. 测试用例

1.用例定义:为测试项目而设计的执行文档

2.作用:防止漏测、实施测试的标准

6. 测试用例书写格式

用例执行的八大要素

书写用例格式

  • 用例编号:项目_模块 _编号
  • 用例标题:预测结果(测试点)
  • 项目/模块:所属项目或模块
  • 优先级:表示用例的重要程度或者影响力p0·p4
  • 前置条件:需要执行这个用例有哪些前置操作
  • 测试步骤:描述操作步骤
  • 测试数据:操作的数据,没有的话为空
  • 预期结果:期望达到的结果

7. 测试用例书写方法

1. 等价类划分法

image-20240521200533823

重点:有效等价和无效等价的集合各取一个即可

步骤:

  1. 明确需求
  2. 划分有效等价和无效等价
  3. 提取数据编写测试用例

案例:

image-20240521200656130

长度验证

image-20240521201057538

类型验证

image-20240521201300543

使用场景:

image-20240521202443618

2. 边界值分析法

image-20240521212310881

1. 边界范围节点

image-20240521212429066

案例:

image-20240521212516262

注:

  1. 有关范围限制,最多七条用例(暂时不优化)
  2. 边界值能解决位数限制问题,但是不能解决类型问题(要结合等价类)

步骤:

image-20240521213041286

练习1:

image-20240521213421913

image-20240521214715179

image-20240521214722132

练习2:

image-20240521214810822

image-20240521215454717

image-20240521215444856

边界值优化

开内闭外(开区间选包含的点,闭区间不包含的点)

优化策略:

image-20240521220211117

使用场景

image-20240522111541412

3. 判定表法

image-20240522111824607

1. 定义及组成

image-20240522112032480

2. 判定表法用例书写步骤

image-20240522112409288

提示:
1、多条件之间有依赖关系,使用判定表来进行测试覆盖。
2、判定表一般适合4个以内条件依赖关系
3、如果条件超过4个,就不适合覆盖所有条件,应采用(正交法)来解决。

4. 业务覆盖测试

重点:

​ 1、覆盖业务测试,需要使用流程图法

​ 2、先测试业务,在测试单功能、单模块、单页面

提示:业务用例是根据流程图来梳理的,需要先了解流程图

image-20211024162459688

作用:梳理业务用例

练习流程图工具:

1、线上工具:https://processon.com/diagraming/605880af07912927bd71c388
2、离线工具:visio
3、其他工具:Excel
4.2 案例(ATM)
  • 流程图

    image-20211024165931247

    image-20211024165946258

  • 用例

    image-20211024170008639

5.错误推荐法

应用场景:当项目用例都执行完毕,且BUG修复完成,离上线还有一段时间,在这段时间中可是使用错误推荐法复测主要业务或测试未覆盖的功能。

image-20211024171017117

8. 缺陷

1.定义:软件中存在的各种问题,都为缺陷,简称bug;

2.缺陷标注

1、少功能
2、功能错误
3、多功能
4、缺少隐性功能
5、易用性(软件测试人员专业角度)

3.产生原因

1、需求文档
2、架构设计
3、编码实现
4、环境(硬件、软件)

4.缺陷核心要素

image-20240604173227224

5.缺陷提交要素

image-20240604173253476

6.缺陷类型

1、功能错误
2、UI页面错误
3、兼容性
4、数据(数据库)
5、易用性
6、建议
7、架构缺陷

9. 缺陷管理

image-20240604173407327

管理工具

1、项目管理工具-管理缺陷 (禅道、JIRA、TFS)
环境(硬件、软件)

4.缺陷核心要素

在这里插入图片描述

5.缺陷提交要素

在这里插入图片描述

6.缺陷类型

1、功能错误
2、UI页面错误
3、兼容性
4、数据(数据库)
5、易用性
6、建议
7、架构缺陷

9. 缺陷管理

在这里插入图片描述

管理工具

1、项目管理工具-管理缺陷 (禅道、JIRA、TFS)
2、Excel管理缺陷

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Web 网页性能优化

Web 网页性能及性能优化 一、Web 性能 Web 性能是 Web 开发的一个重要方面,侧重于网页加载速度以及对用户输入的响应速度 通过优化网站来改善性能,可以在为用户提供更好的体验 网页性能既广泛又非常深入 1. 为什么性能这么重要? 1. 性能…

人工智能学习笔记(1):了解sklearn

sklearn 简介 Sklearn是一个基于Python语言的开源机器学习库。全称Scikit-Learn,是建立在诸如NumPy、SciPy和matplotlib等其他Python库之上,为用户提供了一系列高质量的机器学习算法,其典型特点有: 简单有效的工具进行预测数据分…

YoloV8改进策略:Neck篇|自研Neck层融合模型|深度特征与浅层特征融合,涨点明显|附结构图(独家原创)

摘要 本文介绍的独家原创的Neck层特征融合方法,将深度特征和浅层特征相融合,结合自研下采样模块和动态上采样模块,提供了一种高效的Neck层改进方式,不仅为他们提供了一个现成的解决方案,而且能够作为灵感启发&#xf…

SysTools MailXaminer 电子邮件取证工具,发现电子邮件中的秘密

天津鸿萌科贸发展有限公司是 SysTools 系列软件的授权代理商。 SysTools MailXaminer 电子邮件取证软件提供全功能解决方案,通过简化的操作,从电子邮件客户端、网络邮箱服务器、磁盘镜像、Skype 通讯工具中解密并搜索证据,支持单人取证模式和…

代码随想录训练营Day 49|力扣139.单词拆分、关于多重背包,你该了解这些!、背包问题总结篇!

1.单词拆分 视频讲解&#xff1a;动态规划之完全背包&#xff0c;你的背包如何装满&#xff1f;| LeetCode&#xff1a;139.单词拆分_哔哩哔哩_bilibili 代码随想录 代码&#xff1a; class Solution { public:bool wordBreak(string s, vector<string>& wordDict) …

Bev 车道标注方案及复杂车道线解决

文章目录 1. 数据采集方案1.1 传感器方案1.2 数据同步2. 标注方案2.1 标注注意项2.2 4d 标注(时序)2.2.1 4d标签制作2.2.2 时序融合的作用2.2.2.1 时序融合方式2.2.2.2 时序融合难点2.2.2.2 时序实际应用情况3. 复杂车道线解决3.1 split 和merge车道线的解决3.2 大曲率或U形车道…

postman教程-12-保存请求至Collections

领取资料&#xff0c;咨询答疑&#xff0c;请➕wei: June__Go 上一小节我们学习了Postman管理环境的方法&#xff0c;本小节我们讲解一下Postman保存请求至Collections集合的方法。 1、创建Collection 在保存Request请求之前&#xff0c;先创建一个Collection(集合)&#…

java常见api :Math System

一. Math类 1.定义在那个包 java.lang包下 2.作用 (1)是一个帮助我们用于进行数学计算的工具类 (2)私有化构造方法,所有的方法都是静态的 3.常用的方法 &#xff08;1&#xff09;获取绝对值 System.out.println(Math.abs(-88)); 取值范围&#xff1a; -2147483648到21…

Python中如何打开网页

幸好思念无声&#xff0c;可惜思念无声 ——24.6.4 Python打开前端网页 1.导入webbrowser库 用webbrowser.open(传入网址)&#xff0c;打开网页 import webbrowser webbrowser.open("Index.html") 2.用flask框架 from wsgiref.simple_server import make_serve…

什么是电风扇行情?

“电风扇行情” 是一个金融术语&#xff0c;用于描述证券市场中价格上下波动频繁、幅度较大&#xff0c;但总体趋势不明显的市场状况。   其名称来源于电风扇的扇叶在旋转时&#xff0c;风向不断变化的特征&#xff0c;形象地比喻了市场价格频繁变动但没有明确方向的情景。 …

mysql分页查询优化

优化分页中的偏移量 背景和问题 在数据量较大的情况下&#xff0c;使用 LIMIT 偏移量会导致查询效率低下。例如&#xff0c;获取第 101 页的数据&#xff0c;每页 50 条记录时&#xff0c;查询语句如下&#xff1a; SELECT * FROM articles ORDER BY id LIMIT 50000, 50;这种…

代码随想录算法训练营Day25|216.组合总和III、17.电话号码的字母组合

组合总和III 216. 组合总和 III - 力扣&#xff08;LeetCode&#xff09; 思路和昨日的组合题类似&#xff0c;但注意对回溯算法中&#xff0c;收获时的条件需要写对&#xff0c;path的长度要为k的同时&#xff0c;path中元素总和要为n。 class Solution { public:vector<…

A6370超速保护监控器

A6370监控器是AMS 6300 SIS超速保护系统的一部分&#xff0c;并且 与A6371一起安装在19英寸机架中(84HP宽&#xff0c;3RU高) 系统底板。一个AMS 6300 SIS由三个保护监视器(A6370)组成 和一个背板(A6371)。 该系统设计用于涡流传感器、霍尔元件传感器和 磁性(VR)传感器。 传感器…

UI 自动化分布式测试 -Docker Selenium Grid

分布式测试Selenium Grid 对于大型项目或者有大量测试用例的项目,单机的测试环境往往无法快速完成所有测试用例的执行,此时自动化测试执行效率将会成为最大的瓶颈,Selenium Grid 可以通过多机的分布式架构允许测试用例并行运行,大大缩短了测试时间。 Selenium Grid 提供了多…

Android14 WMS-窗口绘制之relayoutWindow流程(一)-Client端

Android14 WMS-窗口添加流程(一)-Client端-CSDN博客 Android14 WMS-窗口添加流程(二)-Server端-CSDN博客 经过上述两个流程后&#xff0c;窗口的信息都已经传入了WMS端。 1. ViewRootImpl#setView 在窗口添加流程(一)中&#xff0c;有这个方法&#xff1a; http://aospxre…

【从零开始部署SAM(Segment Anything Model )大模型 3 Ubuntu20 离线部署 C++】

这里是目录 总览环境配置模型准备Moble SAM onnx模型获取Moble SAM pre onnx模型获取 运行cmakelist 运行结果 总览 相比于使用python离线部署SAM大模型&#xff0c;C要麻烦的多&#xff0c;本篇的部署过程主要基于项目&#xff1a;https://github.com/dinglufe/segment-anyth…

今日增长工具精选 | 三款你不知道但很实用的运营工具

PartnerShare作为一款分销裂变系统&#xff0c;受到国内多数工具类saas企业的青睐&#xff0c;旗下还有产品分享社区&#xff0c;介绍多种实用的工具&#xff0c;林叔从它那里获得灵感&#xff0c;新开了增长工具集合分享&#xff01;希望能帮助更多saas企业增长。 一、Charac…

kettle学习总结(3)

书接上回&#xff0c;数据同步核心流程1&#xff0c;同步aav库表 <?xml version"1.0" encoding"UTF-8"?> <transformation><info><name>sync_aav</name><description /><extended_description /><trans_v…

计算机基础(3)——计算机系统组成

&#x1f497;计算机基础系列文章&#x1f497; &#x1f449;&#x1f340;计算机基础&#xff08;1&#xff09;——计算机的发展史&#x1f340;&#x1f449;&#x1f340;计算机基础&#xff08;2&#xff09;——冯诺依曼体系结构&#x1f340;&#x1f449;&#x1f34…

C++基础 auto 和 decltype的区别

auto关键字 auto 关键字允许编译器根据初始化表达式自动推导出变量的类型。这意味着你不需要显式写出变量的类型&#xff0c;编译器会根据你赋予的初始值来确定类型。这对于复杂类型、模板编程或是避免重复冗长的类型名称尤其有用&#xff0c;可以提高代码的可读性和编写效率。…