01测试分类

一、按照测试目标分类

1、界面测试

肉眼所看到的一切,都需要进行测试。如,按钮的点击;输入框输入文本;下拉框的选择;其它的交互等。。。

前端开发在执行开发之前需要交互/设计的同学给出设计图(以图片的形式展示要实现的前端页面,在设计图中明确了给定了每个元素的大小、形状、颜色等等要素)

测试的方面:

①验证界面内容显示的完整性、一致性、准确性、友好性。比如,界面内容对屏幕大小的自适应,换行,内容是否全部清晰展示;

②验证整个界面布局和排版是否合理,不同板块字体的设计,图片的展示是否符合需求;

③对界面不同控件的测试,比如,对话框,文本框,滚动条,选项按钮等是否可以正常使用,有效和无效的状态是否设计合理;

④界面的布局和色调符合当下时事的发展;

2、功能测试

功能测试就是对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能。

如何进行功能测试?

设计功能测试用例,参考需求规格说明书进行用例的编写,具体的测试用例需要使用黑盒设计测试用例的方法。如等价类、边界值、判定表法、正交法、场景法、错误猜测法等。

3、性能测试

4、可靠性测试

可靠性即可用性,是指系统正常运行的能力或者程度,一般用正常向用户提供软件服务的时间占总时间的百分比表示。

可靠性=正常运行的时间/(正常运行的时间+非正常运行的时间)*100%

可用性指标一般要求达到4个或者5个9

5、安全性测试

安全性是指信息安全,是指计算机系统或网络保护用户数据隐私、完整,保护数据正常传输和抵御黑客,病毒攻击的能力。

比如,sql注入、xss漏洞、登录模块密码一般要加密显示、数据库用户敏感信息要加密、接口返回值不能返回用户的隐私数据等。。。

安全性测试的方法有代码评审、渗透测试、安全运维等。常用的静态安全测试工具有,Coverity、IBM、Appscan Source,HPFortify,常用的动态安全测试工具有OWASP的ZAP,HP WebInspect等。其中静态安全测试是常用的安全性测试的方法。

6、易用性测试

检查产品/软件/功能是否具备简单易上手的属性。

二、按照执行方式分类

1、静态测试

所谓静态测试就是不实际运行被测软件,而只是静态地检查程序代码、界面或文档中可能存在的错误的过程。

常见的静态测试方法有代码走查、代码扫描工具(如sonnar)等。。

2、动态测试

动态测试指的是实际运行被测程序,输入相应的测试数据,检查实际输出结果和预期结果是否相符的过程,所以判断一个测试属于动态测试还是静态测试,唯一的标准就是看是否运行程序。

△大多数软件测试工作都属于动态测试。

三、按照测试方法

1、白盒测试

白盒测试又称结构测试或逻辑测试,它用来分析程序的内部结构,通过程序的逻辑结构来设计测试用例来进行测试。

白盒测试的目的是,检查软件内部的逻辑结构,对软件的逻辑路径进行覆盖测试。在程序的不同地方设置检查点,观察程序状态与预期状态是否一致。

白盒测试的方法有,语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖。

方法解释:

if A and Bthen action1
if C or Dthen action2

①语句覆盖:要保证每条语句都执行到。在例子中,即让action1和action2都执行到。

        那么测试用例可以是A=T;B=T;C=T;D=F 或者A=T;B=T;C=T;D=T 或者A=T;B=T;C=F;D=T;

②判定覆盖:每个判定都要覆盖到为真和为假两种情况。在例子中,即让A and B 为T;A and B为F;C or D为T;C or D为F;

        那么测试用例可以是A=T;B=T;C=T;D=T 和A=F;B=F;C=F;D=F;(没有完全列举)

③条件覆盖:要保证每个条件都有T和F两种情况。在例子中,即让A为T,F;B为T,F;C为T,F;D为T,F;

        那么测试用例可以是A=T;B=T;C=T;D=T和A=F;B=F;C=F;D=F;(没有完全列举)

④判定条件覆盖:同时满足判定覆盖和条件覆盖。在例子中,即让A and B为T;A and B为F;C or D为T;C or D为F,同时让A为T,F;B为T,F;C为T,F;D为T,F;

        那么测试用例可以是A=T;B=T;C=T;D=T和A=F;B=F;C=F;D=F(没有完全列举)

⑤条件组合覆盖:同一个判定里条件T,F的相互组合就是条件组合覆盖。在例子中,第一个判定A=T,B=T;A=F,B=T;A=T,B=F;A=F,B=F。第二个判定C=T,D=T;C=F,D=T;C=T,D=F;C=F,D=F;

        那么测试用例可以是A=T;B=T;C=T;D=T 和 A=F;B=T;C=F;D=T 和 A=T;B=F;C=T;D=F 和 A=F;B=F;C=F;D=F;

⑥路径覆盖:

记if(x>0&&y>0)判定为P1

记if(z<0)判定为P2

x>0,记为C1

y>0,记为C2

z<0,记为C3

则有,

测试用例设计
数据C1C2C3P1

P2

路径
{x=3,y=3,z=-2}TTTTTa-b-d-f
{x=-3,y=3,z=-2}FTTFTa-c-d-f
{x=3,y=3,z=2}TTFTFa-b-e-f
{x=-3,y=15,z=-2}FTFFFa-c-e-f

白盒测试总结:

1°白盒测试主要应用于单元测试阶段。

2°先执行静态设计测试用例的方法,再执行动态设计测试用例的方法。

3°设计用例一般使用路径测试,重点模块追加使用逻辑覆盖方法。

2、黑盒测试

黑盒测试就是不关心程序逻辑和内部结构,直接根据软件需求规格说明书,进行功能的测试。看输入数据之后,得到的结果是否和预期结果一致。

3、灰盒测试

灰盒测试是介于白盒测试和黑盒测试之间的一种测试。多用于集成测试时,它即关心数据的输入输出情况,又关心程序的内部结构。

灰盒测试即没有白盒测试的详细和完整,又没有黑盒对软件的覆盖范围。因此,灰盒测试不能替代黑盒测试,否则需要付出很大的代价,需要编写很多的测试用例。

4、常见面试题

你知道的测试方法有哪些,哪种用的比较多?

常见的测试方法有白盒测试、灰盒测试、黑盒测试。开发人员主要用白盒测试和灰盒测试。测试人员主要用白盒测试和黑盒测试。对于测试人员来说,相较于白盒测试,黑盒测试用的更多一些。

四、按照测试阶段分类

1、单元测试

与编码同步进行,针对软件的最小组成单元进行测试,主要采用白盒测试,从被测对象的内部结构出发设计测试用例。

测试阶段:编码前或编码后

测试对象:最小模块

测试人员:白盒测试工程师或开发工程师

测试依据:代码和注释+详细设计文档

测试方法:白盒测试

测试内容:模块接口测试、局部数据结构测试、路径测试、错误处理测试、边界测试

2、集成测试

集成测试也称联合测试(联调)、组装测试,将程序模块采用适当的集成策略组装起来,对系统的接口及集成后的功能进行正确性检测的测试工作。集成主要目的是检查软件单位之间的接口是否正确。

测试阶段:一般单元测试之后进行

测试对象:模块间的接口

测试人员:白盒测试工程师或开发工程师

测试依据:单元测试的模块+概要设计文档

测试方法:黑盒测试与白盒测试相结合

测试内容:模块之间数据传输、模块之间功能冲突、模块组装功能正确性、全局数据结构、单模块缺陷对系统的影响

3、系统测试

对通过集成测试的系统进行整体测试,验证系统功能性和非功能性需求的实现。

测试阶段:集成测试通过之后

测试对象:整个系统(软、硬件)

测试人员:黑盒测试工程师

测试依据:需求规格说明文档

测试方法:黑盒测试

测试内容:功能、界面、可靠性、易用性、性能、兼容性、安全性等

①冒烟测试:主要是查看基本功能是否正常,正常的话再进行测试。

冒烟测试一般是在开发人员开发完毕提交给测试人员来进行测试时进行的。先进行冒烟测试,保证基本功能正常,不阻碍后续的测试。

②回归测试:修改了旧代码之后,重新进行测试以确认修改没有引入新的错误或导致其它代码产生错误。

回归测试一般是在新版本上线后,对旧版本就行测试。在新功能上线后,对其它已上线的功能进行测试。

4、验收测试

验收测试也叫交付性测试,来用确定是否满足验收标准,由用户或塔器授权机构决定是否接受系统。这是部署软件之前的最后一个测试操作,也是技术测试的最后一个阶段。

测试阶段:系统测试通过之后

测试对象:整个系统(软、硬件)

测试人员:主要是最终用户或者需求方

测试依据:用户需求、验收标准

测试方法:黑盒测试

测试内容:同系统测试

五、按照是否手工测试

1、手工测试

手工测试就是由人去一个一个的输入用例,然后观察结果,和机器测试相对应,属于比较原始但是必须的一个步骤。

2、自动化测试

就是在预设条件下运行系统或应用程序,评估运行结果,预设条件应包括正常条件和异常条件。简单说,自动化测试是把以人为驱动的测试行为转化为机器执行的一个过程。

3、自动化测试和手工测试的优缺点

自动化测试:

优点:①节约成本;②提高测试人员执行工作效率;③保障软件的质量;

缺点:①对测试人员技术要求较高;②不能发散性测试;

手工测试:

优点:①对测试人员技术要求没有自动化技术要求高;②可以进行发散性测试;

缺点:①效率低;②人员、时间成本比起自动化测试都比较高;

六、按照实施组织划分

1、α测试(内测、a测)

α测试通常是公司内部的用户在模拟实际操作环境下进行的测试。α测试的目的是评价软件产品的FLURPS(即功能、可使用性、可靠性、性能和支持)。α测试不能由程序员或测试员完成。

2、β测试(公测、b测)

β测试由软件的最终用户们在一个或多个场所进行,这里就可以理解为,β测试是正式用户中的一部分,他们在任意的场合来使用软件,目的是为了发现软件是否存在一系列的问题。

3、α测试与β测试的区别

①测试的场所不同:α测试是在公司内部进行测试的,但是β测试是在用户环境下进行测试的;

α测试的环境是受开发方控制的,用户的数量相对比较少,时间比较集中。

β测试的环境是不受开发方控制的,用户的数量相对比较多,时间不集中。

②测试执行时机不同:通常是α测试通过后,再进行β测试

③测试持续时间长短不同:α测试没有β测试持续时间长

七、按照测试地域划分

1、国际化测试

2、本地测试

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

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

相关文章

【Git】用Git命令克隆一个远程仓库、修改仓库中的文件,并将更改推送到远程仓库

git clone ssh://gitgithub.com:2222/Mermaid28/Groove.git # SSH地址cd rfnvtoolecho "# rfnvtool" > README.md git add README.mdgit commit -m "add README" git push -u origin master 这个一系列的 Git 命令涉及到克隆一个远程仓库、修改仓库中…

关于MTU的使用(TCP/IP网络下载慢可能与此有关)

参考链接&#xff1a;告诉你mtu值怎么设置才能网速最好&#xff01; -Win7系统之家 出现网络速度被限制&#xff0c;可能与MTU值相关&#xff0c;先查看下本机的MTU winR,然后输入&#xff1a;netsh interface ipv4 show subinterfaces &#xff0c;查看自己网络中的MTU&…

07_GRU模型

GRU模型 双向GRU笔记:https://blog.csdn.net/weixin_44579176/article/details/146459952 概念 GRU&#xff08;Gated Recurrent Unit&#xff09;也称为门控循环单元&#xff0c;是一种改进版的RNN。与LSTM一样能够有效捕捉长序列之间的语义关联&#xff0c;通过引入两个&qu…

Playwright + MCP:用AI对话重新定义浏览器自动化,效率提升300%!

一、引言&#xff1a;自动化测试的“瓶颈”与MCP的革新 传统自动化测试依赖开发者手动编写脚本&#xff0c;不仅耗时且容易因页面动态变化失效。例如&#xff0c;一个简单的登录流程可能需要开发者手动定位元素、处理等待逻辑&#xff0c;甚至反复调试超时问题。而MCP&#xf…

网络爬虫-4:jsonpath+实战

1.jsonpath 2.通过jsonpath实战 一.Jasonpath核心符号 1)$: 含义&#xff1a;表示 JSON 文档的根节点。 用法&#xff1a;所有 JSONPath 表达式都以 $ 开头&#xff0c;表示从根节点开始查询。 {"store": {"book": [{"title": "Book 1&…

GD32 ARM单片机开发规范检查清单 GD32嵌入式C代码检查清单

GD32 ARM单片机开发规范检查清单 以下检查清单基于您的编程规范制定&#xff0c;可用于代码审查和自检过程。通过逐项检查&#xff0c;确保代码符合项目规范要求。 #mermaid-svg-Ye0FEIS4ZoXDXqaH {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:…

求职招聘网站源码,找工作招工系统,支持H5和各种小程序

招聘找活招工平台系统源码 招聘求职找工作软件 发布信息积分充值招聘系统,里面带纤细教程 功能介绍: 招工小程序主要针对工地招工工人找工作,工地可以发布招工信息,工人可以发布找活信息,招工信息可以置顶,置顶需要积分,积分可以通过签到、分享邀请好友、充值获取,后…

《Oracle DBA入门实战:十大高频问题详解与避坑指南》

Oracle DBA 入门作业十问十答 本文为 Oracle DBA 入门作业整理&#xff0c;涵盖工具使用、配置管理及权限控制等核心知识点&#xff0c;适合新手快速上手。 如有疑问或补充&#xff0c;欢迎评论区交流&#xff01; 1. DBA 常用工具有哪些&#xff1f; Oracle Universal Instal…

解决用户同时登录轮询获取用户信息错乱,使用WebSocket和Server-Sent Events (SSE)

为什么更推荐WebSocket Server-Sent Events (SSE) 是一种服务器向客户端推送数据的单向通信协议&#xff0c;适合某些场景&#xff0c;在解决用户同时登录和实时获取用户信息的问题上&#xff0c;WebSocket 是更好的选择。 1. SSE 的局限性 单向通信 SSE 是单向的&#xff0…

发票查验/发票验真如何用Java实现接口调用

一、什么是发票查验&#xff1f;发票验真接口&#xff1f; 输入发票基本信息发票代码、发票号码、开票日期、校验码后6位、不含税金额、含税金额&#xff0c;核验发票真伪。 该接口也适用于机动车、二手车销售发票、航空运输电子客票、铁路电子客票等。 二、如何用Java实现接口…

html5-qrcode前端打开摄像头扫描二维码功能

实现的效果如图所示&#xff0c;全屏打开并且扫描到二维码后弹窗提醒&#xff0c;主要就是使用html5-qrcode这个依赖库&#xff0c;html5-qrcode开源地址&#xff1a;GitHub - mebjas/html5-qrcode: A cross platform HTML5 QR code reader. See end to end implementation at:…

cpp-友元

理解 C 中的友元&#xff08;Friend&#xff09; 在 C 语言中&#xff0c;封装&#xff08;Encapsulation&#xff09; 是面向对象编程的重要特性之一。它允许类将数据隐藏在私有&#xff08;private&#xff09;或受保护&#xff08;protected&#xff09;成员中&#xff0c;…

JavaWeb基础-HTTP协议、请求协议、响应协议

一. HTTP协议 1. HTTP协议&#xff1a;Hyper Text Transfer Protocol&#xff0c;超文本传输协议&#xff0c;规定了浏览器和服务器之间数据传输的规则 2. HTTP协议特点&#xff1a; ① 基于TCP协议&#xff1a;面向链接&#xff0c;安全 ② 基于请求-响应模型的&#xff1a;一…

search_fields与filterset_fields的使用

在Django中&#xff0c;search_fields 和 filterset_fields 可以在视图类中使用&#xff0c;尤其是在 Django REST Framework (DRF) 中。它们分别用于实现搜索和过滤功能。以下是它们在视图类中的具体使用方法。 1. search_fields 在视图类中的使用 search_fields 是 DRF 中 S…

数据建模流程: 概念模型>>逻辑模型>>物理模型

数据建模流程 概念模型 概念模型是一种高层次的数据模型&#xff0c;用于描述系统中的关键业务概念及其之间的关系。它主要关注业务需求和数据需求&#xff0c;而不涉及具体的技术实现细节。概念模型通常用于在项目初期帮助业务人员和技术人员达成共识&#xff0c;确保对业务需…

在 Ubuntu 中用 Docker 安装 RAGFlow

一、安装 1.前提条件 CPU > 4 核 RAM > 16 GB Disk > 50 GB Docker > 24.0.0 & Docker Compose > v2.26.1 安装docker&#xff1a;在Ubuntu中安装Docker并配置国内镜像 2.设置 vm.max_map_count #设置 vm.max_map_count 不小于 262144# 查看 sysctl vm.…

Java随机生成n位验证码

Java学习笔记 今天写一个随机生成n位的验证码&#xff0c;包含字母大小写和数字&#xff0c;直接见代码。 package com.itheima.hello;// 生成一个随机位数的验证码 public class ScannerDemo1 {public static void main(String[] args){System.out.println(getCode(4));Syst…

go复习目录

全部都是博主的学习笔记&#xff0c;放着链接用的&#xff0c;自己收藏&#xff0c;包含基础内容、go三方包、vue、数据结构、web框架、设计模式、docker、go连接kafka、redis、grpc、中间件 文章目录 基础内容go三方包vue数据结构web框架设计模式dockergo连接kafkaredisgrpc中…

23种设计模式-创建型模式-抽象工厂

文章目录 简介场景问题1. 风格一致性失控2. 对象创建硬编码3. 产品族管理失效 解决总结 简介 抽象工厂是一种创建型设计模式&#xff0c;可以生成相关对象系列&#xff0c;而无需指定它们的具体类。 场景 假设你正在写一个家具店模拟器。 你的代码这些类组成&#xff1a; 相…

案例:网络命名空间模拟隔离主机场景

场景描述 假设我们需要在同一台物理机上模拟两台独立的主机&#xff08;Host A 和 Host B&#xff09;&#xff0c;它们分别位于不同的网络命名空间中&#xff0c;并通过虚拟以太网对&#xff08;veth pair&#xff09;进行通信。目标是展示网络命名空间的隔离性和跨命名空间的…