开发者学堂课程【ALPD 云架构师系列:云原生 DevOps 36计-阿里云云效出品:几个测试示例分享】学习笔记,与课程紧密连接,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/772/detail/13520
几个测试示例分享
内容介绍
一、案例演示
一、案例演示
1、案例:alpd-bot-ssh 单元测试
alpd-bot-ssh 存在单测,是一种非常典型的 client 玩法,直接采用 god 单测框架,此服务提供 swh 的接口给外部用户,同时依赖两个 grpc 服务,auth 和 query,在应用内部存在两个方法一个为userAuth和execCmd,如下为userAUth单测的截图,整个结构为;
(1)为 simulated 可以启动一个模拟的 auth sever 因为不可能真的去找server,需要契约约定。
(2)为一个 mork,为其返回一个特定的值,它的 userauth 是什么,做的是什么,才可以返回正确,不然会失败。
(3)为具体验证的kiss
可以将1和2理解为stes,3理解为kiss ,cutdown 可以为此时的 stoff,此为典型的单元测试
以下为契约测试的场景,它和 both 服务存在契约,通过text去模拟契约,数据通过text模拟,所以完成在小容器中一个单测的任务。
2、案例二:alpd-bot-ssh 的端到端的自动化测试
用 alpd-bot-ssh 框架所写的端到端的例子,代码可以在最新的阿里云上下到,在ssh-text 的目录下,左侧为执行结果,包含两个 sever,vt 和 ylar 两个服务对象,每个sever 存在几个测试,描述其是干么的,如:查询本地ip,杭州的天气,这样的测试用例,右上角为整个端到端测试的目录结构,里面存在基本的用例,和资源文件如;PANDER LIBRALY,右下角为用力的本身,用力本身定义了tage和youshenwant,是干什么的,不同的用例,存在不同的laiweng,可以在执行的结果做一个筛选和判断,测试完成后,可以知道laiweng为多少,和可以跑的更快
注意:测试时,用业务的语言去描述,而不应该是一个代码,不应该是一个需求的文档。
一个简单的架构,作为简单的扩展,从实践角度:libary 可能设计 core 和 service同时包括其他涉及到的资源,包括 connection
可以自身思考自动测试化的框架,大体与下图相似