16 软件测试

软件测试的16种测试类型   <a onclick="function onclick(){tagshow(event, %C8%ED%BC%FE%B2%E2%CA%D4);}" href="javascript:;" target="_self">软件测试主要从以下16种类型进行测试一:<a onclick="function onclick(){tagshow(event, %B9%A6% 阅读详情

一、单元测试

依赖 go test命令,在包目录内,所有以 test.go为后缀的源代码文件都是 go test测试的一部分

类型格式作用
测试函数函数名前缀为Test测试程序的一些逻辑行为是否正确
基准函数函数名前缀为Benchmark测试函数的性能
示例函数函数名前缀为Example为文档提供示例文档

1.常规测试

package calc

import (
	"testing"
)

func Test1Add(t *testing.T) {
	ret := Add(1, 2) //程序输出结果
	want := 3        //期望结果

	if ret != want {
		t.Errorf("测试用例执行失败![期望值:%v	实际值:%v]\n", want, ret)
	}
}

func Test2Add(t *testing.T) {
	ret := Add(2, 2) //程序输出结果
	want := 4        //期望结果

	if ret != want {
		t.Errorf("测试用例执行失败![期望值:%v	实际值:%v]\n", want, ret)
	}
}

2.测试组

package calc

import (
	"testing"
)

func TestAdd(t *testing.T) {
	type testCase struct {
		a   int
		b   int
		ret int
	}

	testGroup := []testCase{
		testCase{1, 2, 3},
		testCase{-1, 2, 1},
		testCase{0, 2, 2},
	}

	for _, tc := range testGroup {
		ret := Add(tc.a, tc.b)
		if ret != tc.ret {
			t.Errorf("测试用例执行失败![期望值:%v	实际值:%v]\n", tc.ret, ret)
		}
	}
}

3.子测试

package calc

import (
	"testing"
)

func TestAdd(t *testing.T) {
	type testCase struct {
		a   int
		b   int
		ret int
	}

	testGroup := map[string]testCase{
		"case_1": testCase{1, 2, 3},
		"case_2": testCase{-1, 2, 1},
		"case_3": testCase{0, 2, 2},
	}

	for name, tc := range testGroup {
		t.Run(name, func(t *testing.T) {
			ret := Add(tc.a, tc.b)
			if ret != tc.ret {
				t.Errorf("测试用例执行失败![期望值:%v	实际值:%v]\n", tc.ret, ret)
			}
		})
	}
}

二、基准测试

在一定负载之下检测程序性能的一种方法

package calc

import (
	"testing"
)

func BenchmarkAdd(b *testing.B) {
	for i := 0; i < b.N; i++ {
		Add(1, 2)
	}
}

go test -bench=Add输出结果:

goos: windows
goarch: amd64
pkg: zyz.test.com/calc
cpu: AMD Ryzen 5 5600X 6-Core Processor
BenchmarkAdd-12         1000000000               0.2230 ns/op
PASS
ok      zyz.test.com/calc       0.741s

三、性能调优

func main() {
	cpufile, err := os.Create("./cpu.pprof")
	if err != nil {
		fmt.Println(err)
		os.Exit(1)
	}

	pprof.StartCPUProfile(cpufile)
	pprof.WriteHeapProfile(cpufile)

	defer pprof.StopCPUProfile()
	defer cpufile.Close()
}

pprof使用:

# go tool pprof .\cpu.pprof
Type: inuse_space
Time: Mar 21, 2022 at 10:57pm (CST)
Entering interactive mode (type "help" for commands, "o" for options)
(pprof) top3
Showing nodes accounting for 2787.64kB, 100% of 2787.64kB total
Showing top 3 nodes out of 16
      flat  flat%   sum%        cum   cum%
 1762.94kB 63.24% 63.24%  1762.94kB 63.24%  runtime/pprof.StartCPUProfile
  512.50kB 18.38% 81.63%   512.50kB 18.38%  runtime.allocm
  512.20kB 18.37%   100%   512.20kB 18.37%  runtime.malg
(pprof)

扩展:

1.安装 graphviz工具可以图形化展示

2.go-torch和FlameGraph可以画火焰图

3.wrk压测工具

软件测试从业者应该要浏览的16个网站 。 经常有同学咨询老徐,有哪些站适合测试从业者逛,且有价值,能获取到干货的 ? 趁周末时间,老徐统一整理了下,分享之 。 / 博客园 博客园,早期的开发者社区。上面聚集一起优质的博主,博客文章质量都很高 。很多测试从业者都在上面写过博客。 早期,老徐也是在上面写博客(现在偶尔还会更新) 。测试领域,大家比较熟悉的,可能是虫师的博客 。 2.优快云 这个... 阅读详情

相关推荐

软件测试架构师,给后辈的16条忠告,快看看别错过

1、警惕自身和单位的耦合程度   很多人在一个公司、企业待久了,学的东西都是这个企业所能用到的,时间长了,会发现自己在公司里越来越得心应手,但是你的技能和长处可能仅仅适应这家公司,换一家公司可能就用不上,这样就很危险。 2、忘掉光环,忘掉徒有的虚名   特别是在大公司里,而且是做过管理岗位的,那些光环和title会让你骄傲自满。你始终要明白,平台再大,公司再牛掰,终究不是你的真实能力的体现,特别是做过管理岗位的,不要迷恋管理,技术才是长久立足的根本。 ......

weixin_54556126的博客 1758

软件测试作业3:软件测试的16条公理

作业3 1、综述软件测试的16条公理 (参见 Lec.8, slide 43) 答: 利益相关者公理: 测试是代表测试利益相关者执行的信息或情报收集的活动 公理1(利益相关者公理): 测试需要利益相关者。 确定将使用提供的测试证据并从中受益的人员或组织,即利益相关者,和他们建立关系。需要明确如下问题: 利益相关者是谁? 利益相关者代表谁的利益? 利益相关者想要什么测试证据? 利益相关者需要这些证据做些什么? 利益相关者什么时候需要这些证据? 这些证据以什么格式进行呈现? 多久需要一次测试证据?

StuGeek的博客 548

软件测试面试题 | 工作5年面试16家,总结大环境下的软件测试岗需求与面试常问

网上的软件测试面试题更是层出不穷。但是单单刷软件测试面试题就足够了吗?答案显然是不够的!那么为什么呢?因为现在的软件测试就业环境早就和两年前不可同日而语了……也就是说大家刷面试题一定要刷到那些有技术含量,比较常见的才行。粉丝小A:虽然都在说大环境不好,失业的人很多,我最近约面试的还是比较多的,说说最近的体会吧。人生是战场,需要冲次,需要拼搏,处处布满陷井,一不小心就会中埋伏,就会遭遇失败,永无翻身之日,但我们拼搏一定要方向明确,有目标性拼搏,才会成功,幸福才会属于你。

Ces222的博客 1152

软件测试主要从以下16种类型

软件测试主要从以下16种类型进行测试: 一:功能测试(10个方面)   菜单、工具栏、快捷键、下拉框、按钮、单选按钮、复选按钮、切换、链接、触发键   二:界面测试   登陆界面、总界面、输入界面(增、删、改、查)、处理界面、输出界面、报表界面、提示界面   三:容错测试   数据长度、数据类型、非法此操作   四:接口测试   接口测试也叫业务流程测试(包括功能模块之间、模块与模块之间、子系统之间)   内部接口:例如:导入、导出(通俗的讲是接口就是调用)   外部接口:   五:性能测试(TPS吞吐量、

a498420237的博客 997

VisionPro 9.0 QuickBuild里用C#脚本调用Halcon 23.11模型,保姆级图文配置流程

本文详细介绍了如何在VisionPro 9.0 QuickBuild环境中使用C#脚本调用Halcon 23.11深度学习模型,提供从环境配置到模型集成的保姆级图文教程。重点解决图像格式转换、许可证配置等工业视觉检测中的常见问题,帮助开发者快速实现高效、稳定的视觉检测流水线部署。

weixin_27027459的博客 435

Windows本地部署Qwen3-14B实战指南:Ollama+Open WebUI零Docker方案

大语言模型本地部署是AI工程化落地的关键环节,其核心在于推理框架兼容性、硬件加速适配性与端到端稳定性。Ollama作为轻量级模型运行时,原生支持Windows DirectML与CUDA,规避了Docker/WSL2虚拟化开销和llama.cpp编译风险;Qwen3-14B则凭借128K上下文、Tool Calling原生支持及中文长文本结构化能力,成为政务、金融等场景首选。本文聚焦Windows平台真实约束——显存阈值、驱动版本匹配、路径编码兼容、离线知识库集成(RAG)等工程细节,提供经63台Windo

weixin_32136203的博客 413

那些年我们对软件测试的16大误解

1、测试和开发永远都是死对头 虽然测试与开发的工作性质是对立的,但是目的都是为了项目更好的发展。 有人以前发起过一个倡议:“我们讨论的时候不要用他们(开发人员)和我们(测试人员),而是统一用咱们,因为开发人员和测试人员本来就是一起的。如果测试人员能与开发人员成为朋友,你会发现,工作会非常顺心,在我所在的企业中,测试人员和开发人员关系非常融洽,互相尊重,对大家的工作能力和技术表示肯定。” 其中的诀窍重点在于测试这边的沟通,谁也接受不了别人指责自己得意之作,所以测试要以帮助开发让开发的‘孩子’更健康,让开发

m0_63052740的博客 749

“挑战杯”大赛“揭榜挂帅”赛道-baseline解析

在这个脚本中,txt文件的保存路径为'yolov7/datasets/Fatigue_driving_detection/txt_labels/',而xml文件的路径为'./label_xml/'。标注图片后的产物是会给每一个图片对应生成一个xml格式的文件,但是如果要用yolo框架去训练模型,输入的数据必须是txt格式,因此这里有一步转换格式的过程。注意看:obs这里有三个文件夹,第一个是关键帧的文件夹A,第二个是标注时输出的位置为文件夹B,第三个是智能标注后和手动标注的合集文件夹C。

m0_62899814的博客 2321

2021年秋招,软件测试开发最全面试攻略,吃透16个技术栈

前言 小编分享的这份秋招软件测试面试总结包含了软件测试基础、MySQL基础、Liunx、web测试、接口测试、App测试、管理工具、Python、selenium、性能测试、LordRunner 、计算机网络、组成原理、数据结构与算法、api测试等个16专题技术点,都是小编在各个大厂总结出来的面试真题,已经有很多粉丝靠这份PDF拿下众多大厂的offer,今天在这里总结分享给到大家! 小编这篇分享篇幅可能有点长,观看的朋友可以先了解一下目录 软件测试面试题 MySQL面试题 Liunx面试题 we

m0_60149999的博客 1043

ParallelsDesktop 安装 CentOS-6.9-x86_64-minimal 教程

安装参考 tools没做 想安装的可以参考这个 mac 本机环境: 系统:macOS Catalina version 10.15.6 虚拟机软件:parallels Desktop 15 for Mac( Parallels Desktop-15.1.4(47270)) Centos镜像: CentOS-6.9-x86_64-minimal.iso https://mirrors.aliyun.com/centos-vault/6.8/isos/x86_64/ http://vault.centos.

爱吃鱼的小明的博客 955

国产信创服务器软硬件兼容情况1 --- ARM架构

信创,即信息技术应用创新产业,它是数据安全、网络安全的基础,也是新基建的重要组成部分...

一只猿的自我修养 4741

2022年春招,双非硕士吃透16个软件测试开发技术栈,成功上岸

小编分享的这份秋招软件测试面试总结包含了软件测试基础、MySQL基础、Liunx、web测试、接口测试、App测试、管理工具、Python、selenium、性能测试、LordRunner 、计算机网络、组成原理、数据结构与算法、api测试等个16专题技术点,都是小编在各个大厂总结出来的面试真题,已经有很多粉丝靠这份PDF拿下众多大厂的offer,今天在这里总结分享给到大家! 小编这篇分享篇幅可能有点长,观看的朋友可以先了解一下目录 软件测试面试题 MySQL面试题 Liunx面试题 web测试面

PZB924265的博客 704

【网络与爬虫 44】Canvas指纹伪造技术:突破浏览器图形渲染检测的终极指南

Canvas和WebGL指纹是现代反爬虫系统中最难绕过的检测技术之一,它们通过分析浏览器图形渲染的细微差异来识别用户设备。本文将深入解析Canvas和WebGL指纹的工作原理,探讨其在反爬虫检测中的应用,并提供多种有效的伪造和绕过策略,帮助开发者理解并应对这些高级检测技术。

熵数实验室 1206

软件测试从业者必须要浏览的16个网站...你都知道吗?

经常有同学咨询我,有哪些站适合测试从业者逛,且有价值,能获取到干货的 ? 趁周末时间,我统一整理了下,分享之 。

测试官 1299

SpringCloud Alibaba - Seata 实现高可用和异地容灾

这里不仅仅要实现高可用,还需要实现异地容灾. 异地容灾就是说,如果你整了好几个节点部署起来,全部放到一个机房里面,那么如果这个机房出了故障,就意味着整个集群就完了,所以对于一个大型的集群来讲,都会把这些服务异地部署.问题2:如果我们要实现异地容灾,也就说某一个机房挂了,需要快速的切换到另一个可用的机房,但是这个配置在配置文件中写死了,如果要改配置文件,还需要重启服务器,这是我们不希望看到的,怎么办?进入 seata/bin 目录,运行 seata-server.bat 文件,默认端口为 8091。

CYK_byte的博客 975

深入探讨:StoreKit 2的交易处理与收据验证

iOS应用开发中,StoreKit 2带来收据处理和交易验证的新变化。本文通过实例分析,对比传统StoreKit与StoreKit 2的差异,指出直接访问sandboxReceipt文件可能引发错误。解决方案是使用Transaction对象和SKReceiptRefreshRequest,详细介绍了如何初始化ReceiptLoader、处理交易更新及验证收据的完整流程,帮助开发者适应新框架,确保购买流程安全可靠。

m0_74337424的博客 357

16点优秀软件测试员所具备的特征!!!

会是你吗?

kami_ochin_akane的博客 286

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Qwen-Turbo-BF16软件测试革命:AI生成测试用例实践

本文介绍了如何利用星图GPU平台,自动化部署千问图像生成 16Bit (Qwen-Turbo-BF16)镜像,以革新软件测试流程。该方案的核心应用场景是AI辅助生成软件测试用例,能够基于需求文档自动设计覆盖全面、逻辑严谨的测试用例,从而将测试工程师从重复性工作中解放出来,大幅提升测试效率与质量。

weixin_35750747的博客 380

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

2024年秋招,软件测试开发最全面试攻略,吃透16个技术栈

小编分享的这份秋招软件测试面试总结包含了软件测试基础、MySQL基础、Liunx、web测试、接口测试、App测试、管理工具、Python、selenium、性能测试、LordRunner 、计算机网络、组成原理、数据结构与算法、api测试等个16专题技术点,都是小编在各个大厂总结出来的面试真题,已经有很多粉丝靠这份PDF拿下众多大厂的offer,今天在这里总结分享给到大家!如果你有无穷多的水,一个3公升的提捅,一个5公升的提捅,两只提捅形状上下都不均匀,问你如何才能准确称出4公升的水?

2301_79535733的博客 888

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

2023年春招,软件测试开发最全面试攻略,吃透16个技术栈

小编分享的这份秋招软件测试面试总结包含了软件测试基础、MySQL基础、Liunx、web测试、接口测试、App测试、管理工具、Python、selenium、性能测试、LordRunner 、计算机网络、组成原理、数据结构与算法、api测试等个16专题技术点,都是小编在各个大厂总结出来的面试真题,已经有很多粉丝靠这份PDF拿下众多大厂的offer,今天在这里总结分享给到大家!

软件测试技术分享 286

#16 学习日志软件测试

软件测试全流程贯穿需求分析、计划、设计、执行、缺陷管理到验收的完整周期,其核心是通过系统性的方法确保软件质量。不同团队可根据项目规模(如小型项目可合并集成测试与系统测试)、开发模型(瀑布模型 vs 敏捷开发)灵活调整流程,但需始终围绕 “发现问题、解决问题、验证质量” 的目标展开。

King_model的博客 810

【测试】16.软件测试策略

一.软件测试的对象 软件测试 不等于 程序测试 二.软件分类&方法 三.软件测试阶段 四.软件测试复杂性&测试策略 1.软件测试复杂性 2.软件测试策略定义 测试策略:原则、方式、方法 定义:在一定的软件测试标准、测试规范的指导下,依据测试项目的特定环境约束而规定的软件测试的原则、方式、方法的集合。 ...

一只会飞的鲲的博客 468

16- 软件测试框架总结

主要对测试框架的面试题讲解。 1.测试一个杯子怎么写测试用例? 界面:杯子外观安全性:杯子有没有毒或细菌可靠性:杯子从不同高度落下的损坏程度;杯子放水放置12个小时或者24小时,是否漏水可移植性:杯子在不同的地方、温度等环境下是否都可以正常使用兼容性:杯子是否能够容纳果汁、白水、酒精、汽油等易用性:杯子是否烫手、是否有防滑措施、是否方便饮用用户文档:使用手册是否对杯子的用法、限制、使...

dengshenjue2256的博客 292
上一篇: 15 网络编程
下一篇: 17 flag包介绍
拼搏的菜鸟
博客等级 码龄10年 9粉丝 62原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

拼搏的菜鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值