几个测试示例分享|学习笔记

简介: 快速学习几个测试示例分享

开发者学堂课程【ALPD 云架构师系列-云原生 DevOps36计几个测试示例分享】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/82/detail/1292


几个测试示例分享

 

内容介绍:

一、案例:alpd-bot-ssh 单元测试

二、微服务契约测试实践

三、案例:alpd-bot-ssh 的端到端的自动化测试

四、微服务测试自动化的实践

 

一、案例:alpd-bot-ssh 单元测试

案例是 demo 里面有的,在用到这个代码的时候,在 alpd-bot-ssh 这个服务里面有单测,单测是一个非常典型的 grand 单测的一个玩法,直接用 go 单色框架可以看到这个服务提供的是 authserver 的接口给外部用户,依赖两个 GPC 的服务,应用内部有两个主要的方法 userAuth 和 execCmd,右边是 userAuth 单测用例的截图。

 image.png

整个的结构,一是 swait setup 做了启动 simulated 的任务,启动一个模拟的 auth server,因为不可能真的去找 auth server,需要有个契约约定;二是为这个方法做了一个 more,确定返回特定的值,比如 user 应该是什么,做的应该是什么,才返回正确,不然就会返回失败;三是具体验证的 keys 了,可以把一当做 swait setup,把二当做 test setup,三是test keys,assential 里写了一些单测用来做简单的验证。

 

二、微服务契约测试实践

 image.png

特点是一个简单典型的契约测试场景,跟 auth 服务是有契约的,契约通过 test 去模拟,所以整个数据也有测试用例,就 test 本身设置,就完成了在一个小容器或者本身的进程里面就单测的一个任务。

 

三、案例:alpd-bot-ssh 的端到端的自动化测试

 image.png

端到端的测试,还是 GS,因为这是主应用,用 alpd-bot 框架所写的端到端测试的例子,这个代码可以在最新的 cude 阿里云上面下载,也是在 ssh 服务的 atest 目录下。这个用例从左边看就是整个用例执行的一个日志,一个结果,可以看到里面包含了两个 sweet,一个是 IP,一个是 weather,两个主要的服务对象。每个 Sweet 里面有几个测试,每个测试会描述是干什么的,比如查找本地 IP,或者查询天气等这样的测试用例。

右上角是整个端到端测试的目录结构,里面有基本的用例,有weather.robot、IP.robot,有资源文件,比如 attent library,有个 common resource。

右下角是用例本身,可以看到定义了 Tag,也定义了 document,用来描述它是干什么的,所以不同的用例有不同的 level,如果 level1和 level2可以在执行的时候结果的地方去做筛选和判断,就知道测试完之后 quality level 到了几,还可以筛选只跑过 level1 时候可以保证快一点。

注意测试用例更多会使用业务的语言来去描述,不应该是代码,应该是需求的文档,可以去描述的文档去描述。

 

四、微服务测试自动化的实践

 image.png

这里给了一个简单的实践架构,是前面 library 的扩展,从实现层次讲,library 可能会涉及到比如 core 和 service,以及其他的 robot 资源。可以思考一下,如果做相对大的完整的应用测试自动化,不是单元测试,测试自动化本身的一个架构是类似于分层的东西。

相关文章
|
6月前
|
网络协议 安全 测试技术
性能工具之emqtt-bench BenchMark 测试示例
【4月更文挑战第19天】在前面两篇文章中介绍了emqtt-bench工具和MQTT的入门压测,本文示例 emqtt_bench 对 MQTT Broker 做 Beachmark 测试,让大家对 MQTT消息中间 BenchMark 测试有个整体了解,方便平常在压测工作查阅。
493 7
性能工具之emqtt-bench BenchMark 测试示例
|
1月前
|
测试技术
自动化测试项目学习笔记(五):Pytest结合allure生成测试报告以及重构项目
本文介绍了如何使用Pytest和Allure生成自动化测试报告。通过安装allure-pytest和配置环境,可以生成包含用例描述、步骤、等级等详细信息的美观报告。文章还提供了代码示例和运行指南,以及重构项目时的注意事项。
170 1
自动化测试项目学习笔记(五):Pytest结合allure生成测试报告以及重构项目
|
1月前
|
测试技术 Python
自动化测试项目学习笔记(四):Pytest介绍和使用
本文是关于自动化测试框架Pytest的介绍和使用。Pytest是一个功能丰富的Python测试工具,支持参数化、多种测试类型,并拥有众多第三方插件。文章讲解了Pytest的编写规则、命令行参数、执行测试、参数化处理以及如何使用fixture实现测试用例间的调用。此外,还提供了pytest.ini配置文件示例。
26 2
|
1月前
|
测试技术 Python
自动化测试项目学习笔记(二):学习各种setup、tearDown、断言方法
本文主要介绍了自动化测试中setup、teardown、断言方法的使用,以及unittest框架中setUp、tearDown、setUpClass和tearDownClass的区别和应用。
61 0
自动化测试项目学习笔记(二):学习各种setup、tearDown、断言方法
|
6月前
|
JSON 数据可视化 测试技术
性能测试之Artillery(示例及指标)
性能测试之Artillery(示例及指标)
83 2
|
3月前
|
关系型数据库 MySQL OLTP
性能工具之 MySQL OLTP Sysbench BenchMark 测试示例
【8月更文挑战第6天】使用 pt-query-digest 工具分析 MySQL 慢日志性能工具之 MySQL OLTP Sysbench BenchMark 测试示例
283 0
性能工具之 MySQL OLTP Sysbench BenchMark 测试示例
|
4月前
|
测试技术 PHP 开发者
原生php单元测试示例
通过上面的示例,我们可以看到,即使在缺乏专门测试框架的情况下,使用原生PHP代码进行基本的单元测试也是完全可行的。当然,对于更复杂的项目,利用像PHPUnit这样的专业工具将带来更多的便利和高级功能。不过,理解单元测试的基本概念和能够手工编写测试是每个PHP开发者的宝贵技能。
36 4
|
4月前
|
测试技术 PHP 开发者
原生php单元测试示例
通过上面的示例,我们可以看到,即使在缺乏专门测试框架的情况下,使用原生PHP代码进行基本的单元测试也是完全可行的。当然,对于更复杂的项目,利用像PHPUnit这样的专业工具将带来更多的便利和高级功能。不过,理解单元测试的基本概念和能够手工编写测试是每个PHP开发者的宝贵技能。
22 1
|
6月前
|
消息中间件 监控 固态存储
性能工具之 Kafka 快速 BenchMark 测试示例
【5月更文挑战第24天】性能工具之 Kafka 快速 BenchMark 测试示例
428 1
性能工具之 Kafka 快速 BenchMark 测试示例
|
4月前
|
测试技术 PHP 开发者
原生php单元测试示例
通过上面的示例,我们可以看到,即使在缺乏专门测试框架的情况下,使用原生PHP代码进行基本的单元测试也是完全可行的。当然,对于更复杂的项目,利用像PHPUnit这样的专业工具将带来更多的便利和高级功能。不过,理解单元测试的基本概念和能够手工编写测试是每个PHP开发者的宝贵技能。
26 0

热门文章

最新文章